fncreate_fs コマンドにより、組織やサイト用にファイルコンテキストが作成できます。fncreate コマンドによって作成されたホストやユーザーのためのデフォルトのファイルコンテキストを無効にするために使用されることもあります。
fncreate_fs コマンドの使用には、以下のような 2 つの方法があります。
「入力ファイル」
入力ファイルによって、ファイルコンテキストのバインディングが提供されます (「入力ファイルを使って、ファイルコンテキストを作成する」を参照)。
「コマンド行」
コマンド行によって、ファイルコンテキストのバインディングが作成されます (「コマンド行の入力によりファイルコンテキストを作成する」を参照)。
fncreate_fs の 2 つの方法には、以下のような構文があります。
fncreate_fs [-v] [-r] -f file composite_name fncreate_fs [-v] [-r] composite_name [options] [ location...] |
オプション |
説明 |
---|---|
composite_name |
ファイルコンテキストの複合名 |
-f file |
file という名前の入力ファイルを使用する |
options |
マウントのオプション |
location |
マウントする位置 |
-v |
詳細出力に設定。作成および修正されるコンテキストに関する情報を表示 |
-r |
composite_name で名前付きコンテキスト、およびそのサブコンテキストのすべてのバインディングを、入力で指定したものだけで置き換える。これは、コンテキスト (およびそのサブコンテキスト) を削除し、このオプションなしで、fncreate_fs を実行するのと同じ。-r オプションは、注意して使用する必要がある |
fncreate_fs コマンドは、FNS コンテキスト、および onc_fn_fs リファレンスタイプのバインディングを操作します。これは、onc_fn_fs_mount タイプのアドレスを使って、それぞれのリモートのマウント先を表わします。このタイプのアドレスに関連するデータは、XDR で符号化された 1 つの文字列で示した、対応するマウントのオプションやマウント先になっています。
入力ファイルには、composite_name のコンテキストでバインドされる名前や値が入っています。この形式は、間接自動マウントマップの形式に基づいてはいますが、全く同じではありません。入力ファイルには、以下のような形式のエントリが 1 つあるいは複数含まれています。
name [options] [location...] |
name には、リファレンス名が入ります。name フィールドは、単純な原子名のこともあれば、あるいはスラッシュで区切った階層構造を示す名前の場合もあります。さらに (.) といったようにドットを使って示すこともあり、この場合リファレンスは、composite_name に直接バインディングされます。
options には、マウントのオプションがあれば、それが入ります。options フィールドは、ハイフン (-) で始まります。この後に、マウントオプションのコンマで区切ったリスト (スペースなし) が続き、これはディレクトリをマウントするのに使用されます。またこれらのオプションは、composite_name/name サブコンテキストにも適用されます。なお、composite_name/name は、それ自身のマウントオプションは指定しません。
location には、マウントの位置が入ります。location フィールドでは、composite_name/name のファイルを提供する 1 つあるいは複数のホストを指定します。簡単な NFS マウントでは、location は、以下のような形式をとります。
host:path |
host には、ファイルシステムをマウントするサーバー名が入ります。path には、マウントするディレクトリのパス名が入ります。
各エントリについて、マウントの位置や対応するマウントのオプションのリファレンスは、composite_name/name に割り当てられます。
options と location の両方が省略されると、リファレンスは composite_name/name にバインドされません。既存のリファレンスもすべてバインドされません。
たとえば、kuanda のファイルシステムを図 22-4 に示すように、ホスト altair からディレクトリ /export/home/kuanda に NFS マウントするとしましょう。コマンドは以下のように実行されます。
% fncreate_fs -f infile user/kuanda/fs |
. altair:/export/home/kuanda |
図 22-5 に示されるような、複数のサーバーに分散された複雑なファイルシステムを設定する場合、以下のコマンドを実行します。
% fncreate_fs -f infile org/sales/fs |
ここでは、以下を含む infile を使用します。
tools/db altair:/export/db project altair:/export/proj project/lib altair:/export/lib project/src deneb:/export/src |
プロジェクトやそのサブコンテキストの src や lib の NFS マウントを、読み取り専用に変更する場合、infile を以下のように変更します。
tools/db svr1:/export/db project -ro svr1:/export/projproject/lib altair:/export/lib project/src svr2:/export/src |
-ro は、3 行目と 4 行目では必要ありません。なぜならば、src および lib は、project のサブコンテキストであり、これらは、上から -ro マウントオプションを継承するからです。
以下の入力ファイルは、org/sales/fs/project/src を除いて、すべてのマウントを読み取り専用にします。
. -ro tools/db svr1:/export/db project svr1:/export/proj project/lib altair:/export/lib project/src -rw svr2:/export/src |
fncreate_fs コマンドにより、以下のようにバインディングの説明をコマンド行で入れることもできます。
fncreate_fs composite_name [ mmount_options] [mount_location ...] |
これは、コマンドの入力ファイル書式を使用し、キーボードから個々のバインディングを入力するのと同じです。先の kuanda のファイルシステムを設定した例は、コマンド行からは、以下のように設定できます。
% fncreate_fs user/kuanda/fs altair:/export/home/kuanda |
同様に、図 22-5 に示した階層構造は、以下のような一連のコマンドを実行することによって、設定できます。
% fncreate_fs org/sales/fs/tools/db altair:/export/db % fncreate_fs org/sales/fs/project altair:/export/proj % fncreate_fs org/sales/fs/project/lib altair:/export/lib % fncreate_fs org/sales/fs/project/src deneb:/export/src |
これら 3 つすべてのマウントを読み取り専用にするには、以下のコマンドを実行します。
% fncreate_fs org/sales/fs -ro |