ファイルシステム拡張プロパティ操作(setfattr,getfattr)


             ,                   ,         ,   
, 。
attr -s status -V "In Progress" test.txt
Attribute "status" set to a 11 byte value for test.txt:
status

getfattr test.txt
# file: test.txt
user.status

getfattr -n user.status test.txt
# file: test.txt
user.status="In Progress"

“Operation not supported” , :
1) user_xattr , mount ,
/dev/cciss/c0d0p2 on / type ext3 (rw)
/dev/cciss/c0d0p1 on /boot type ext3 (rw)
/dev/sda3 on /data01 type ext3 (rw)
/dev/sdb on /data02 type ext3 (rw,user_xattr)
,/, /data01 user_xattr , setfattr, /data02
user_xattr “Operation not supported”。 , /etc/fstab :
LABEL=/ / ext3 defaults 1 1
LABEL=/data01 /data01 ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
/dev/sdb /data02 ext3 defaults,user_xattr 1 2
/, data01,/boot ,/data02 , 。
2) user_xattr , ,
# setfattr -n "test" -v bigfs f1000
setfattr: f1000: Operation not supported
,name user. ( namespace, ), :
# setfattr -n "user.test" -v bigfs f1000

ACL Extended Attribute setfaclプログラムの新規作成と検視方法は、setfattr-n name[-v value]pathname...(新規寸法)setfattr-x name pathname...(マークアップ解除)
 
ここで、-nは属性名を表し、-vの後に属性の格納内容が続く.-xは、属性データの削除を示します.現在fileが確立されていると仮定する.txtファイル、操作setfaclは以下のように使用される:setfattr-n user.author -v "kenduest"file.txt    setfattr -n user.desc -v "test only file"file.txt注意すべきは、nameは必ずuser.先頭項目(namespace、一般的にネーミングスペースと呼ばれる)では、operation not supportedエラーが実行期間に発生します.getfaclプログラムは、getfattr-n name pathname...ここで−nは属性名を表し、その属性を取り出したデータの内容を表す.パラメータが指定されていない場合、ファイル名のみが接続されている場合は、すべての設定のプロパティ名のリストが表示されます.属性のレコードを取り出すには、getfattr-n user.のコマンドを実行します.author file.txt    getfattr -n user.desc file.txtプログラム実行結果は、それぞれ次のように出力される:#file:file.txt    user.author="kenduest"    # file: file.txt    user.desc=「test only file」では、設定したプロパティデータが正しくチェックされていることがわかります.Extended Attributeその他の事項とPOSIX ACL権限のいくつかの問題など、すべてのプログラムがExtended Attributeをサポートしているわけではありませんので、プログラムが読み書きにアクセスした後にこのような情報記録を失う可能性があります.特によく使用されるGNU tarプログラムはまだこのサポートに正式に組み込まれていないため、アーカイブディレクトリのバックアップには詳細な問題を別途処理する必要があります.Linux DistributionがPOSIX ACLとExtended Attributeを統合している場合は、一般的なアーカイブディレクトリ管理ツールが正しくサポートされているはずです.GNU tarプログラムの問題は、starプログラムを別途インストールして解決することができます.