我有一个运行 Raspbian 的文件服务器和一个运行 Ubuntu MATE 16.04 的工作站。我使用 Unison 来保持我的主目录同步。我已将其设置为使用 SSH 连接。
工作站运行Unison 2.48;服务器有多个版本(包括2.48)。我已经通过这种方式成功地将一些更改从工作站传播到服务器。
现在我修改了服务器上的一个文件。Unison 会查找更改并正确建议使用服务器上的文件更新本地副本。
但是,当我点击去,我收到以下错误:
Fatal error
Lost connection with the server.
Unison 设置如下:
# Unison preferences
label = Home dir
root = /home/me
root = ssh://me@fileserver//srv/file/me
sshargs = -C
addversionno = true
dontchmod = true
perms = 0
path = Documents
path = Pictures
一般配置问题(服务器上缺少 Unison 版本、错误路径等)不太可能,因为正在检测到更改,并且我已多次同步数据(始终是工作站到服务器)。这只是服务器到工作站的场景失败了。
我决定“牺牲”对新文件的编辑,并选择用过时的本地版本替换服务器版本。令人惊讶的是,同步运行成功完成 - 除非服务器端发生更改,否则一切正常。
这里发生了什么事?
答案1
我们也遇到了这个问题 - 我们找到了一个适合我们的解决方案,那就是在另一端安装 Unison - 参考:https://ubuntuforums.org/showthread.php?t=1733811
答案2
我遇到了同样的问题,但后来有了流浪汉环境和我已经在双方安装了一致。
修复很简单,vagrant halt
而且vagrant up
修复是为了我
答案3
我认为这是一个解决方案:
注意-这通常是因为 /etc/sshd_config 中的 PermitUserEnvironment 选项设置为“no”(例如,MacOSX 附带此设置为“NO”)。您应该能够将其设置为“是”,一切都会很顺利。 https://alliance.seas.upenn.edu/~bcpierce/wiki/?n=Main.UnisonFAQTroubleshooting
但只在我的机器上sshd_config
放置/etc/ssh
答案4
我遇到了完全相同的问题(使用 Mint 18.2 KDE 版本)。我看来是为这个版本的 Linux Mint 编译的 Unison 版本有问题。使用 Debian 存储库中的 Unison 解决了这个问题。
我从以下位置下载了软件包“unison-gtk_2.48.3-1_amd64.deb”Debian 软件包存储库,并手动安装新的二进制文件(在正确的位置提取文件)并使用 Debian 替代方案让 Mint Unison 和 Debian Unison 共存。可能有一种更聪明的方法可以在 Mint 上安装 Debian 软件包,但这是一种快速的概念验证。