我想在两台笔记本电脑上保留一个共同的同步文件夹。(由于有很多媒体文件等,所以不能使用 git,但另一方面,需要协调的更改很少。)
最简单的方法似乎是在每台计算机上保留该文件夹的副本,并将其保存在可以插入其中任意一台计算机的外部硬盘上。
为了同步它们,我想使用 unison。
一切正常,只是我反复收到错误消息:
未找到这些根目录的存档文件等
因此 Unison 会从头开始重新扫描所有内容,这需要很长时间
然而,当它确实重新扫描时,它似乎总是做正确的事情。
我猜我做错了什么。这可能与 unison 有关吗?我需要做什么才能让它识别出这是一个外部驱动器和两个本地文件夹并做出适当的行为?
答案1
Unison 存档文件存储在~/.unison/ar*
您同步的两个绝对路径的哈希值中,并以该哈希值命名(可以在文件本身中以文本形式看到)。您需要确保外部磁盘始终安装在同一位置。
重要的是,路径包括主机名(以帮助通过 SSH 进行同步),因此如果计算机的主机名发生变化(例如由于 DHCP 分配了新的主机名),则所有旧的存档文件将不再被识别。
无论如何,请调查存档文件丢失的原因,和/或继续更改它们的名称。尽管它们是二进制文件,但您仍然可以运行head
或strings
查看显示每个存档文件的两个路径的文本标题。