Предположим, вы используете BitTorrent-клиент transfer-gtk (v2.94) в системе Linux для заполнения некоторых файлов, например ISO-образов дистрибутива Linux и версий LibreOffice. Предположим, что базовая функция «Сохранить в местоположение»: /path1/torrents
а неполный путь торрентов — /path1/torrents/incomplete
.
Теперь предположим, что вы закрыли Transmission-gtk и переименовали /path1
к /path2
(и не связывайте старый путь символическим с новым).
Изменить местоположение будущих торрентов просто с помощью диалогового окна конфигурации приложения или в $HOME/.config/transmission
. Однако, когда это делается, все ранее активные торренты теперь помечаются красным, а данные предположительно отсутствуют.
Что делать, чтобы исправить расположение существующих торрентов (полных и неполных)? И — можно ли это как-то автоматизировать, чтобы это можно было сделать из командной строки (например, для файлов в $HOME/.config/transmission/resume
)?
2 ответа
Щелкните торрент правой кнопкой мыши, нажмите «Установить местоположение» и выберите новый родительский каталог (/path2/torrents
в таком случае). Вы можете сделать это для всех торрентов сразу, если все они были перемещены в один каталог.
После обновления местоположения щелкните правой кнопкой мыши еще раз и выберите «Проверить локальные данные», чтобы позволить Transmission повторно проверить, какие файлы / части уже были загружены.
Это можно автоматизировать из интерфейса командной строки, но сначала включите функцию «веб-интерфейс» в Transmission, которая также позволяет использовать transmission-remote
.
Для каждого торрента запустите transmission-remote --find
с новым родительским каталогом.
Файлы в ~ / .config / Transmission / resume / находятся в том же формате «Bencode», что и сами файлы .torrent, и их, вероятно, можно изменить, например, с помощью Perl Convert :: Bencode или очень осторожного sed’ing, но я не уверен, что рекомендую этот метод.
Вы хотите обновить элемент «назначение» в слове верхнего уровня:
$ bencode2json < 16a3968b347a81845384394e7f1b38656aeee97a.resume | head
{
"activity-date": "1619012434",
"added-date": "1619011497",
"bandwidth-priority": "0",
"corrupt": "0",
"destination": "/home/xxx/Downloads",
"dnd": [
...
(Если вы идете с прямым двоичным редактированием, обратите внимание, что строки Bencoded имеют префикс с их длиной, которая также должна быть обновлена, например 19:/home/xxx/Downloads
в таком случае.)
Дополнение к отличному ответу @ user1686: вы можете обновить расположение всех торрентов сразу:
- Выберите «Все» и «Все» на панели «Показать:» (чтобы были видны все торренты).
- Нажмите Ctrl + A, чтобы выбрать все видимые торренты.
- Щелкните правой кнопкой мыши любой из выбранных торрентов.
- Выберите «Установить местоположение».
- Выберите «Другое».
- Перейдите в новую папку для торрентов (в вашем случае «/ path2 / torrents»).
- Выберите «Локальные данные уже есть».
- Нажмите «Применить».
- Подождите, пока обновятся торренты.
- Когда диалоговое окно исчезнет, перезапустите Transmission-gtk.
Все ваши торренты должны быть признаны возобновляемыми. Однако вам все равно нужно возобновить их — они автоматически приостанавливаются, если данные не могут быть найдены.
Когда торренты содержат несколько файлов, они помещаются в подкаталог в
torrents/
. Должен ли я или не должен включать специфичный для торрента подкаталог при выборе нового корня?— эйнпоклум
11 часов назад
Нет, во всех случаях следует выбирать только родительский каталог. Подкаталог является частью «содержимого» торрента.
— user1686
11 часов назад