Rsync zwischen Ubuntu und Mac: So funktioniert die Option iconv

Rsync zwischen Ubuntu und Mac: So funktioniert die Option iconv

Normalerweise sichere ich zwischen zwei Ubuntu-Rechnern, aber jetzt möchte ich rsync verwenden, um meinen Ubuntu-Server mit einer Festplatte auf einem Mac zu sichern. Aber ich bekomme es nicht richtig zum Laufen.

Beim ersten Mal ist alles in Ordnung, aber anscheinend gibt es ein Problem mit Sonderzeichen zwischen dem Mac- und dem Ubuntu-Rechner, da jedes Mal, wenn ich danach den rsync-Vorgang ausführe, die Dateien mit Sonderzeichen zuerst gelöscht und dann erneut synchronisiert werden. Es scheint, als gäbe es ein Problem mit unterschiedlichen Zeichensätzen.

Derbevorzugte Lösungscheint die Verwendung der --iconvOption zu sein:

Sie können die Option --iconv von rsync verwenden, um zwischen UTF-8 NFC und NFD zu konvertieren, zumindest wenn Sie einen Mac verwenden. Es gibt einen speziellen utf-8-mac-Zeichensatz, der für UTF-8 NFD steht. Um Dateien von Ihrem Mac auf Ihr NAS zu kopieren, müssen Sie also etwas wie Folgendes ausführen:

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

Dadurch werden alle lokalen Dateinamen auf dem Remote-Server von UTF-8 NFD in UTF-8 NFC konvertiert. Der Inhalt der Dateien wird dadurch nicht beeinflusst.

Das klingt ja alles schön und gut, aber mein Mac scheint diese Option nicht zu erkennen, denn ich erhalte die folgende Meldung:

>     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]

Irgendwelche Vorschläge, wie dieses Problem gelöst werden könnte?

Beachten Sie, dass die Rsync-Version auf meinem Mac 2.6.9 ist (was im obigen „Codebeispiel“ vielleicht ein wenig versteckt ist).

EDIT: Obwohl Jan dieses Problem gelöst hat (siehe meine angekreuzte Antwort), bin ich noch nicht ganz am Ziel, da ich jetzt eine neue Fehlermeldung erhalte:

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]

ich werde macheneine separate Abfragefür diese weitere Frage jedoch.

Antwort1

OS X 10.5 hat rsync 2.6.9, aber die Option iconv ist nur in rsync 3.x verfügbar....

Um rsync auf Ihrem Mac zu aktualisieren, können Sie macports verwenden (Installationsanleitung).

Ein Macport- (und Homebrew-)Tutorial ist verfügbarHier.

verwandte Informationen