[netatalk-ja:0248] Re: Mac OS X serverからのrsyncでのデータコピーで不具合

Kyo sixty7kyo_19 @ rock.odn.ne.jp
2013年 7月 27日 (土) 01:20:56 JST


あらら、レスかぶっちゃいましたね(^_^;)
HATさんのほうが正確でわかりやすいですね。


> 話が最初に戻りますが、
> 「netatalkを使うのなら、CentOSとMac間のコピーはnetatalkのみで行なってください。」
> ということですよ。
> 
> AFPは外部の資源がローカルのHFS+と同じく見えるようにする為のプロトコルです。
> OS XがAFPでボリュームをマウントすると、ご存知のとおりコマンドラインからは、
> /Volumes/ボリューム名/
> というパスに見えます。
> Core Foundationのような高級なものがどうなっているかは別として、
> Unixのような低級な仕組みの場合、それは単なるローカルのパスです。
> OS X上のrsyncはUnix系のツールですから、、ローカルパスからローカルパスに
> 転送しているつもりになっています。本当はネットワーク上の別のシステムです
> が、そんなことには気付いてないでしょう。
> ローカルパスからローカルパスへの転送ならば、OS Xの独自ルールが適用できます。




Kyo
sixty7kyo_19 @ rock.odn.ne.jp



On 2013/07/27, at 0:56, Kyo <sixty7kyo_19 @ rock.odn.ne.jp> wrote:

> 湯浅です。
> こんばんわ。
> 
> (多少、不正確部分あると思います。イメージ的に理解していただける良いのですが。。)
> 
>> /usr/bin/rsync -aE -8 "/usr/bin/ssh -i /var/root/.ssh/xxx_key" /hoge/
>> root @ CentOS6.4server:/Netatalkのボリューム
> 
> この場合は、rsyncプロトコルだけで経由して、バックアップします。
> 
> OSX Server → (rsyncプロトコル)→ CentOS
> 
> この場合-Eをつけても、rsyncプロトコルがResourceForkなどを理解できません。
> (※というか10.4〜10.5までのrsyncは、osxのrsyncがResourceForkを分けて送ってると
> 思います。10.3くらいのrsyncはResourceForkをコピーできません。相手側のrsyncは分けて受信した
> ResourceForkを保存する術がありません。)
> 
> ResourceForkやOSX固有のメタ情報を含めて、CentOSにバックアップするためには
> Netatalkボリュームを介すしかありません。
> 
> OSX Server → (rsyncコマンド)→  (Netatalk)CentOS
> こうするとNetatalkボリュームはResourceForkを保存できるので、
> 分けて送ったものを保存します。(バックアップ先がsmbなら、._で始まるファイルで保存します。)
> (※vオプションをつけて、rsyncの状況を見ると10.4では、ResourceForkとDataForkを分けて送って
> いました。その際の表示は._で始まるファイルです。差分をとると、ResourceForkは必ず全部送信されて
> 差分にならなかったと記憶しています。10.4も初期のrsyncにはバグがあったり、最終的な実装はわかりませんが。。
> 10.8はResourceForkをどう処理してますかね?あとでやって見ます。)
> 
> 
>> ちなみにですが、CentOS6.4serverのNetatalkボリュームを10.5.8 Macからafpマウントすると「-E」が使える理由ですが、
>> CentOSのNetatalkボリュームをafpでマウントするとrsyncが10.5.8 Macのものしか使わないから、という理解で正解なのでしょうか?
>> お分かりになるようでしたらアドバイスいただけますと幸いです。
> 
> ということで、上記理解で正解だと思います。
> 
> ちなみに-EはMacOSのrsync固有のオプションです。
> -E, --extended-attributes(10.8のmanで確認しました。)
>              Apple specific option  to  copy  extended  attributes,  resource
>              forks,  and  ACLs.   Requires at least Mac OS X 10.4 or suitably
>              patched rsync.
> 
> CentOSでuser_attrとaclをバックアップする場合は
> -AXです。(Fedora17で確認)
> -A, --acls                  preserve ACLs (implies -p)
> -X, --xattrs                preserve extended attributes
> 
> 
> これ紛らわしくて、OSXとCentOS行き来すると、いつもどっちだかわからなくなります。。
> 
> 
> Kyo
> sixty7kyo_19 @ rock.odn.ne.jp
> 
> 
> 
> On 2013/07/26, at 14:51, Taiki Kimura <taikimura8182 @ gmail.com> wrote:
> 
>> HATさん
>> 
>> 
>>>> 私の環境の10.5.8のMacからlinuxサーバへ-Eオプション付きでrsyncできないですね。
>>>> rsync: on remote machine: --extended-attributes: unknown option
>>>> 
>>>> こういうエラーメッセージがでてrsync失敗します。
>>> 
>>> これは、AFPを経由せず、rsyncの独自プロトコルで転送を試みたということですか。
>>> だとすると、検証する意味がありません。やるだけ無駄です。
>>> もしコピーに成功したとしても、メタデータの扱い方が異なるので、
>>> netatalkで運用できません。
>> 
>> 
>> 私の環境の10.5.8 Macからlinuxサーバへ-Eオプション付きでrsyncできないという件ですが、
>> ご推察の通り、AFPを経由せずrsync+sshでコピーを試みた時に発生いたしました。
>> 
>> 
>> /usr/bin/rsync -aE -8 "/usr/bin/ssh -i /var/root/.ssh/xxx_key" /hoge/
>> root @ CentOS6.4server:/Netatalkのボリューム
>> 
>> ちなみにですが、CentOS6.4serverのNetatalkボリュームを10.5.8 Macからafpマウントすると「-E」が使える理由ですが、
>> CentOSのNetatalkボリュームをafpでマウントするとrsyncが10.5.8 Macのものしか使わないから、という理解で正解なのでしょうか?
>> お分かりになるようでしたらアドバイスいただけますと幸いです。
>> 
> 



netatalk-ja メーリングリストの案内