next up previous contents
Next: 4.3.1.2 ダイレクトマップ Up: 4.3.1 オートマウントの設定 Previous: 4.3.1 オートマウントの設定

4.3.1.1 マスターマップ

マスターマップは、オートマウントの設定の大元を記述するマップです。 automountdは、起動されると、コマンドラインオプションで特に指定されない限り、 デフォルトのマスターマップファイルである/etc/auto_master を読みに 行きます(他のUNIXでは、auto.masterとなっている場合が多いようです)。 マスターマップの中には、次のようにいくつかの異なる形式の行を記述することが できます。各行は、それぞれがさらに独立したマップを指定しています。 それぞれについて解説を加えましょう。

マスターマップの例

# An example auto_master file.
+auto_master
/-                      /etc/auto_direct        -rw,intr
/net                    -hosts
/home/net               /etc/auto_home          -rw,intr
/var/spool/net          /etc/auto_mail          -rw,intr

各行の「#」以降改行まではコメントとみなされます。また、行が長くなる場合、 行末を\でエスケープしておくと次の行にそのまま続くものとみなされます。

行が「+マップ名」という形を取る場合、別のマップファイル、もしくはNISや NIS+などのネームサービスからのデータををこの部分に挿入することを示します。 NISのマップ上にauto_masterというデータがあり、 かつ/etc/nsswitch.confでのauto_masterのエントリが NIS優先になっていれば、NISサーバ上のauto_masterの記述が クライアント側でも使用されるわけです。 auto_masterに限らず、任意の名前のマップに対し、nsswitch.confの設定に 従って、NIS、NIS+からのデータ、/etc ディレクトリ内のファイルが読み込まれます。

行が「/-」で始まる場合、これは以下で説明する「ダイレクトマップ」を 記述する行です。 この例では、ダイレクトマップの情報は/etc/auto_directというファイル中に 記述されていることになります。

これ以外のマスターマップ中の行は、ディレクトリの絶対パスで始まっています。 これらの行は、それぞれ「インダイレクトマップ」を記述するものです。 インダイレクトマップは、マスターマップに記述されたディレクトリの 下にオートマウントされるサブディレクトリに関する記述を行なうものです。 上の例では、 /home/net以下にマウントされるファイルシステムについては /etc/auto_home/var/spool/net以下のサブディレクトリの マウントに関しては、/etc/auto_mailというファイル中に記述されていることを 表しています。/net以下の記述については多少注意が必要です。 マップ情報が格納されているファイル名の代わりに、-hostsと 記されていますが、これはクライアントの/netディレクトリの下にある NFSサーバの/から始まるファイルシステム全体を (もちろんshareされている部分だけではありますが)/net/サーバ名という ディレクトリを作り、そっくりマウントしてしまうというものです。 したがって、もしもserver1という名前のマシンがルートディレクトリ以下を すべてshareしていれば、たとえばserver1の/usr/data1というディレクトリは クライアントの/net/server1/usr/data1というディレクトリとして マウントされるわけです。 マスターマップ中で使用可能なこのような特殊なマップ名には、 他に-xfnマップと、-nullマップがあります。 -nullマップは、「+マップ名」で挿入された行のうち余分なものを 無効にするために用います。-xfnマップについては本講座では扱いません。

ダイレクトマップ、インダイレクトマップを記述する各行共に、 マスターマップ中での第3番目の欄はオプショナルなもので、 指定しなくとも構いません。 指定した場合は、それぞれのマップ内で何もマウント時のオプションを 指定されていないエントリに関しては、このマスターマップでの指定が デフォルトの値として用いられることになります。



Noriyo Kanayama