Fedora 22で拡張属性を機能させようとしています。ファイルにも属性を設定できないようですが、読み取ることはできます。外観は次のとおりです。
[jarek @ localhost〜] $ cd /tmp/ [jarek@localhost tmp] $ touch a [jarek @ localhost tmp] $ setfattr -n "user.abc" -v "blah" a setfattr:a:操作はサポートされていません [jarek @ localhost tmp] $ Sudo setfattr -n "user.abc" -v "blah" a setfattr:a:操作はサポートされていません [jarek @ localhost tmp] $ strace setfattr -n "user.abc" -v "blah" a ... setxattr( " a "、" user.abc "、" blah "、4、0)= -1 EOPNOTSUPP(操作はサポートされていません) ... +++は1 +++ [で終了しました。 ____。] [jarek @ localhost tmp] $ getfattr a [jarek @ localhost tmp] $ echo $? 0
私のシステムに関するいくつかの情報:
[jarek @ localhost〜] $ uname -a Linux localhost.localdomain 4.1.5-200.fc22.x86_64#1 SMP Mon Aug 10 23:38:23 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [jarek @ localhost test] $ mount | grep /dev/sda5 /dev/sda5 on/type ext4(rw、noatime、seclabel、discard、data =順序付けられました)
誰かが私が間違っていることを知っていますか?これはUbuntu14.04で動作します。
それは確かに/tmp
にあります。これはtmpfs
であり、私のシステムのext4
ファイルシステムではありません。
テキストでは言及していませんが、コードブロックは、/tmp
でテストを行っていることを示しています。ルートファイルシステム(HDDまたはSSD)がext4の場合でも、/tmp
が別のファイルシステム(おそらくtmpfsタイプ)としてマウントされている可能性があり、拡張属性はサポートされていません。次のコマンドのいずれかを実行することで、これが当てはまるかどうかを確認できます。
mount | grep tmp
df /tmp
grep /tmp /etc/fstab
getfattr
が成功するという事実は少し驚くべきことですが、それほどではありません。一部の開発者は、ファイルシステムが拡張属性をサポートしていない場合、ファイルに拡張属性がないことを報告しても無害だと考えていたと思います。結局のところ、それは真実です—ファイルには拡張属性がありません。