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

Taiki Kimura taikimura8182 @ gmail.com
2013年 7月 28日 (日) 09:20:50 JST


湯浅さん

木村です。

詳細なご説明ありがとうございます!


> (多少、不正確部分あると思います。イメージ的に理解していただける良いのですが。。)
>
>> /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行き来すると、いつもどっちだかわからなくなります。。

これ、紛らわしいですね。気をつけます。


ありがとうございました!

>
> 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 メーリングリストの案内