最近、Macのファイルシステムを大文字と小文字を区別するように変更して、大文字と小文字を完全に区別する必要がありました。CCCを使用してデータを別のディスクにコピーしてから、新しくフォーマットされたメインディスクに戻しました。
今、私は、FreeBSDベースのNASでホストされ、AFPを介してエクスポートされた古いTime MachineディスクでTime Machineバックアップを実行したいと思っていました。ただし、Time Machineにはまだ大文字と小文字を区別しないfsがあるため、ファイルシステムが一致しないというエラーが発生します。今回は、Time Machineボリュームのファイルレベルのコピーをサポートしていないため、CCCを使用できません。
当然、私はそのままrsyncを使用しましたが、問題が発生します。
/usr/local/bin/rsync --super -aEHAXNvx --fileflags --delete /Volumes/Time\ Machine\ Backups/ /Volumes/NewDisk/
でBackups.backupdb/<machinename>
、フォルダに到達するとすぐに文句を言い始めますfailed to set permissions, operation not permitted
。ここでの問題は、ACLのコピーです。これは非常に制限的です。
ll -dle /Volumes/Time\ Machine\ Backups/Backups.backupdb/<machinename>/
drwxr-xr-x@ 19 root staff 646 Dec 23 09:38 /Volumes/Time Machine Backups/Backups.backupdb/<machinename>/
0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
そのため-A
、上記のコマンドから削除しました。rsyncはGBのデータを喜んで移動しています。
残念ながら、ACLも保持したいと考えています。それはどういうわけか可能ですか?OS Xにはgetfacl / setfaclがないため、の出力を解析しないようにしたいと思いls -le
ます。ここでの解決策として私が見ているのは、rsyncにACLを「逆方向」に適用するように指示することです。つまり、リーフファイルからディレクトリまで適用しますが、オプションはありません。