我刚刚在遭受磁盘损坏后重建了我的文件服务器。当我尝试使用 Unison 重新同步数据时,收到错误消息
与服务器失去连接
我从命令行重试并得到:
~$ unison someprofile -ui text
Contacting server...
Unison failed: Fatal error: Error in creating unison directory /home/user/.unison:
File exists [mkdir(/home/user/.unison)]
Fatal error: Lost connection with the server
我可以打开到服务器的 SSH 连接。客户端和服务器都运行相同的 Unison 版本。这是怎么回事?
答案1
与服务器失去连接并不一定意味着网络问题 – 它还可能意味着远程 Unison 实例出于某种原因终止了连接。 (由于 Unison 设计用于与不同的 SSH 后端配合使用,因此没有可靠的方法来获取有关连接终止原因的更多详细信息。)
至少从 Unison 2.52 开始,GUI 应该显示来自服务器的任何错误消息。
对于旧版本的用户,以文本模式运行一致,即
unison <profile> -ui text
其中<profile>
等于任何配置文件(*.prf
本地.unison
目录中的文件,减去.prf
扩展名),将为您提供详细的错误消息。
Contacting server
这里,之后和之前的行Fatal error: Lost connection with the server
是我们从远程系统得到的错误:它尝试在 at 创建一个目录~/.unison
(因为该路径上没有目录)但失败,因为该路径上有另一个文件系统对象。
在这种情况下,~/.unison
服务器上的符号链接损坏,因为我将该.unison
目录放置在与主目录不同的文件系统上。解决方案是修复该符号链接(即在符号链接指向的路径处重新创建目录)。