[netatalk-ja:0385] Re: rsync -Eでもコピーされない._ファイルについて
Taiki Kimura
taikimura8182 @ gmail.com
2014年 9月 22日 (月) 18:23:31 JST
連続の投稿ですみません。木村です。
その後、もう一度テスト環境を見直したところ、
なんだか解決したような状態??になりましたのでその結果と試したことをお伝えします。
◆試したこと
以下3つのURLをもとにCentOSのファイルシステムで拡張ファイル属性が有効になっているか確認したところ、
現行の運用環境とテスト環境で有効になっていないことが判明。
そこで、テスト環境の拡張ファイル属性を有効にしOSを再起動。
→/etc/fstabのnetatalkボリュームに「user_xattr」を追加
http://www.maruko2.com/mw/Netatalk_%E3%81%A7_AFP_%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%85%B1%E6%9C%89%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B
http://cgi.samba.gr.jp/mailman/archives/netatalk-ja/2013-March/000013.html
http://cgi.samba.gr.jp/mailman/archives/netatalk-ja/2013-March/000019.html
・再起動後、次の3つをためす。
1.Mavericksからafp://netatalkserverでnetatalkに接続
2.netatalkの管理にある任意のフォルダにて新規フォルダを作成(例)。試しに「kimura3」というフォルダを作成
3.netatalkフォルダの中身をnetatalkを動かしているLinuxへsshで接続して確認
※.AppleDoubleディレクトリが作成されないことを確認!!
4.次にMavericksから「kimura3」というディレクトリの中でtestというファイルを作成
※同じtestという名で作成したファイルと同じディレクトリに、._testが作成されていることを確認
[root @ prototype kimura3]# ls -ltra
合計 28
drwxrwsrwx 5 root root 4096 9月 22 18:01 2014 ..
-rwxrwxrwx 1 kimura kimura 122 9月 22 18:01 2014 test
drwxrwxrwx 2 kimura root 4096 9月 22 18:01 2014 .
-rw-rw-rw- 1 kimura kimura 1420 9月 22 18:01 2014 ._test
で、._testをapple_dumpでみた結果が次の通りです(省略しています)
※FillerがNetatalkになりました!!
[root @ prototype kimura3]# apple_dump ._test
Dumping "._test"...
-------------------------------------------------------------------------------
MagicNumber: 00051607 : AppleDouble
Version : 00020000 : Version 2
Filler : 4E 65 74 61 74 61 6C 6B 20 20 20 20 20 20 20 20 : Netatalk
Num. of ent: 0002 : 2
-------------------------------------------------------------------------------
Entry ID : 00000009 : Finder Info
Offset : 00000032 : 50
Length : 00000020 : 32
-FInfo-----:
Type : 54455854 : TEXT
Creator : 4D4D4B45 : MMKE
isAlias : 0
Invisible : 0
hasBundle : 0
nameLocked : 0
Stationery : 0
CustomIcon : 0
Reserved : 0
Inited : 0
NoINITS : 0
Shared : 0
SwitchLaunc: 0
Hidden Ext : 0
color : 000 : none
isOnDesk : 0
Location v : 0000 : 0
Location h : 0000 : 0
Fldr : 0000 : ..
-FXInfo----:
Rsvd|IconID: 0000 : 0
Rsvd : 0000 : ..
Rsvd : 0000 : ..
Rsvd : 0000 : ..
AreInvalid : 0
unknown bit: 0
unknown bit: 0
unknown bit: 0
unknown bit: 0
unknown bit: 0
unknown bit: 0
CustomBadge: 0
ObjctIsBusy: 0
unknown bit: 0
unknown bit: 0
unknown bit: 0
unknown bit: 0
RoutingInfo: 0
unknown bit: 0
unknown bit: 0
Rsvd|commnt: 0000 : 0
PutAway : 00000000 : 0
-------------------------------------------------------------------------------
Entry ID : 00000002 : Resource Fork
Offset : 00000052 : 82
Length : 0000053A : 1338
ここで、一つ疑問なのですが、直前の投稿でお伝えしたafp.confのappledoubleとeaなのですが、
これは、現在次のように設定していますが、
appledouble = ea
ea = sys
このままにしておいたほうがよいのでしょうか??
それとも、もっと環境にあわせた適切な値に変更したほうがよいのでしょうか??
質問ばかりですみませんが、なにかアドバイスありましたらご教示いただけますと幸いです。
2014年9月22日 17:30 Taiki Kimura <taikimura8182 @ gmail.com>:
> 五月雨ですみません。
>
> いま、検証のために構築したNetatalk3.0.4とNetatalk3.1.6でafp.confの内容を少し変更してみたところ、
> 動作に変化がみられましたので、その内容もお伝えします。
>
>
> ◆afp.confの現行パラメータ
> [CR-Docs2]
> path = /share/hoge
> valid users = @hogegroup
> ea = auto
> file perm = 0777
> directory perm = 0777
> search db = yes
>
>
> ◆afp.confの変更&追加パラメータ
> [CR-Docs2]
> path = /share/hoge
> valid users = @hogegroup
> appledouble = ea
> ea = sys
> file perm = 0777
> directory perm = 0777
> search db = yes
>
>
> ※afp.confにappledouble = eaを追加し、ea = auto を ea = sysに変更し、
> ディレクトリを作成してみたところ、まだ.AppleDoubleは作られますが、
> ファイルを作成しても._付きのファイルは作成されなくなりました。
>
> ◆以下Netatalk3.0.4での実行結果(Netatalk3.1.6でも同様)
>
> [root @ prototype kimura2]# pwd/
> /share/hoge/kimura2/
>
> [root @ prototype kimura2]# ls -ltra
> 合計 16
> drwxrwxrwx 3 kimura root 4096 9月 22 17:13 2014 .
> drwxrwxrwx 2 kimura root 4096 9月 22 17:13 2014 .AppleDouble
> drwxrwsrwx 5 root root 4096 9月 22 17:13 2014 ..
> -rwxrwxrwx 1 kimura kimura 4 9月 22 17:13 2014 fuga
> [root @ prototype kimura2]# cd .AppleDouble/
>
> [root @ prototype .AppleDouble]# ls -ltra
> 合計 16
> -rw-rw-rw- 1 kimura root 741 9月 22 17:13 2014 .Parent
> drwxrwxrwx 3 kimura root 4096 9月 22 17:13 2014 ..
> drwxrwxrwx 2 kimura root 4096 9月 22 17:13 2014 .
> -rw-rw-rw- 1 kimura kimura 2079 9月 22 17:13 2014 fuga
>
> 添付ファイルが、.AppleDoubleに作られたfugaというメタデータを格納しているファイルになります。
>
> 2014年9月22日 16:48 Taiki Kimura <taikimura8182 @ gmail.com>:
>> おつかれさまです 木村です。
>>
>>
>>
>> HATさん ご確認ありがとうございました。
>> 少し時間が空いてしまいましてすみません。
>>
>>
>>
>> 直近のご確認で、
>> きわめて古いNetatalk 2.xが動いているように見えるとのコメントをいただいたので
>> 現行環境の再確認とVM環境で検証環境を2つくり簡単な検証をしてみました。
>>
>>
>> が、やはり、どの環境でも同じ状態となってしまいました。
>>
>> →ディレクトリをつくると、.AppleDoubleディレクトリが作成され、ファイルをつくると._つきのファイルも作成される・・・
>>
>> 以下に検証内容を簡単にまとめ、その時の情報も添付してお送りしますので、お手すきでご確認いただけましたら幸いです。
>>
>>
>> ◆環境情報
>> 1)current
>> 過去にyumでいれたnetatalk-2.2.0-2.el6.x86_64がインストールされておりましたが、
>> プロセスとして起動しているのはNetatalk3.0.4で、現在稼働系として運用中のファイルサーバです。
>>
>> OS:CentOS6.4 64bit
>> Hostname:vache
>> Netatalk:3.0.4
>>
>> 2)test
>> HATさんからご教示いただいた情報をふまえ、1から作り直したテスト環境です。
>> netatalkはNetatalk3.0.4しかインストールしておらず、プロセスとして起動しているのも3.0.4です。
>>
>> OS:CentOS6.4 64bit
>> Hostname:prototype
>> Netatalk:3.0.4
>>
>> 3)new
>> HATさんからご教示いただいた情報をふまえ、1から作り直したテスト環境です。
>> netatalkはNetatalk3.1.6しかインストールしておらず、プロセスとして起動しているのも3.1.6です。
>>
>> OS:CentOS6.5 64bit
>> Hostname:netatalk_neo
>> Netatalk:3.1.6
>>
>>
>> ◆検証内容
>> 検証内容testとnewという役割で構築した2つのNetatalkサーバで次のオペレーションを実施
>>
>> 1.$ asip-status.pl localhost
>> 2.$ afpd -V
>> 3.Mavericksからafp://netatalkserverでnetatalkに接続
>> 4.netatalkの管理にある任意のフォルダにて新規フォルダを作成。試しに「kimura」というフォルダを作成
>> 5.netatalkフォルダの中身をnetatalkを動かしているLinuxへsshで接続してみた結果を確認
>>
>>
>> ◆結果
>> .AppleDoubleディレクトリが作成されないことを期待しましたが、testとnewという環境の
>> 2つとも.AppleDoubleディレクトリが作成されました。
>>
>>>拡張属性をサポートしないAFPサーバに拡張属性付きのファイルを作るとき、
>>>OS Xは「._a.txt」を作ってそのなかに保存します。
>>
>> とのことでしたので、memo.txtというファイルを「kimura」ディレクトリに作成してみましたが、
>> Netatalk:3.0.4のtestでもNetatalk:3.1.6のnewでも、
>> どちらでも、._memo.txtというファイルも作成されました。
>> 添付のtest/_memo.txt.とnew/_memo.txtというファイルがそれに該当します。
>>
>>
>> なにかほかにも検証すべきことや確認すべきことがありましららご教示いただけたら幸いです。
>>
>>
>>
>> 2014年9月18日 21:07 HAT <hat @ fa2.so-net.ne.jp>:
>>> HATです。
>>>
>>> Netatalk 3.xが動いているように見えません。
>>> 極めて古いNetatalk 2.xが動いているように見えます。
>>>
>>> そのLinuxのシェルにログインして、
>>> $ asip-status.pl localhost
>>> $ afpd -V
>>> でバージョンを確認してください。
>>>
>>> ウチの環境の場合は、こう表示されます。
>>>
>>> $ asip-status.pl localhost
>>> AFP reply from localhost:548
>>> Flags: 1 Cmd: 3 ID: 57005
>>> Reply: DSIGetStatus
>>> Request ID: 57005
>>> Machine type: Netatalk3.1.6
>>> AFP versions: AFP2.2,AFPX03,AFP3.1,AFP3.2,AFP3.3,AFP3.4
>>> UAMs: DHX2,DHCAST128
>>> Volume Icon & Mask: Yes
>>> Flags:
>>> SupportsCopyFile
>>> SupportsServerMessages
>>> SupportsServerSignature
>>> SupportsTCP/IP
>>> SupportsSrvrNotifications
>>> SupportsOpenDirectory
>>> SupportsUTF8Servername
>>> SupportsUUIDs
>>> SupportsExtSleep
>>> SupportsSuperClient
>>> Server name: hatachan
>>> Signature:
>>> d7 ce 23 49 d9 00 65 3e bf 48 7c 5f 38 e4 8a 0e ..#I..e>.H|_8...
>>>
>>> Network address: 192.168.1.1 (TCP/IP address)
>>> UTF8 Servername: hatachan
>>>
>>> $ afpd -V
>>> afpd 3.1.6 - Apple Filing Protocol (AFP) daemon of Netatalk
>>>
>>> This program is free software; you can redistribute it and/or modify it under
>>> the terms of the GNU General Public License as published by the Free Software
>>> Foundation; either version 2 of the License, or (at your option) any later
>>> version. Please see the file COPYING for further information and details.
>>>
>>> afpd has been compiled with support for these features:
>>>
>>> AFP versions: 2.2 3.0 3.1 3.2 3.3 3.4
>>> CNID backends: dbd last tdb mysql
>>> Zeroconf support: Avahi
>>> TCP wrappers support: Yes
>>> Quota support: Yes
>>> Admin group support: Yes
>>> Valid shell checks: Yes
>>> cracklib support: Yes
>>> EA support: ad | sys
>>> ACL support: Yes
>>> LDAP support: Yes
>>> D-Bus support: Yes
>>> Spotlight support: Yes
>>> DTrace probes: Yes
>>>
>>> afp.conf: /etc/afp.conf
>>> extmap.conf: /etc/extmap.conf
>>> state directory: /var/netatalk/
>>> afp_signature.conf: /var/netatalk/afp_signature.conf
>>> afp_voluuid.conf: /var/netatalk/afp_voluuid.conf
>>> UAM search path: /usr/lib64/netatalk//
>>> Server messages path: /var/netatalk/msg/
>>>
>>>> ◆テスト内容
>>>> 1.Mavericksからafp://netatalkserverでnetatalkに接続
>>>> 2.netatalkの管理にある任意のフォルダにて新規フォルダを作成(例)。試しに「netatalk」というフォルダを作成
>>>> 3.netatalkフォルダの中身をnetatalkを動かしているLinuxへsshで接続してみてみると次の通り
>>>> --------------------------------------------------------------------------------------------------------------
>>>> $ ls -ltra
>>>> 合計 12
>>>> drwxrwsrwx 3 kimura Domain Users 4096 9月 18 17:25 2014 .
>>>> drwxrwsrwx 2 kimura Domain Users 4096 9月 18 17:25 2014 .AppleDouble
>>>> drwxrwxrwx 13 aid-dcc Domain Users 4096 9月 18 17:25 2014 ..
>>>> --------------------------------------------------------------------------------------------------------------
>>>> ※.AppleDoubleディレクトリが作成されている
>>>> ※この1~3の操作を何度繰り返しても新しく作成したフォルダの中に.AppleDoubleディレクトリが作成されます
>>>
>>> この時点でnetatalk 2.xの疑いが強い。
>>>
>>>> 4..AppleDoubleに移動して中身をみてみる
>>>> --------------------------------------------------------------------------------------------------------------
>>>> $ cd .AppleDouble/
>>>> $ ls -ltra
>>>> 合計 12
>>>> drwxrwsrwx 3 kimura Domain Users 4096 9月 18 17:25 2014 ..
>>>> drwxrwsrwx 2 kimura Domain Users 4096 9月 18 17:25 2014 .
>>>> -rw-rw-rw- 1 kimura Domain Users 741 9月 18 17:25 2014 .Parent
>>>> --------------------------------------------------------------------------------------------------------------
>>>> ※.Parentというファイルが作成されている
>>>
>>> .Parentはディレクトリのメタデータを保存するためのAppleDouble Header fileです。
>>>
>>>> 5. .Parentというファイルをapple_dumpでみてみる
>>>> $ apple_dump .Parent
>>>
>>> Dumping ".Parent"...
>>> -------------------------------------------------------------------------------
>>> MagicNumber: 00051607 : AppleDouble
>>> Version : 00020000 : Version 2
>>> Filler : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
>>> Num. of ent: 000D : 13
>>>
>>> Fillerがオールゼロになっているのは、規格通りのAppleDouble version2です。
>>> エントリの数が13個もあるのはnetatalkの特徴です。
>>>
>>> -------------------------------------------------------------------------------
>>> Entry ID : 00000002 : Resource Fork
>>> Offset : 000002E5 : 741
>>> Length : 00000000 : 0
>>>
>>> ディレクトリはリソースフォークを持たないので、サイズは当然ながらゼロです。
>>>
>>> -------------------------------------------------------------------------------
>>> Entry ID : 00000003 : Real Name
>>> Offset : 000000B6 : 182
>>> Length : 00000008 : 8
>>>
>>> -RAW DUMP--: 0 1 2 3 4 5 6 7 8 9 A B C D E F : (ASCII)
>>> 00000000 : 6E 65 74 61 74 61 6C 6B : netatalk
>>>
>>> Real Nameを保存しているのは古いNetatalkの特徴です。
>>> これを保存しても意味がないし、解決できない問題があったので、現在はReal Name
>>> を保存しません。
>>>
>>>> 6.「netatalk」というフォルダにMavericksからafpで接続したままで新規作成したファイルを保存してみる
>>>>
>>>> ※ファイルの作成は、Mavericksでmiというエディタを起動し、そこに任意の文字を書き、
>>>> 保存先として「netatalk」というフォルダを指定して保存する、というやり方で実施
>>>>
>>>> 7.6の手順を実施した後、「netatalk」というフォルダをls- laしてみる
>>>> --------------------------------------------------------------------------------------------------------------
>>>> $ ls -la
>>>> 合計 20
>>>> drwxrwsrwx 3 kimura Domain Users 4096 9月 18 17:37 2014 .
>>>> drwxrwxrwx 13 aid-dcc Domain Users 4096 9月 18 17:25 2014 ..
>>>> drwxrwsrwx 2 kimura Domain Users 4096 9月 18 17:37 2014 .AppleDouble
>>>> -rwxrwxrwx 1 kimura Domain Users 4096 9月 18 17:37 2014 ._a.txt
>>>> -rwxrwxrwx 1 kimura Domain Users 5 9月 18 17:37 2014 a.txt
>>>> --------------------------------------------------------------------------------------------------------------
>>>
>>> 「a.txt」と同じディレクトリに「._a.txt」ができています。
>>> この「._a.txt」は、おそらくOS Xが作ったものでしょう。
>>> 拡張属性をサポートしないAFPサーバに拡張属性付きのファイルを作るとき、
>>> OS Xは「._a.txt」を作ってそのなかに保存します。
>>>
>>> この動作については、以下のページで説明しています。
>>> http://hatx.blog.so-net.ne.jp/2009-08-31
>>> このページを書いたのは2009-08-31であり、最後に更新したのは2010-06-17です。
>>> それぐらい古い、拡張属性をサポートしないNetatalkが動いているようにみえます。
>>>
>>>> 8.7をの手順を実施した後「netatalk」というフォルダ内の.AppleDoubleに移動し、ls -laした結果は次のとおりです
>>>>
>>>> # ls -ltra
>>>> 合計 20
>>>> -rw-rw-rw- 1 kimura Domain Users 741 9月 18 17:25 2014 .Parent
>>>> drwxrwsrwx 3 kimura Domain Users 4096 9月 18 17:37 2014 ..
>>>> -rw-rw-rw- 1 kimura Domain Users 2079 9月 18 17:37 2014 a.txt
>>>> drwxrwsrwx 2 kimura Domain Users 4096 9月 18 17:37 2014 .
>>>> -rw-rw-rw- 1 kimura Domain Users 741 9月 18 17:37 2014 ._a.txt
>>>>
>>>> ※a.txtと._a.txtというファイルが作成されている。この2つをapple_dumpしてみた結果は次のとおりです
>>>> ※添付したAppleDoubleフォルダに入っているa.txtと._a.txtが.AppleDoubleの中にあったファイルです
>>>>
>>>> $ apple_dump a.txt
>>>> a.txt:
>>>>
>>>> -------------------------------------------------------------------------------
>>>> MagicNumber: 00051607 : AppleDouble
>>>> Version : 00020000 : Version 2
>>>> Filler : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
>>>> Num. of ent: 000D : 13
>>>>
>>>> -------------------------------------------------------------------------------
>>>> Entry ID : 00000002 : Resource Fork
>>>> Offset : 000002E5 : 741
>>>> Length : 0000053A : 1338
>>>>
>>>> $ apple_dump ._a.txt
>>>> ._a.txt:
>>>>
>>>> -------------------------------------------------------------------------------
>>>> MagicNumber: 00051607 : AppleDouble
>>>> Version : 00020000 : Version 2
>>>> Filler : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
>>>> Num. of ent: 000D : 13
>>>>
>>>> -------------------------------------------------------------------------------
>>>> Entry ID : 00000002 : Resource Fork
>>>> Offset : 000002E5 : 741
>>>> Length : 00000000 : 0
>>>>
>>>> -------------------------------------------------------------------------------
>>>>
>>>> 9. Linuxのnetatalkで作成した「netatalk」というフォルダをMacminiからafpマウントしてみた結果は次のとおりです
>>>> --------------------------------------------------------------------------------------------------------------
>>>> dc-macmini:netatalk aid-dcc$ ls -la@
>>>> total 32
>>>> drwxrwxrwx 1 aid-dcc staff 264 9 18 17:37 .
>>>> drwxrwxrwx 1 aid-dcc staff 466 9 18 17:25 ..
>>>> -rwxrwxrwx 1 aid-dcc staff 4096 9 18 17:37 ._a.txt
>>>> -rwxrwxrwx@ 1 aid-dcc staff 5 9 18 17:37 a.txt
>>>> com.apple.ResourceFork 1338
>>>> com.apple.FinderInfo 32
>>>> com.apple.TextEncoding 15
>>>> --------------------------------------------------------------------------------------------------------------
>>>>
>>>> ※._a.txtがみえています
>>>> ※MacminiからLinuxのnetatalkサーバへの接続は、Finderの共有を使って行いました。接続後、dfすると次のとおりです
>>>>
>>>> --------------------------------------------------------------------------------------------------------------
>>>> dc-macmini:netatalk aid-dcc$ df -h
>>>> Filesystem Size Used Avail
>>>> Capacity iused ifree %iused Mounted on
>>>> /dev/disk0s2 931Gi 60Gi 870Gi
>>>> 7% 15896204 228084538 7% /
>>>> devfs 194Ki 194Ki 0Bi
>>>> 100% 670 0 100% /dev
>>>> /dev/disk2s2 16Ti 6.7Ti 9.3Ti
>>>> 43% 451570323 622150504 42% /Volumes/Drobo_Main
>>>> map -hosts 0Bi 0Bi 0Bi
>>>> 100% 0 0 100% /net
>>>> map auto_home 0Bi 0Bi 0Bi
>>>> 100% 0 0 100% /home
>>>> /dev/disk3s2 16Ti 7.5Ti 8.5Ti
>>>> 48% 505126688 568594139 47% /Volumes/Drobo_sub
>>>> /dev/disk1s2 931Gi 633Mi 931Gi
>>>> 1% 162146 243944520 0% /Volumes/Macintosh HD2
>>>> //kimura @ aaaa._afpovertcp._tcp.local/hoge 8.4Ti 6.4Ti 2.0Ti 77%
>>>> 1713096884 529421373 76% /Volumes/hoge
>>>> --------------------------------------------------------------------------------------------------------------
>>>>
>>>> 10.Macminiからrsync
>>>> -EでLinuxのnetatalkで作成した「netatalk」というフォルダをMacminiにコピーし、lsした結果は次のとおりです
>>>>
>>>> --------------------------------------------------------------------------------------------------------------
>>>> dc-macmini:netatalk aid-dcc$ ls -la@
>>>> total 64
>>>> drwxrwxrwx 3 aid-dcc staff 102 Sep 18 17:37 .
>>>> drwxrwxrwx 13 aid-dcc staff 442 Sep 18 17:58 ..
>>>> -rwxrwxrwx@ 1 aid-dcc staff 5 Sep 18 17:37 a.txt
>>>> com.apple.FinderInfo 32
>>>> com.apple.ResourceFork 1338
>>>> com.apple.TextEncoding 15
>>>> --------------------------------------------------------------------------------------------------------------
>>>> ※._a.txtはみえません
>>>
>>> もしNetatalk 2.xが動いていたとすると、私の方では対処できません。
>>> もう忘れてしまいました。
>>> メンテも止まっているので、本家でもサポートできないでしょう。
>>>
>>> --
>>> HAT
netatalk-ja メーリングリストの案内