我可以在 Ubuntu 20.04 LTS 上为 Ubuntu 18.04 LTS 安装 Unison 吗?

Fre*_*cal 9 sync unison

我有两台运行 Ubuntu 的机器。一个运行 Ubuntu 18.04 LTS,另一个运行 Ubuntu 20.04 LTS。我想使用unison在它们之间同步文件。我已经以传统方式在它们两个上安装了一致。IE:

sudo apt install unison-all
Run Code Online (Sandbox Code Playgroud)

当我检查安装了哪个版本时,我在两台机器上都得到了这个:

unison version 2.48.4
Run Code Online (Sandbox Code Playgroud)

当我尝试在它们之间同步时,同步失败并且我收到消息:

解组期间的致命错误(输入值:格式错误的消息)可能是因为客户端和服务器已使用不同版本的 OCaml 编译器编译。

当我在/usr/bin/unison-2.48.4两台机器上查看时,我得到:

3377264 Oct 31  2017 /usr/bin/unison-2.48.4 [18.04]
3866920 Feb 16 10:04 /usr/bin/unison-2.48.4 [20.04]
Run Code Online (Sandbox Code Playgroud)

因此,虽然版本号相同,但它们具有不同的大小和不同的时间戳,我的猜测是差异是导致错误的原因。

问题也贴在这里: https //www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg5750379.html - 但还没有解决方案。

异口同声地安装在运行Ubuntu的LTS 18.04同步与精细的机器上齐声2.48.4支持MS Windows 10,所以这是一个我想在Ubuntu 20.04 LTS使用为好。

有没有办法安装unison的版本在 Unison 20.04 LTS 上适用于 Ubuntu 18.04 LTS?

如果“是”,如何?

nie*_*els 13

我认为更好的解决方案是

  1. 清除当前安装
  2. 在 Ubuntu 20.04 LTS 服务器上安装以前的 Debian 版本:
wget http://ftp.fr.debian.org/debian/pool/main/u/unison/unison_2.48.4-1+b1_amd64.deb
sudo dpkg -i unison_2.48.4-1+b1_amd64.deb
Run Code Online (Sandbox Code Playgroud)
wget http://ftp.fr.debian.org/debian/pool/main/u/unison/unison-gtk_2.48.4-1+b1_amd64.deb
sudo dpkg -i unison-gtk_2.48.4-1+b1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

然后将它们置于保持状态aptitude hold unison unison-gtk。按照https://bugs.launchpad.net/ubuntu/+source/unison/+bug/1875475查看何时修复。

  • 我也在用这个,效果很好。三点评论 1. 我现在使用 Ubuntu 18.04 软件包而不是 Debian 软件包:`wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/u/unison/unison_2.48.4-1ubuntu1_amd64.deb sudo dpkg - i unison_2.48.4-1ubuntu1_amd64.deb` 2. `aptitude hold unison` 是强制性的...否则几天后你会得到 2.48.4-4 版本 3. 直到我删除了一致档案( `ar...` 和 `fp...` 文件)由 `~/.unison` 中的 2.48.4-4 版本生成。 (4认同)
  • 谢天谢地,你只需要删除 `fp...`。我不知道那是做什么的,但是 ar 应该跟踪更新的内容而不是更新的内容,所以幸运的是它似乎没有引起太多问题。 (2认同)

Fre*_*cal 7

我发现了一个困难的方法,这显然是常识:Unison不仅对工具本身的版本号非常挑剔,而且对用于编译它的 OCaml 编译器也非常挑剔。看起来将 Ubuntu 20.04 LTS 的二进制文件放在一起的团队使用比以前使用的版本的 OCaml 编译器重新编译,没有考虑向后和跨平台兼容性是主要的同步工具功能。恕我直言,这是一个主要的错误。

我解决这个问题的方法是首先通过apt在 Ubuntu 20.04 LTS 上清除一致,然后使用可以从以下位置下载的静态文件“手动”重新安装它:https : //www.urs-mueller.ch/de/computer /index.htmlunison-2.48.4-linux-i386-text-static.tar.gz

我不是 Ubuntu 向导,所以我不知道这是否是解决此问题的正确方法,但它对我有用,并允许我再次在所有计算机之间进行同步。