Sambaでも拡張属性を有効にする の巻 [Samba]
netatalk 2.1beta1では拡張属性(EA)に対応しているため、
マウント時のオプションで user_xattr を付加すれば、拡張属性が
利用できました。
そこで、ついでにSamba(3.4.0)でも試してみます。
[global]セクションに以下を追加します。
ea support = yes
store dos attributes = yes
これでSambaを再起動します。
iMacからCIFS(by Samba)でファイルサーバにtest.txtをコピーします。
で、
# getfattr -d test.txt
しますと、
# file: test.txt
user.DOSATTRIB="0x0"
と帰ってきますので、有効になってそうです。
そして、コピー先の同じディレクトリに
._test.txt
も出来ています。
さて、WindowdのPCからコピーするとどうなるのでしょうか?
WindowsのPCを引っ張り出すのが面倒なので、試していません
2010/4/2 追記
その後、いろいろあり、現時点で正しそうな設定はこちら
ddコマンドでディスクまるごとコピー [Linux コマンド・設定 Memo]
そう、少し前まで、ファイルサーバーの/ディレクトリのディスクは
USBメモリを2つ使ってRAID1を組んでいたのですが、起動時に
こんなことを言われることが頻繁におこり、でも実際はdegradeしてない
という意味不明な状況だったりして、むむむな状態にしびれを切らして、
RAIDはやめて、USBメモリをちょくちょくもう一つのUSBメモリに
コピーすればいいじゃないですか。。
という訳で、早速コピーしてみました
# dd if=/dev/sdb of=/dev/sdd
ifでコピー元
ofでコピー先
のUSBメモリを指定します。
# おわかりの通り、逆にすると悲惨なことになりますので、ご注意を
8GBのUSBメモリですが、転送速度が遅いので、それなりに時間が
かかります。
コピーが完了すると、
15949824+0 records in
15949824+0 records out
8166309888 bytes (8.2 GB) copied, 1741.72 s, 4.7 MB/s
などと表示されます。
これで、コピー完了
USBメモリを差し替えて、起動してみます。
OK
ちゃんと起動しました。
今回は起動中のUSBメモリから空のUSBメモリへコピーしました。
完全にコピーするなら、起動中のubuntuを一度終了させて、
他のddコマンドが使えるOSで二つのUSBメモリを認識させて、
コピーするのがいいのでしょうが、、、面倒なので
ま、動いたので、これで良しとしましょう
拡張属性を有効にする の巻 [Netatalk]
知らなかったのですが、いくつかのファイルシステムでは
簡単に拡張属性を有効にできるようです。
ubuntu9.10で標準となっているext4でも、fstabのオプションに
user_xattrを追加します。
# ext2,3,xfsなどでも同じかと思います。
UUID=4c5d08a8-b2da-477a-b1c1-f625d4726bac /st1 ext4 defaults,user_xattr 0 2
これでサーバの再起動を行います。
それにより、afpd起動時の
volume "nao" does not support Extended Attributes, using ea:ad instead
が消えました。
そして、拡張属性を有効にしたディレクトリにiMacからファイルサーバに
test.txt ファイルをコピーした際に、.AppleDoubleディレクトリに作成されていた
test.txt::EA
test.txt::EA::com.apple.metadata:3akMDItemFinderComment
test.txt::EA::com.apple.TextEncoding
などのファイルは作られなくなり、.AppleDoubleには
test.txt
というバイナリファイルが作られるようになりました。
syslogにはxattrに関するログが残っていないことが気になりますが。。
EXT4-fs (sda1): barriers enabled
kjournald2 starting: pid 702, dev sda1:8, commit interval 5 s
EXT4-fs (sda1): internal journal on sda1:8
EXT4-fs (sda1): delayed allocation enabled
EXT4-fs: file extents enabled
EXT4-fs: mballoc enabled
EXT4-fs (sda1): mounted filesystem with ordered data mode
ですが、拡張属性は有効になっているようです。
確認の方法としては..
先ほどのtest.txtに対して、
$ getfattr -d test.txt
としますと。。
# file: test.txt
user.com.apple.TextEncoding="utf-8;134217984"
などとtest.txtファイルに格納されていた拡張属性が表示されます。
getfattr や setfattr などの拡張属性を取得したり、格納するための
コマンド類は attr に入っています。
入っていないと、
The program 'getfattr' is currently not installed. You can install it by typing:
apt-get install attr
getfattr: command not found
と言われますので、
# apt-get install attr
してください
いつもながらHATさま、ありがとうございました。