説明
オートマウントシステムマップは、オートマウントシステムのマスタマップ (auto.master(5) を参照) によって参照される ファイルまたは NIS マップである。 オートマウントシステムマップは (auto.master ファイルで指定される) マップのマウントポイント以下のファイルシステムがどのように マウントされるかを記述する。 この man ページでは、 sun マップの書式について記述している。 他のマップ書式 (例えば hesiod) が指定された場合、 この man ページは適用できない。 マップは即時に変更可能で、オートマウントシステムはそのマップに対して 次の操作が行われたときに変更を認識できる。 これは auto.master マップについては当てはまらない。書式
これはテキストファイルの書式の説明である。 これらのファイルを指定する別の方法もある。 空行と # で始まる行は全て無視される。 マップ内の 1 行の基本的な書式は、以下の通りである:key [-options] location
key
間接マウントの場合、これはマウントポイントと マウントされているファイルシステム内にあるパスとの間のパス名の一部分である。 このキーは通常はマウントポイント以下のサブディレクトリ名と考えることができる。直接マウントの場合、これはマウントポイントの完全なパスである。 このマップはマスタマップにおける /- というマウントポイントと 常に関連づけられている。
options
options は存在してもしなくてもよい。 options は auto.master ファイルでも指定することができる。 両方で指定されている場合は、両方の値が足し合わされる (これが SunOS との違いである)。 options はコンマで区切られたオプションのリストで、 mount(8) コマンドに通常与えているものと同じである。 2 つの特殊なオプションがある。 -fstype= はファイルシステムがデフォルトの NFS タイプでない場合にファイルシステムタイプを指定するために使用される。 このオプションは mount コマンドではなく、オートマウントシステムで処理される。 -strict はファイルシステムをマウントするときのエラーを 致命的なものとして扱うために使われる。 これは複数のファイルシステムがマウントされる (`multimounts') 時に重要である。 このオプションが指定された場合、 ファイルシステムが 1 つでもマウントできない場合は、 全てのファイルシステムがマウントされない。
location
location はどこからファイルシステムをマウントするかを指定する。 多くの場合、これは NFS ボリュームで通常は host:pathname という記法が使われ、 リモートファイルシステムとマウントされるパスを示す。 マウントされるファイルシステムが (ローカルの /dev エントリや smbfs 共有のように) / で始まる場合は、 : を前に付ける必要がある (例: :/dev/sda1)。例
-
kernel -ro,soft,intr ftp.kernel.org:/pub/linux boot -fstype=ext2 :/dev/hda1 windoze -fstype=smbfs ://windoze/c removable -fstype=ext2 :/dev/hdd cd -fstype=iso9660,ro :/dev/hdc floppy -fstype=auto :/dev/fd0 server -rw,hard,intr / -ro myserver.me.org:/ \ /usr myserver.me.org:/usr \ /home myserver.me.org:/home
1 行目では ftp.kernel.org にあるカーネルのディレクトリの NFS リモートマウントを指定している。 これは読み込み専用でマウントされる。 2 行目ではローカルの ide ドライブ上の ext2 ボリュームをマウントしている。 3 行目は Windows マシンで共有で公開されているドライブの 自動マウントを可能にしている。 残りは全く説明の必要がないだろう。 最後のエントリ (最後の 3 行) はマルチマップ (下記を参照) の例である。
(vfat のように) アクセス許可を持たないファイルシステムに対して オートマウントシステムを使った場合は、 root ユーザとしてマウントされるので、 (一般の) ユーザは通常はそのファイルシステムに書き込むことができない。 この問題は (gid=floppy のように) オプション gid=<gid> を渡すことで解決できる。 そうすると、そのファイルシステムは root ではなく グループ floppy でマウントされる。 そしてユーザをそのグループに追加することで、 ファイルシステムに書き込むことができる。 以下は autofs マップのエントリの例である:
-
floppy-vfat -fstype=vfat,sync,gid=floppy,umask=002 :/dev/fd0
機能
マップのキーの置換
location における & 文字は、その行にマッチする key フィールドの値に展開される (これはワイルドカードキーと共に使った場合にのみ意味があるだろう)。ワイルドカードキー
間接マップの key フィールドにおける * は全てのキーにマッチする。 実用的な例としては、以下のエントリがある:
-
* &:/home/&
これにより、パス /mountpoint/hostname/local-path を使って、ローカルにあるホスト全ての home ディレクトリに アクセスできるようになる。
変数の置換
オートマウントマップの key および location フィールドで、 シェルスクリプトでおなじみの $ を先頭に付けて (フィールド名を区切るために中括弧 (curly brace) も使用可) 以下の特別な変数を使った場合、次のような値に置き換えられる:
-
ARCH アーキテクチャ (uname -m) CPU プロセッサタイプ HOST ホスト名 (uname -n) OSNAME オペレーティングシステム (uname -s) OSREL OS のリリース (uname -r) OSVERS OS のバージョン (uname -v)
automount(8) の -Dvariable=Value マップオプションを使って、 追加でエントリを定義することができる。
実行可能マップ
マップに実行可能のマークを付けることができる。 auto.master マップを解析する初期化スクリプトは、これを program マップとしてオートマウントシステムに渡す。 program マップは key を引き数としたスクリプトとして呼び出される。 エラーが発生した場合、出力は 1 行も返されない。 成功した場合は、マップを含む 1 行以上が (改行は \ でクォートされて) 返される。program マップを使うためには、 automount(8) デーモンは file タイプではなく program タイプとして 開始されていなければならない。 これは初期化スクリプトの中で実装されている。
実行可能マップは、エラーの場合、 全く出力を行わないことに加えて失敗を表すエラーコードを返すことができる。 標準エラー出力へ送られる全ての出力は、システムログに記録される。
マルチマウント
multi-mount マップは複数のファイルシステムをマウントするのに使用される。 これは以下の形式である:
-
key [-options] [mountpoint [-options] location...]...
改行を `\' でクォートすれば、複数行に渡って書くこともできる。 このマップが存在する場合、デフォルトのマウントオプションに加えて、 マウントポイント毎のマウントオプションが追加される。
レプリケートされたサーバ
-
パスが同じ複数のレプリケートされたホスト: <path> host1,host2,hostn:/path/path あるものはパスが同じで、あるものはパスが異なる複数のホスト: <path> host1,host2:/blah host3:/some/other/path パスが異なる (可能性がある) 複数のレプリケートされたホスト: <path> host1:/path/pathA host2:/path/pathB 重み付けが異なり、パスが同じレプリケートされたホスト: <path> host1(5),host2(6),host3(1):/path/path 重み付けが異なり、異なる (可能性がある) パスのレプリケートされたホスト: <path> host1(3):/path/pathA host2(5):/path/pathB その他の書式は不自然でサポートされていないが、 変形したこれらの書式でも動作する: <path> host1(3),host:/blah
サポート範囲外
このバージョンのオートマウントシステムは FILE, NIS, LDAP マップに対する 直接マップのみをサポートしており、 SunOS 形式のレプリケートされたファイルシステムについては mount(8) がサポートする範囲でのみ取り扱う。警告
Sun の multi-mount 書式とは異なり、 全てのマウントにおいてマウントポイントは必須である。著者
この man ページは Christoph Lameter <[email protected]> によって Debian GNU/Linux システムのために書かれた。 H. Peter Anvin <[email protected]>, Jeremy Fitzhardinge <[email protected]>, Ian Kent <[email protected]> によって編集された。