![Ubuntu と Mac 間の Rsync: iconv オプションを機能させる方法](https://rvso.com/image/1083714/Ubuntu%20%E3%81%A8%20Mac%20%E9%96%93%E3%81%AE%20Rsync%3A%20iconv%20%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E6%A9%9F%E8%83%BD%E3%81%95%E3%81%9B%E3%82%8B%E6%96%B9%E6%B3%95.png)
私は通常、2 台の Ubuntu マシン間でバックアップを行いますが、今度は rsync を使用して、Mac 上にあるディスクで Ubuntu サーバーをバックアップしたいと考えています。しかし、うまく動作しません。
最初はすべて順調ですが、その後 rsync 操作を実行するたびに、特殊文字を含むファイルが最初に削除され、その後再同期されるため、どうやら Mac と Ubuntu マシン間の特殊文字に問題があるようです。異なる文字セットに問題があるようです。
の推奨される解決策このオプションを使用するようです--iconv
:
少なくとも Mac を使用している場合は、rsync の --iconv オプションを使用して、UTF-8 NFC と NFD を変換できます。UTF-8 NFD を表す特別な utf-8-mac 文字セットがあります。したがって、Mac から NAS にファイルをコピーするには、次のようなコマンドを実行する必要があります。
rsync -a --iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/
これにより、リモート サーバー上のすべてのローカル ファイル名が UTF-8 NFD から UTF-8 NFC に変換されます。ファイルの内容は影響を受けません。
それはすべてうまくいっているように思えますが、私の 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]
この問題を解決する方法について何か提案はありますか?
注意: 上記の「コード サンプル」では少し隠れているかもしれませんが、私の Mac の rsync バージョンは 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]
私が行います別のクエリしかし、このさらなる質問については。