autofs を使用して、複数のシステムに共通のディレクトリにファイルを統合できます。共通ディレクトリ用にプロジェクト関連ファイルのディレクトリ構造を autofs マップに追加できます。このディレクトリ構造によって、ユーザーはシステム内の物理的およびハードウェア変更に関係なくプロジェクトファイルを使用できます。
詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。
/common-dir auto_common-dir -nosuid
auto_common-dir マップによって共通ディレクトリの内容が決まります。
auto_common-dir マップが、各エントリがサブプロジェクトを表現するように編成されます。最初の操作により、マップが次のようになります。
project1 system1:/export/common-dir/& project2 system1:/export/common-dir/& app1 system2:/export/common-dir/&
各エントリの最後のアンパサンド (&) は、エントリ鍵を省略したものです。
大きなソフトウェア開発プロジェクトの管理者であるとします。そこで、プロジェクト関連のファイルをすべて /ws というディレクトリの下で利用できるようにすると仮定します。このようなディレクトリは、そのサイトのすべてのワークステーションで共通である必要があります。
/ws ディレクトリに対するエントリを、サイトの auto_master マップに追加します。
/ws auto_ws -nosuid
auto_ws マップが、/ws ディレクトリの内容を決定します。–nosuid は、作業空間に存在する可能性のある setuid プログラムをユーザーが実行するのを防ぎます。各エントリがサブプロジェクトを表現するように、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 つのマウントが必要です。
各行の末尾のバックスラッシュは、そのエントリが次の行に続くことを示します。実際、エントリは 1 つの長い行となっていますが、行ブレークやインデントのいくつかはエントリを読みやすくする目的で使用されています。
tools ディレクトリには、すべてのサブプロジェクトに対するソフトウェア開発ツールが含まれているため、同じサブディレクトリ構造の対象とはなっていません。tools ディレクトリは単一のマウントのままです。
この配置は、システムの管理者に大きな柔軟性を提供します。ソフトウェアプロジェクトでは、非常に大きなディスクスペースを消費します。プロジェクトのすべての過程を通じて、さまざまなディスクパーティションを再配置し、拡張することになる可能性もあります。これらの変更が auto_ws マップに反映されている場合は、/ws のディレクトリ階層は変わらないため、ユーザーに通知する必要はありません。
サーバー alpha と bravo が同じ autofs マップを見るため、これらのシステムにログインするユーザーは予期したとおりに /ws 名前空間を見つけることができます。このようなユーザーには、NFS マウントではなく、ループバックマウントを通じてのローカルファイルへの直接アクセスが提供されます。