移动下载目录后,如何“修复”我的 transmission-gtk 状态?

移动下载目录后,如何“修复”我的 transmission-gtk 状态?

假设您在 Linux 系统上使用 transmission-gtk BitTorrent 客户端 (v2.94) 来播种某些文件,例如 Linux 发行版 ISO 和 LibreOffice 版本。假设基本的“保存到位置”是:/path1/torrents而不完整的种子路径是/path1/torrents/incomplete

现在假设您关闭 transmission-gtk,并重命名/path1/path2(并且不要将旧路径符号链接到新路径)。

使用应用程序的配置对话框或在 中更改未来种子的存储位置非常简单$HOME/.config/transmission。但是,当执行此操作时,所有之前活动的种子现在都标记为红色,数据据称丢失。

应该怎么做才能更正现有种子(完整和不完整)的位置?并且 - 是否可以以某种方式自动执行此操作,以便可以从命令行完成(例如在 中的文件上$HOME/.config/transmission/resume)?

答案1

右键点击 torrent,点击“设置位置”并选择新的父目录(/path2/torrents在本例中)。如果所有 torrent 都移动到同一个目录,您可以同时对所有 torrent 执行此操作。

更新位置后,再次右键单击并选择“验证本地数据”以让 Transmission 重新检查已下载的文件/部分。


这可以通过 CLI 自动完成 - 但首先要启用 Transmission 中的“web UI”功能,这也允许您使用transmission-remote

对于每个 torrent,transmission-remote --find使用新的父目录运行。


~/.config/transmission/resume/ 中的文件与 .torrent 文件本身采用相同的“Bencode”格式,并且它们可能可以使用 Perl 的 Convert::Bencode 或非常小心的 sed 进行修改,但我不确定是否推荐该方法。

您可能想要更新顶级字典中的“目标”项:

$ 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在这种情况下。)

答案2

对@user1686 的精彩回答的补充:您可以一次更新所有种子的位置:

  • 在“显示:”栏中选择“全部”和“全部”(这样所有种子都可见)。
  • 按 Ctrl+A 选择所有可见的种子。
  • 右键单击任意选定的种子。
  • 选择“设置位置”。
  • 选择“其他”。
  • 导航到新的 torrents 文件夹(在您的情况下为“/path2/torrents”)。
  • 选择“本地数据已存在”。
  • 点击“应用”。
  • 等待一段时间,种子就会更新。
  • 当对话框消失后,重新启动 transmission-gtk。

您的种子文件应该全部被识别为可恢复的。不过您仍然必须真正地恢复它们 - 如果找不到数据,它们会自动暂停。

相关内容