拡張属性とは? わかりやすく解説

拡張ファイル属性

(拡張属性 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/24 14:03 UTC 版)

拡張ファイル属性または拡張属性 (extended file attribute, extended attribute, xattr, EA)は、ファイルシステムが解釈しないメタデータをユーザがファイルに結びつけることが出来るようにするファイルシステムの機能である。これに対し、通常のファイル属性英語版(パーミッション、作成時間、更新時間など)はファイルシステムによって厳密に定義された目的を持っている。

一般的にフォークはファイルの最大サイズと同じくらいに大きくすることができるが、拡張属性の最大サイズはかなり小さい値に制限される。これの典型的な用途は、文書の著者、プレーンテキストの文字コード誤り検出訂正符号などを保存することである。

実装例

OS/2

OS/2バージョン1.2以降のHPFSは拡張属性を考慮して設計された。また、DOSのFATファイルシステムも改造して拡張属性をサポートした。 FATパーティションを用いる他のOSと互換性を保つため、OS/2属性はルートディレクトリ上の一つのファイル「EA DATA. SF」に保存される。拡張属性をサポートするOSがディスクを管理する場合、通常このファイルはアクセス不能になる。ただし、DOSのようなOSだと簡単に操作できてしまう。拡張属性があるファイルやディレクトリは、この「EA DATA. SF」ファイルの内部で一つまたはそれ以上のクラスタを消費する。最初に使われる論理クラスタ番号は、ファイルやディレクトリを所有するディレクトリエントリに保存される。これは元々は未使用であった2バイトの中にある。この2バイトはFAT32ファイルシステム上では別の目的で使われる。従ってOS/2拡張属性はFAT32に保存することが出来ない。

OS/2バージョン2.0以降の一部の機能、すなわちワークプレース・シェル等は幾つかの標準化された拡張属性(EAとも呼ぶ)を利用する。これには、ファイルタイプの識別、コメント、アイコン、ファイルのキーワードといった目的がある。 インタラプタ言語REXXで書かれたプログラムは、より高速な実行を行なうために、パース済みのコードを拡張属性に保存する。

Windows NT

Windows NTは、OS/2と同じ方法でFATとHPFSで拡張属性をサポートする。NTFSファイルシステムもまたOS/2サブシステムに適応するよう、多くの有効なファイルフォークの一つとして拡張属性を保存するように設計された。OS/2拡張属性は、ネイティブなOS/2と同じ方法でいかなるOS/2プログラムにアクセスできるし、BackupReadとBackupWriteシステムコールを通せばいかなるWindowsプログラムへもアクセスできる。それらは特にInterix POSIXサブシステム上のNFSサーバでUnix風のパーミッションを実装するために利用される。

Linux

Linuxのカーネル設定でlibattr機能が有効になっていれば、ext2ext3ext4JFSReiserFSXFSファイルシステムで拡張属性(略称: xattr)がサポートされる。いかなるレギュラーファイルも拡張属性のリストを持つことができる。それぞれの属性は名前とそれに対応するデータで表現される。その名前はNULL終端文字列でなければならず、直前に名前空間識別子とドット文字が付かなければならない。現在は四つの名前空間(user, trusted, security, system)がある。user名前空間には名前の付け方と内容に関する制限がない。system名前空間はカーネルが主にアクセス制御リストとして利用する。security名前空間は、例えばSELinuxが利用する。

拡張属性はカーネルバージョン2.6以降でサポートしているが、ユーザスペースのプログラムでは広く用いられていない。Beagleは拡張属性を利用しており、freedesktop.orgは拡張属性の利用を推奨している。

FreeBSD

FreeBSD 5.0以降はUFS1とUFS2ファイルシステムで拡張属性をサポートする。いかなるレギュラーファイルも拡張属性のリストを持つことができる。それぞれの属性は名前とそれに対応するデータによって表現される。その名前はNULL終端の文字列でなけらばならず、小さな整数の名前空間識別子によって識別された名前空間の中に存在する。現在は二つの名前空間(user, system)がある。user名前空間には名前の付け方と内容に関する制限がない。system名前空間はカーネルが主にアクセス制御リスト強制アクセス制御として利用する。

OpenBSD

OpenBSDのネイティブなfssファイルシステムは拡張属性をサポートしている。これらはフラグとして参照され、chflagsコマンドで制御できる。

Solaris

Solaris 9以降ではファイルに「拡張属性」を持たせることができるが、これは事実上フォークである。事実上これらは内部的に通常ファイルのように保存/アクセスできる。なぜなら、それらの名前は「/」文字を含むことが出来ず、サイズは実用上無制限であり、所有権とパーミッションは親ファイルと別に設定できるからである。

NFSバージョン4はSolarisとほぼ同じ方法で拡張属性をサポートする。

Mac OS X

Mac OS X v10.4以降は、名前付きフォークを使えるようにしたHFS+の属性ファイルのB*木機能を用いることで拡張属性をサポートする。HFS+内では名前付きフォークがエクステントを介することで任意の大量データをサポートできるにもかかわらず、OSはインライン属性しかサポートしない。これのサイズは単一のB*木ノードに納まるように制限される。いかなるレギュラーファイルも拡張属性のリストをもつことができる。HFS+は任意の数の名前付きフォークをサポートするが、Mac OSが拡張属性の数に何らかの制限をしているかどうかは不明である。それぞれの属性は名前とそれに対応するデータで表現される。その名前はNULL終端のUnicode文字列である。Mac OS XのAPIはファイルやディレクトリの拡張属性のリスト[1]、取得[2]、設定[3]、削除[4]をサポートする。

参照

関連項目

外部リンク


拡張属性

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/15 15:12 UTC 版)

XFS」の記事における「拡張属性」の解説

XFSは拡張属性として複数データストリーム一つファイル格納することが出来る。これにより複数のname/valueの対を一つファイルに付け加えることが出来る。name最大256バイトヌル終端文字列で、value最大64キロバイトバイナリデータである。さらにrootuser2つ名前空間分けて記録できる。root名前空間記録され属性スーパーユーザーのみが変更可能であり、user名前空間属性はそのファイル書き込みパーミッションを持つユーザーのみが変更できる。この拡張属性は、シンボリックリンクデバイスノードディレクトリなどあらゆる種類XFSinode付加することが可能である。attrツール使用してコマンドラインから操作することが出来る。xfsdump/xfsrestoreツールは拡張属性をサポートしており、拡張属性も併せてバックアップ/リストアされる。他の多くのバックアップツールはXFS拡張属性に対応していない物が多い。

※この「拡張属性」の解説は、「XFS」の解説の一部です。
「拡張属性」を含む「XFS」の記事については、「XFS」の概要を参照ください。

ウィキペディア小見出し辞書の「拡張属性」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「拡張属性」の関連用語

拡張属性のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



拡張属性のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの拡張ファイル属性 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのXFS (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS