autofs
概要

通常、外部のストレージやネットワーク共有をシステムで利用するには、「マウント」(mount)と呼ばれる接続操作が必要である。管理者が手動で実行するか、起動時に設定ファイルを基に一括してマウントするのが一般的な方法である。
autofsでは、利用者やアプリケーションが特定のディレクトリにアクセスした瞬間を検知し、設定に従って自動的にマウント処理を行う。その後は通常のディレクトリと同様に利用でき、一定時間アクセスがない状態が続くと自動的に切り離し処理である「アンマウント」(unmount)が実行される。必要なときだけ接続が確立されるため、起動時に全ファイルシステムをマウントする必要がなく、システム資源の消費を抑えられる。
NFS(ネットワークファイルシステム)との組み合わせで特によく使われる。常時接続する構成では、接続先サーバの停止やネットワーク障害がシステム全体に影響を及ぼすことがある。autofsを使うと実際にアクセスが発生したときのみ通信するため、こうした障害の影響を局所化できる。大学や企業のUNIXワークステーション環境では、どの端末にログインしても同じパスでホームディレクトリを参照できる構成の実現手段として普及した。
動作内容は「マップファイル」(map file)と呼ばれる定義情報で管理する。マウントポイントとなるディレクトリ名、接続先のデバイスやネットワークパス、マウントオプション、タイムアウト時間などを記述する。マップファイルはローカルのテキストファイルとして用意するほか、LDAPやNISなどのディレクトリサービスから取得することもでき、多数のマシンで共通のマウント設定を一元管理することもできる。
Linuxの実装はカーネルのautofsモジュールとユーザー空間のデーモン(automount)で構成される。カーネルモジュールが対象ディレクトリへのアクセスを検知してデーモンに通知し、デーモンがマウント処理を実行する。近年ではsystemdの自動マウント機能が使われる場面も増えているが、柔軟な設定や大規模なネットワーク環境ではautofsが引き続き利用されている。