Как установить Unison 2.40 на Ubuntu 16.04 xenial (для решения "Неустранимая ошибка: полученный неожиданный заголовок")

На других компьютерах у меня установлена ​​версия 2.40.102 для Unison (это последняя доступная версия), а на настольном компьютере Ubuntu 16.04 xenial установлена ​​версия 2.48.3 для Unison.

При попытке синхронизации:

kayd@Trunk:~$ unison . ssh://pi@mizu/.
...
Fatal error: Received unexpected header from the server:
 expected "Unison 2.48\n" but received "Unison 2.40\n\000\000\000\000\017", 
which differs at "Unison 2.40".

Различные источники говорят мне, чтобы установить unison-all, который я сделал, но он содержит только версию 2.48:

kayd@Trunk:~$ ls -l /usr/bin/unison*
lrwxrwxrwx 1 root root      24 Mai 20 22:15 /usr/bin/unison -> /etc/alternatives/unison
lrwxrwxrwx 1 root root      13 Mär 18 16:10 /usr/bin/unison-2.48 -> unison-2.48.3
-rwxr-xr-x 1 root root 2169968 Mär 18 16:10 /usr/bin/unison-2.48.3
lrwxrwxrwx 1 root root      13 Mär 18 16:10 /usr/bin/unison-latest-stable -> unison-2.48.3

Мой вопрос:

Как я могу установить версию 2.40 на xenial?

3 ответа

Решение

Сегодня у меня была такая же проблема: сервер с raspbian (unison 2.40) и двумя клиентами (Ubuntu 14.04 / unison 2.40 и Ubuntu 16.04 / unison 2.48).

Из-за raspbian я не смог (легко) обновить до 2.48 на сервере. Но копирование 2.40-двоичных файлов из Ubuntu 14.04 в Ubuntu 16.04 сработало:

ubu1604# cd /usr/bin; sudo scp -p ubu1404:/usr/bin/unison-2.40.102* .

Вы можете позвонить unison-2.40.102 направить или изменить ссылки /etc/alternatives/unison* в соответствующие двоичные файлы.

Редактировать:

После обновления с 14.04 до 16.04 на моей второй машине у меня снова возникла проблема, и получение и установка файла.deb помогли благодаря kay_D.

Изменение только ссылок в /etc/alternatives не было достаточным, так как соответствующий файл.desktop вызывал двоичный файл unison напрямую. Поэтому я изменил /usr/share/applications/unison-gtk.desktop

Exec=unison-gtk

(Иногда я предпочитаю вызывать программы не из терминала, а из меню)

Я нашел файл deb здесь, который предназначен для trusty, но, по-видимому, работает в любом случае, скачал 64-битную версию и использовал

sudo dpkg --install ./unison-gtk_2.40.102-2ubuntu1_amd64.deb

установить. На основании ответа Ридги я использую unison-2.40-gtk вызвать унисон для синхронизации с моим RaspberryPis

Да, версии Unison, которые вы используете, должны быть идентичны. Это связано с тем, что формат архивного файла, который Unison использует для отслеживания материала, улучшается в каждой новой версии.

Если вы действительно хотите установить 2.40 на Xenial, просто скачайте исходный код для Unison, скомпилируйте его с помощью OCaml и установите его.

Хотя я бы порекомендовал установить более новую версию Unison на другой компьютер.

Другие вопросы по тегам