/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番目の欄はオプショナルなもので、指定しなくとも構いません。 指定した場合は、それぞれのマップ内で何もマウント時のオプションを指定さ れていないエントリに関しては、このマスターマップでの指定がデフォルトの 値として用いられることになります。
また、mountとは違い、マスターマップに記述しているマウントポイントを 空のディレクトリとして作成しておく必要はありません。 オートマウントされた時に自動的に作成します。