Transmission 2.94升级3.00 跳过启动校验
前言
将transmission升级到了3.00,发现每次启动都会对升级前的旧种子重新校验,然后就是数十个小时的校验过程,实在让人头大。经过多次尝试,终于找到可以跳过启动校验(只校验一次)的方法了,现记录如下。
教程
transmission在3.00使用40位hash记录种子文件的信息(之前是16位),在torrents和resume文件夹中新生成的文件都是用40位hash值命名的。要解决每次启动都重复校验的问题,需要将旧种子的信息更新。主要有以下几步:
- 等待transmission第一次校验完生成新的40位hash命名的resume文件并将旧种子的的resume文件删除
- 将对应的旧种子的torrent文件更名为相同的40位hash。
等待初次校验完成
等待校验完成并删除旧resume文件(很好分辨,2.94版本是【种子名+前16位hash】的命名方式,而3.0版本生成的新resume文件都是【40位hash】命名方式)
对旧torrent文件重命名
停止docker中的transmission服务,将旧torrent文件重命名为新40位hash形式。
因为旧torrent文件名称包含前16位hash,所以可以直接将16位hash字符串与resume文件夹内所有文件进行匹配,如果匹配上前16位,则修正命名。
写了段代码解决命名问题:
1 | import os |
运行结果如下,一切顺利。
启动transmission,可以看到已经没有在校验了。
注意事项
- 在操作前备份好torrents和resume文件夹
- 初次校验完成后建议停止transmission服务后再操作。
参考资料
【原创】Transmission 手动跳过校验 教程.md
Move a half downloaded file from Android to Windows/Linux
Reinstall Transmission and moving data to avoid torrent recheck
Transmission 2.94升级3.00 跳过启动校验
https://sunjx97.github.io/posts/402aacbe/