mirrors 的源有一些没有更新,原因是使用了过期的 SSD cache。SSD cache 本来会与源目录同步,不幸的是 SSD 满了。撑满 SSD 的原因是同步时没有删除已经不在缓存文件列表中的文件,这又是因为我对

rsync --delete --file-list

的理解有误。我以为这样会删除源目录中不在 file-list 中的文件,事实上不会。

改成了根据缓存文件列表生成符号链接到临时目录,再同步文件到 SSD:

rsync --delete --copy-links $TMP_LINK_ROOT/ $SSD_CACHE_ROOT/

commit: https://gitgeek.net/mirrors/ssd-cache/commit/6602b3b47d55d47d2185a9ed8ad1220a54cd905a