「拡張属性」の版間の差分
(→参照: 日本語版 Wikipedia ページ) |
(→参照: 翻訳) |
||
| 171行目: | 171行目: | ||
== 参照 == |
== 参照 == |
||
| − | * [https://www.freedesktop.org/wiki/CommonExtendedAttributes XDG |
+ | * [https://www.freedesktop.org/wiki/CommonExtendedAttributes XDG の拡張属性のガイドライン] |
* [[Wikipedia:ja:拡張ファイル属性#Linux]] |
* [[Wikipedia:ja:拡張ファイル属性#Linux]] |
||
* [https://www.lesbonscomptes.com/pages/extattrs.html Extended attributes: the good, the not so good, the bad.] |
* [https://www.lesbonscomptes.com/pages/extattrs.html Extended attributes: the good, the not so good, the bad.] |
||
2023年8月12日 (土) 11:02時点における版
xattr(7) から: "拡張属性は、ファイルやディレクトリと永続的に関連付けられた名前:値のペアです。" 拡張属性には4つのクラスがあります: security、system、trusted、そして user です。
拡張属性は、ケイパビリティを設定する際にも用いられます。
ユーザ拡張属性
ユーザ拡張属性は、ファイルに関する任意の情報を保存するために使用できます。属性を作成するには:
$ setfattr -n user.checksum -v "3baf9ebce4c664ca8d9e5f6314fb47fb" foo.txt
拡張属性を表示するには getfattr を使用してください:
$ getfattr -d foo.txt
# file: foo.txt user.checksum="3baf9ebce4c664ca8d9e5f6314fb47fb"
拡張属性を削除するには:
$ setfattr -x user.checksum foo.txt
一部のユーザ拡張属性には以下が含まれています:
user.mime_type: プログラムに mimetype を知らせ、推測しなくても良くします。user.charset: Apache httpd モジュール mod_mime_xattr によって使用されます。user.creator: そのファイルを作成したアプリケーションの名前。
XDG は、プログラムによって使用される標準化された拡張属性のセットも提案しています:
user.xdg.comment: Dolphin などのファイルマネージャによってサポートされます。user.xdg.origin.url: URL からダウンロードしたファイル用。user.xdg.robots.index: ファイルがインデックスに含まれるならば "true"。さもなくば "false"。user.xdg.robots.backup: ファイルがバックアップに含まれるならば "true"。さもなくば "false"。user.xdg.languageuser.xdg.creatoruser.xdg.publisheruser.xdg.origin.email.subjectuser.xdg.origin.email.fromuser.xdg.origin.email.message-id
拡張属性を保持する
| コマンド | 必要なフラグ |
|---|---|
cp |
--preserve=mode,ownership,timestamps,xattr
|
mv |
デフォルトで保持1 |
tar |
作成時には --xattrs、展開時には --xattrs-include='*'
|
bsdtar |
展開時に -p
|
| rsync | -X, --xattrs
|
| cpio | No |
| gzip | No |
| pax | No |
- mv は、対象のファイルシステムが拡張属性をサポートしていない場合、何も言わずに拡張属性を破棄します。
テキストエディタで拡張属性を保持するには、保存時に rename(2) を使わずファイルを切り詰める/拡張する (truncate) するように設定する必要があります。[1]
サポート
ファイルシステム
Ext、Btrfs、ZFS などの主要な Linux ファイルシステムの全てで拡張属性がサポートされています。カーネルは、拡張属性の名前は 255 バイトまで、値は 64 KiB まで許可しています。しかし、ext と btrfs では、拡張属性を "ファイルシステムブロック" 内に収める必要があることから、より小さい制限が課されるかもしれません。
NTFS は代替データストリーム (Alternative Data Streams) を使って user を保存します。マウントオプションの user_xattr か streams_interface=xattr がデフォルトで使用されるはずです。しかし、マウントオプション streams_interface=windows が使用されている場合は、拡張属性はサポートされないかもしれません。ntfs-3g は、FUSE 内での代替データストリームの拡張属性へのマッピングをサポートしています。
NFS は現在、拡張属性をサポートしていません。
ファイルマネージャ
説明:
- 保持: コピーや移動をした時に拡張属性が保持されるか。
- Tags: Tags 拡張属性がサポートされているか。
| ファイルマネージャ | 保持 | Tags |
|---|---|---|
| dolphin | No | |
| thunar | Yes | |
| caja | Yes1 | |
| nautilus |
- caja: 拡張機能の caja-xattr-tags と caja.eiciel によってサポートされています。
プログラム
| アプリケーション | サポートされている拡張属性 | いつから | 備考 |
|---|---|---|---|
| baloo | user.xdg.tags
|
||
| Chromium | user.xdg.origin,user.xdg.referrer
|
||
| CURL | |||
| Dropbox | user.com.dropbox.attributes
|
||
| emacs-vm | No | mbox 拡張属性をリセットします。 | |
| Gwenview | user.xdg.tags
|
||
| recoll | user.xdg.tags
|
||
| tmsuAUR | No | ||
| tagspacesAUR | No | ||
| Wget |