大きなソフトウェアの開発プロジェクトの管理者を想定してください。そこで、プロジェクト関連のファイルをすべて /ws というディレクトリの下で利用できるようにしたいと仮定します。このようなディレクトリは、そのサイトのすべてのワークステーションで共通である必要があります。
/ws ディレクトリに対するエントリを、サイトの NIS または NIS+ の auto_master マップに追加します。
/ws auto_ws -nosuid |
auto_ws マップが、/ws ディレクトリの内容を決定します。
-nosuid オプションを用心のために追加しておきます。
このオプションは、すべての作業空間に存在する可能性のある setuid プログラムをユーザーが動作できないようにします。
auto_ws マップにエントリを追加します。
auto_ws マップは、各エントリがサブプロジェクトを記述するように構成されています。最初の操作により、マップが次のようになります。
compiler alpha:/export/ws/& windows alpha:/export/ws/& files bravo:/export/ws/& drivers alpha:/export/ws/& man bravo:/export/ws/& tools delta:/export/ws/& |
各エントリの最後のアンパサンド (&) は、エントリキーを省略したものです。たとえば、最初のエントリは次のエントリと同じ意味です。
compiler alpha:/export/ws/compiler |
この最初の操作によりマップは単純に見えるようになりますが、不適切な場合もあります。プロジェクトの調整者が、man エントリ内のドキュメントが各サブプロジェクトの下のサブディレクトリとして提供されるべきである見なすとします。さらに、各サブプロジェクトは、ソフトウェアの複数のバージョンを記述するために、複数のサブディレクトリを必要とします。この場合、サーバー上のディスクパーティション全体に対して、これらのサブディレクトリをそれぞれ割り当てる必要があります。
次のように、マップ内のエントリを修正してください。
compiler ¥ /vers1.0 alpha:/export/ws/&/vers1.0 ¥ /vers2.0 bravo:/export/ws/&/vers2.0 ¥ /man bravo:/export/ws/&/man windows ¥ /vers1.0 alpha:/export/ws/&/vers1.0 ¥ /man bravo:/export/ws/&/man files ¥ /vers1.0 alpha:/export/ws/&/vers1.0 ¥ /vers2.0 bravo:/export/ws/&/vers2.0 ¥ /vers3.0 bravo:/export/ws/&/vers3.0 ¥ /man bravo:/export/ws/&/man drivers ¥ /vers1.0 alpha:/export/ws/&/vers1.0 ¥ /man bravo:/export/ws/&/man tools ¥ / delta:/export/ws/& |
現在のマップはかなり長くなっていますが、まだ 5 つのエントリを含んでいるだけです。各エントリは、複数のマウントがあるために長くなっています。たとえば、/ws/compiler に対する参照は、vers1.0、vers2.0、および man ディレクトリ用に 3 つのマウントを必要とします。各行の最後のバックスラッシュは、エントリが次の行まで続いていることを autofs に伝えるものです。実際、エントリは 1 つの長い行となっていますが、行ブレークやインデントのいくつかはエントリを読みやすくする目的で使用されています。tools ディレクトリには、すべてのサブプロジェクトに対するソフトウェア開発ツールが含まれているため、同じサブディレクトリ構造の対象とはなっていません。tools ディレクトリは単一のマウントのままです。
この配置は、システムの管理者に大きな柔軟性を提供します。ソフトウェアプロジェクトでは、非常に大きなディスクスペースを消費します。プロジェクトのすべての過程を通じて、さまざまなディスクパーティションを再配置し、拡張することになる可能性もあります。このような変更が auto_ws マップに反映される限り、/ws 下のディレクトリ階層構造が変更されることもなく、ユーザーに対する通知の必要はありません。
サーバー alpha と bravo が同一の autofs マップを参照するため、それらのコンピュータにログインするすべてのユーザーは期待通りに /ws 名前空間を発見できます。このようなユーザーには、NFS マウントではなく、ループバックマウントを通じてのローカルファイルへの直接アクセスが提供されます。