/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番目の欄はオプショナルなもので、 指定しなくとも構いません。 指定した場合は、それぞれのマップ内で何もマウント時のオプションを 指定されていないエントリに関しては、このマスターマップでの指定が デフォルトの値として用いられることになります。