[netatalk-ja:0387] Re: rsync -Eでもコピーされない._ファイルについて

Taiki Kimura taikimura8182 @ gmail.com
2014年 9月 24日 (水) 20:10:34 JST


HATさん

木村です。ご確認とご連絡ありがとうございます。

> 実運用しているサーバのafp.confを見せてください。

添付しました。
ディレクトリ名など一部情報を当たり障りないものに変更しています。


> サーバ側のファイルシステムが拡張属性に対応していない場合、
> netatalk 3.xはnetatalk 2.xに似た動作をします。
> すなわち.AppleDoubleディレクトリを作り、その中にAppleDouble Header fileを
> 作ります。
> このAppleDouble Header fileの中にFinder InfoとResource Forkが格納されます。
>
> そちらのサーバの場合、Netatalkが*クライアント側*の拡張属性に対応していない
> 状態になっているようです。
> この場合、OS Xは拡張属性を保存する場所がないので、「._」で始まる
> AppleDouble Header fileを作り、その中に保存します。
> 既にみている通り、Finder InfoはオールゼロでResource Forkはダミーであり、
> 拡張属性が保存されています。
>
> つまり、Finder InfoもResource Forkも拡張属性も保存されている可能性が
> 高いです。
> rsyncでnetatalkからOS Xにコピーしたとき、「._」で始まるファイルの中に
> 保存されている拡張属性が、HFS+上では本物の拡張属性になります。
> したがって、「._」で始まるファイルはHFS+上に存在しなくて問題ありません。

なるほど。そういうことなんですね。

> 正しくコピーできているか確認するには、
> netatalk側ではapple_dump、OS X側ではxattr -p を使ってください。
> これらを比較して内容が同じであれば正しくコピーできています。


OS Xから試しに実行してみましたが、$ xattr -p dev_basicだと何も表示されないファイルが、
$ xattr -l dev_basicだと、apple_dumpと似たような情報がコンソールに出力されました。

$ xattr -l dev_basic
com.apple.FinderInfo:
00000000  54 45 58 54 4D 4D 4B 45 00 00 00 00 00 00 00 00  |TEXTMMKE........|
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000020
com.apple.ResourceFork:
00000000  00 00 01 00 00 00 05 08 00 00 04 08 00 00 00 32  |...............2|
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|

省略しましたがこんな感じのデータです。



> 色々と設定を変えてテストしているようですが、実運用しているサーバの
> 設定は変更しないでください。
> Netatalk 2からNetatalk 3への自動変換はある程度対応していますが、
> 設定変更の場合は自動変換できません。
>
> サーバ側のファイルシステムを拡張属性非対応から対応に変更すると、
> メタデータの保存方法が変わってしまい、うまく変換できません。
> 今回の場合、「._」で始まるファイルの中の拡張属性が変換できず喪失すると
> 思います。

そうすると、現状の拡張属性非対応の状態でNetatalk3.xを、
Netatalk2.xに似たような動作のままで利用しつづけなければならない、
ということになるのでしょうか??

素人発想として、どこかで、CentOS側で拡張属性を有効にし、
Netatalk3.xのデフォルトの動作で利用したほうがよいのでは??
と思っているのですが、それはできない、ということなのでしょうか?


> また、「appledouble =」や「ea =」も変更しないでください。
> これらのパラメータはデフォルトで最良な状態になるように設計されているので、
> 使わないのが一番ですが、もし既に設定しているなら変更しないでください。

問題のサーバでは、appledoubleは指定しておらず、eaはautoにしていまして、
それはそのままで変更していません。


> あと、ログをみるようにしてください。
> サーバ側のファイルシステムが拡張属性に対応していない場合、以下のような
> ワーニングが出ていると思います。
>
> volume "XXX" does not support Extended Attributes or read-only volume

こちら、そのままずばりのメッセージで問題サーバのnetatalkのログに記録されておりました。


> それから、色々とググって調査されたようですが、オススメのページは
> 以下の場所で紹介しています。
> http://hatx.blog.so-net.ne.jp/netatalk_status
> 世の中には間違った記述をしているページも多いですが、そういうページには
> リンクしていません。
>
> CentOSに関しては以下のページをどうぞ。
> http://netatalk.sourceforge.net/wiki/index.php/Netatalk_3.1.6_SRPMs_for_Fedora/RHEL/Scientific_Linux/CentOS
> 拡張属性の件も書いています。

ご紹介ありがとうございます!!少しずつ確認してみます。
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: afp_conf
型:         application/octet-stream
サイズ:     1052 バイト
説明:       無し
URL:        </mailman/archives/netatalk-ja/attachments/20140924/d3f1e64d/attachment.obj>


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