/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とは違い、マスターマップに記述しているマウントポイントを 空のディレクトリとして作成しておく必要はありません。 オートマウントされた時に自動的に作成します。