기계가 두 대 있어요. 하나는 unison v. 2.40(Debian Jessie)이고 다른 하나는 unison-all
unison 버전 2.32, 2.40 및 2.48을 가져오는 패키지를 설치한 새로운 버전(Debian Stretch)입니다. 그러나 2.48 버전만 제공되기 때문에 2.40을 새 컴퓨터에서 실행할 수 없습니다. 내가 무엇을 하든 나는 다음을 얻습니다.
expected "Unison 2.40\n" but received "Unison 2.48\n\000\000\000\000\017",
unison-all
v.2.40을 명시적으로 제거하고 설치하여 문제를 해결했는데, 이 컴퓨터에서 두 개의 동시 버전의 unison을 사용하려면 어떻게 해야 하는지 궁금합니다.
답변1
나는 이 문제에 직면했고 답을 찾는 데 시간이 걸렸습니다! 그래서 여기에 답이 있습니다. 그것은 저에게 효과적이었습니다.
여러 버전의 unison을 사용하려면 unison-all
다음을 설치하십시오.
여러 버전의 Unison 사용고객
아래와 같이 버전 번호를 추가하여 실행할 특정 버전을 선택하세요.
unison-2.40 ...
또는 최신 버전을 실행하려면 다음을 입력하세요.
unison
여러 버전의 Unison 사용섬기는 사람
-addversionno
다음과 같이 클라이언트 버전의 Unison에 이 태그를 사용하여 서버에서 일치하는 Unison 버전을 호출하도록 지시합니다 .
unison -addversionno
상세 사항은
아직도 받는다면
Fatal error: Received unexpected header from the server
이것 좀 봐해결책.
답변2
설치가 더 쉬워졌습니다.정적 Unison 버전, 모든 클라이언트와 서버가 정확히 동일한 시스템 버전을 갖기를 기대하는 대신.
모든 시스템에서 unison Debian 패키지를 제거하고 모든 곳에서 똑같은 스크립트를 시작했습니다.
#!/bin/bash
set -e
mkdir /tmp/unison
cd /tmp/unison
curl -LO https://github.com/bcpierce00/unison/releases/download/v2.53.4/unison-2.53.4-ubuntu-x86_64-static.tar.gz
tar xvfz unison-2.53*
cd bin
chmod 755 unison unison-fsmonitor
sudo chown root:root unison unison-fsmonitor
sudo mv unison unison-fsmonitor /usr/local/bin/
cd /tmp/
rm -r unison
unison -version
이제 각 클라이언트와 서버는 다음 사항에 동의하므로 함께 대화할 수 있습니다.
❯ unison -version
unison version 2.53.4 (ocaml 4.14.1)
libc, ocaml 또는 패키지 저장에 더 이상 문제가 없습니다! 오래된 서버에서도 최신 Unison 버전을 사용할 수 있습니다.