MTREE(5) | FreeBSD File Formats Manual | MTREE(5) |
名称
mtree — mtree ディレクトリ階層構造ファイルの形式解説
mtree 形式は、ファイルシステムオブジェクトの収集について説明するテキスト形式です。そのようなファイルは、ディレクトリ階層構造を作成するか、または検証するために通常使用されます。一般形式
mtree ファイルは、それぞれ単一のファイルシステムオブジェクトに関する情報を提供する、ひと続きの行から成ります。先導する空白類は、常に無視されます。ファイルまたはパス名をエンコードするとき、任意のバックスラッシュ文字、または 95 の印字可能な ASCII 文字の外側の文字は、3 つの 8 進数字が続くバックスラッシュとしてエンコードされなければなりません。 mtree ファイルを読み込むとき、3 つの 8 進数字が続くバックスラッシュの任意の出現は、対応する文字に変換されるべきです。
各行は、次のタイプの 1 つとして独自に解釈されます:
- Signature
- 任意の mtree ファイルの最初の行は、“#mtree”で始まらなければなりません。ファイルが任意のフルパスエントリを含んでいるなら、最初の行は、“#mtree v2.0”で始まるべきで、そうでなければ、最初の行は、“#mtree v1.0”で始まるべきす。
- Blank
- 空白行は、無視されます。
- Comment
- # で始まる行は、無視されます。
- Special
- / で始まる行は、後の行の解釈に影響を及ぼす特別なコマンドです。
- Relative
- 最初の空白類で区切られた単語に / 文字がないなら、それは、カレントディレクトリのファイルの名前です。ディレクトリを記述する任意の相対的なエントリは、カレントディレクトリを変更します。
- dot-dot
- 例外として、ファイル名 .. がある相対的なエントリは、カレントディレクトリを親のディレクトリに変更します。ドットドット (dot-dot) エントリのオプションは、常に無視されます。
- Full
- 最初の空白類で区切られた単語に最初の文字の後に / 文字があるなら、それは、開始されたディレクトリに相対的なファイルのパス名です。同じファイルについて記述する複数の完全なエントリが存在できます。
mtree ファイルを処理するいくつかのツールは、連続して起こるの同じファイルについて記述する複数の行を必要とします。相対的と完全なファイル指定の両方を使用して言及される同じファイルは、許可されていません。
特別なコマンド
2 つの特別なコマンドが現在、定義されています:- /set
- このコマンドは、1 つ以上のキーワードのためのデフォルト値を定義します。 1 つ以上の空白で区切られたキーワード定義によって同じ行でそれは続きます。これらの定義は、そのキーワードの値を指定しないすべての続くファイルに適用されます。
- /unset
- このコマンドは、前の /set コマンドによって設定された任意のデフォルト値を削除します。空白類によって区切られた 1 つ以上のキーワードがによって同じ行に続きます。
キーワード
ファイル名の後に、完全または相対的なエントリは、0 個以上の空白類で区切られたキーワード定義から成ります。そのような各定義は、'=' 記号の直後に続くリストのキーから成ります。 mtree ファイルを読み込むソフトウェアプログラムは、認識されていないキーワードに関して警告するべきです。現在サポートされているキーワードは、次の通りです:
- cksum
- cksum(1) ユーティリティで指定された、デフォルトアルゴリズムを使用するファイルのチェックサム。
- contents
- 内容が、このファイルの内容と比較するべき、ファイルのフルパス名。
- flags
- シンボル名としてのファイルフラグ。これらの名前の情報については、 chflags(1) を参照してください。フラグに文字列が設定されないるなら、“none”は、現在のデフォルトを上書きするために使用されます。
- ignore
- このファイルより下のあらゆるファイルの階層構造を無視します。
- gid
- 数値としてのファイルグループ。
- gname
- シンボル名としてのファイルグループ。
- md5
- ファイルの MD5 メッセージダイジェスト。
- md5digest
- md5 のための同義語。
- sha1
- ファイルの FIPS 160-1 (“SHA-1”) メッセージダイジェスト。
- sha1digest
- sha1 のための同義語。
- sha256
- ファイルの FIPS 180-2 (“SHA-256”) メッセージダイジェスト。
- sha256digest
- sha256 のための同義語。
- ripemd160digest
- ファイルの RIPEMD160 メッセージダイジェスト。
- rmd160
- ripemd160digest のための同義語。
- rmd160digest
- ripemd160digest のための同義語。
- mode
- 数値 (8 進) またはシンボリック値としての現在のファイルのパーミッション。
- nlink
- ファイルにあると予想されるハードリンクの数。
- nochange
- このファイルまたはディレクトリが存在するのを確実にしますが、そうでなければ、すべての属性を無視します。
- uid
- 数値としてのファイル所有者。
- uname
- シンボリック名としてのファイル所有者。
- size
- ファイルのバイト単位のサイズ。
- link
- シンボリックリンクが参照されると予想されるファイル。
- time
- 秒とナノ秒単位のファイルの最後の更新時刻。値は、ピリオド文字とピリオドの後に正確に 9 桁を含むべきです。
- type
-
次のどれかに設定される、ファイルのタイプ:
- block
- ブロック型特殊ファイル
- char
- キャラクタ型特殊ファイル
- dir
- ディレクトリ
- fifo
- fifo
- file
- 通常のファイル
- link
- シンボリックリンク
- socket
- ソケット
歴史
mtree ユーティリティは、 4.3BSD-Reno で登場しました。 MD5 ダイジェスト能力は、 cksum(1) を偽造することができるプログラムの使用が広まったことに応えて、 FreeBSD 2.1 で追加されました。 SHA-1 と RIPEMD160 ダイジェストは、新しい攻撃が MD5 の弱点を明らかにしたので、 FreeBSD 4.0 で追加されました。 SHA-256 ダイジェストは、 FreeBSD 6.0 で追加されました。ファイルフラグのサポートは、 FreeBSD 4.0 で追加され、ほとんど NetBSD に由来しています。“full”エントリ形式は、 NetBSD によって追加されました。バグ
mtree の FreeBSD の実装は、現在 mtree 2.0 形式をサポートしていません。“#mtree”署名行のための要件は、新しく、まだ広く実装されていません。December 31, 2007 | FreeBSD |