Я пытаюсь rsync между коробкой Linux и MacOS.
MacOS (yosemite), кажется, поставляется со старой версией rsync, поэтому я обновил ее, используя homebrew. Хорошо, у меня, кажется, есть идеально подходящие версии:
wim@wim-imac:~$ rsync --version | head -n 1
rsync version 3.1.1 protocol version 31
wim@wim-imac:~$ ssh wim@wim-dell
wim@wim-dell:~$ rsync --version | head -n 1
rsync version 3.1.1 protocol version 31
Если он "вытягивает" из окна MacOS (то есть место назначения локальное, а источник удаленный), он работает:
wim@wim-imac:~$ rsync -nvvvv wim@wim-dell:/media/wim/wim_2tb/guitar /Volumes/wim2TB/guitar | grep Protocol
(Server) Protocol versions: remote=31, negotiated=31
(Client) Protocol versions: remote=31, negotiated=31
Но если он перемещается из окна исходного кода (linux) в mac, то теперь возникает небольшая проблема - несоответствие протокола.
wim@wim-imac:~$ ssh wim@wim-dell
wim@wim-dell:~$ rsync -nvvvv /media/wim/wim_2tb/guitar wim@wim-imac:/Volumes/wim2TB/guitar | grep Protocol
(Server) Protocol versions: remote=31, negotiated=29
(Client) Protocol versions: remote=29, negotiated=29
Таким образом, симптомом этого является то, что, поскольку мы договорились о протоколе наименьшего общего знаменателя 29, я не получаю поддержки --iconv
и любые имена файлов с забавными символами облажаются .
wim@desk35:~$ rsync -nv --iconv=UTF-8,UTF8-MAC /media/wim/wim_2tb/guitar wim@wim-imac:/Volumes/wim2TB/guitar
rsync: on remote machine: --iconv=UTF8-MAC: unknown option
rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-45/rsync/main.c(1333) [server=2.6.9]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
Я искал любой тип rsyncd
для запуска, который мог бы работать на Mac с использованием ps aux
, ps -ef
, но я не смог его найти.
Почему компьютер mac выбирает старую версию протокола при обращении с удаленного компьютера, и как я могу заставить ее использовать более новую версию rsync, которую я установил?