Rsync между Ubuntu и Mac: как получить iconv опцию работать

Я обычно копирую между двумя машинами Ubuntu, но я теперь хочу использовать rsync для резервного копирования моего сервера Ubuntu с диском, находящимся на Mac. Но я не заставляю это работать правильно.

В первый раз все хорошо, но по-видимому существует проблема со специальными символами между Mac и машиной человечности с каждого раза, когда я выполняю rsync операцию после этого, файлы со специальными символами сначала удаляются и затем повторно синхронизируются. Кажется, как будто существует проблема с различными наборами символов.

Предпочтительное решение, кажется, для использования --iconv опция:

Можно использовать rsync's - iconv опция преобразовать между UTF-8 NFC & NFD, по крайней мере, если Вы находитесь на Mac. Существует специальный utf-8-mac набор символов, который обозначает UTF-8 NFD. Таким образом для копирования файлов от Mac до NAS необходимо было бы выполнить что-то как:

rsync -a --iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/

Это преобразует все локальные имена файлов от UTF-8 NFD до NFC UTF-8 на удаленном сервере. Содержание файлов не будет затронуто.

Это звучит как все и хорошо, но мой Mac, кажется, не распознает, что опция, так как я добираюсь:

>     MyMachine:~ Macuser$ /usr/bin/rsync -av --delete --iconv=utf-8,utf-8-mac user@linuxmachine:/home/linuxuser/Test/ /Users/Macuser/Test/
>     rsync: --iconv=utf-8,utf-8-mac: unknown option
>     rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-42/rsync/main.c(1333) [client=2.6.9]

Какие-либо предложения о том, как эта проблема должна быть решена?

Отметьте, как, возможно, немного скрыт в 'примере кода' выше, rsync версия на моем Mac 2.6.9.

Править: Хотя Jan решил эту проблему (см. мой отмеченный ответ), я все еще не вполне там, так как я теперь получаю новую ошибку:

iconv_open("UTF-8", "utf-8-mac") failed
rsync error: requested action not supported (code 4) at rsync.c(118) [sender=3.0.9]
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]

Я сделаю отдельный запрос для этого дальнейшего вопроса, как бы то ни было.

1
задан 13 April 2017 в 15:25

1 ответ

OS X 10.5 имеет rsync 2.6.9, но iconv опция только доступна в rsync 3.x....

Для обновления rsync на Mac Вы могли использовать macports ( инструкции по установке ).

А Macport (и Домашнее пиво) учебное руководство доступно здесь .

3
ответ дан 7 December 2019 в 12:49

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

Похожие вопросы: