Как установить 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 на другой компьютер.