EN JA
MTREE(5)
MTREE(5) FreeBSD File Formats Manual MTREE(5)

名称

mtreemtree ディレクトリ階層構造ファイルの形式

解説

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
ソケット

関連項目

cksum(1), find(1), mtree(8)

歴史

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