.\" .\" Copyright (c) 1997-2004 Erez Zadok .\" Copyright (c) 1989 Jan-Simon Pendry .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1989 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" .\" $Id: amd.8,v 1.27 2004-09-24 05:47:39 metal Exp $ .\" %FreeBSD: src/contrib/amd/amd/amd.8,v 1.19 2004/07/06 13:16:44 mbr Exp % .\" .\" $FreeBSD$ .\" .Dd April 19, 1994 .Dt AMD 8 .Os .Sh 名称 .Nm amd .Nd 自動マウントファイルシステム .Sh 書式 .Nm amd .Fl H .Nm amd .Op Fl F Ar conf_file .Nm amd .Op Fl nprvHS .Op Fl a Ar mount_point .Op Fl c Ar duration .Op Fl d Ar domain .Bk -words .Op Fl k Ar kernel-arch .Ek .Op Fl l Ar logfile .Op Fl o Ar op_sys_ver .Op Fl t Ar timeout.retransmit .Bk -words .Op Fl w Ar interval .Ek .Op Fl x Ar log-option .Op Fl y Ar YP-domain .Bk -words .Op Fl C Ar cluster-name .Ek .Op Fl D Ar option .Op Fl F Ar conf_file .Op Fl O Ar op_sys_name .Op Fl T Ar tag .Oo .Ar directory mapname .Op Fl map-options .Oc .Ar ... .Sh 解説 .Nm は、ファイルシステムがアクセスされたときに自動的にそのファイルシステムを マウントするデーモンです。マウントされたファイルシステムは、アクセスがな ければ自動的にアンマウントされます。 .Pp .Nm は、自分自身を .Tn NFS サーバとして、指定された .Ar directory に結び付けます。 その指定ディレクトリ内でのファイルアクセスは .Nm によって処理されます。 .Nm は、 .Ar mapname で定義されたマップを使って、あるディレクトリ にどのファイルシステムを割り当てるかを決定します。 一般に .Ar mapname は、ホスト名やファイルシステムの情報、 マウントオプションから構成されます。 .Pp 前述の最初の形式では、 .Nm は短いヘルプ文字列を表示します。 第 2 の形式では、オプションを指定しないか、 .Fl F が使用されると、 .Nm は設定パラメータをファイル .Ar conf_file から読み込みます。設定ファイルのデフォルトは .Pa /etc/amd.conf です。 最後の形式についてはここから記述します。 .Sh オプション .Bl -tag -width Ds .It Fl a Ar temporary-directory 実際にファイルシステムをマウントする位置を指定します。 デフォルトは .Pa /.amd_mnt です。 .It Fl c Ar duration ディレクトリが使われないときに、探索に使われた名前をキャッシュ して保持する秒数を指定します。デフォルトは 5 分です。 .It Fl d Ar domain ローカルドメイン名を指定します。もしこのオプションが与 えられなければ、ドメイン名はホスト名から決定されます。 .It Fl k Ar kernel-arch カーネルアーキテクチャを指定します。これは単に ${karch} セレクタ を指定するだけです。 .It Fl l Ar logfile マウントおよびアンマウントのイベントを記録するログファイル を指定します。 もし、 .Ar logfile が .Em syslog という文字列なら、ログメッセージは .Xr syslog 3 によってシステムログデーモンに送られます。 デフォルトの syslog ファシリティは LOG_DAEMON です。 変更したい場合は、ログファイル名の後にコロンで区切って、 その名前を付けてください。 例えば、 .Ar logfile が文字列 .Dq Li syslog:local7 である場合、 .Nm は、 .Xr syslog 3 の LOG_LOCAL7 ファシリティを使用してログを取ります (ただしシステムに本ファシリティが存在する場合)。 .It Fl n ホスト名を正規化します。${rhost}で参照される名前は、使わ れる前にホストデータベースに関連づけて正規化されます。 これは、エイリアスを ``公式 (official)'' ホスト名に変換する効果があります。 .It Fl o Ar op_sys_ver 組み込まれているオペレーティングシステムバージョン番号を上書きします。 後方互換性のために、 組み込みのバージョン番号が望ましくない場合に有用です。 例えば、組み込みのバージョン番号が .Dq 2.5.1 の場合、 .Dq 5.5.1 で上書きして、後者を意識して書いた古いマップを使用することができます。 .It Fl p .Em プロセス ID を表示します。 .Nm のプロセス ID を標準出力に出力して、ファイルに保存することができます。 .It Fl r 存在するマウントをリスタートします。 .Nm はマウントファイルテーブルをスキャンして、 現在マウントされているファイルシステムを判断します。 ファイルシステムが自動マウントされたものであれば、 .Nm は、その情報を .Em 継承 します。 .It Fl t Ar timeout.retransmit .Tn NFS/RPC のリトライの間隔、すなわち NFS タイムアウト間隔を、 10 分の 1 秒単位で指定します (UDP のみ)。 デフォルト値は 0.8 秒です。2 番目の値は再送カウンタを変更します。 デフォルト値では 11 回の再送です。 カーネルは、両方の値を使用して amd と通信します。 どちらか一方か、両方の値が設定されていなければ、 適当なデフォルト値が設定されます。 .Pp amd は、 カーネルの RPC 再送機構がマウントリトライの引き金となることに依存しています。 これらのパラメータ値は、総合的なリトライ間隔を変更します。 間隔が長くなり過ぎると、対話応答が劣化します。 間隔が短くなり過ぎると、リトライが増え過ぎます。 .It Fl v バージョンを表示します。標準エラー出力に設定情報を表示します。 .It Fl w Ar interval キャッシュする時間を超えたファイルシステムのマウントを解除する時間を 秒単位で指定します。デフォルト値は 2 分です。 .It Fl x Ar options 実行時に何をログに記録するかを指定します。 .Ar options には次のものをコンマで区切って使用できます: fatal, error, user, warn, info, map, stats, all。 .It Fl y Ar domain .Tn NIS マップをとってくる際に用いる .Tn NIS ドメインを指定します。 デフォルトはシステムのドメイン名です。 このオプションは、 .Tn NIS を動かしていないときには無視されます。 .It Fl C Ar cluster-name 代わりの HP-UX クラスタ名を指定します。 .It Fl D Ar option デバッグオプションの種類を選択することができます。 .Ar option の頭に .Em no をつけると、そのオプションの逆の影響を与えます。 オプションは並べて指定することができます。もっとも役に立つのは .Ar all です。 .Pp .Fl D はデバッグのときにだけ使うものであるため、ここでは他のオプションに ついては説明しません。サポートされているオプションは .Fl v オプションで表示されますが、詳細はソースコードに記述されています。 .It Fl F Ar conf_file 使用する .Nm 設定ファイルを指定します。 ファイル形式については .Xr amd.conf 5 を参照してください。 この設定ファイルの用途は、 コマンドラインにて多くのオプションをタイプする代りに、 これらのオプションを指定することです。 .Nm amd.conf ファイルは、 amd が持つすべてのコマンドラインオプションに対するディレクティブと、 設定ファイルによってのみ利用可能な多くの設定を含みます。 本オプションで指定された設定ファイルは、 他のオプションすべてが処理された後で処理されます。 本オプションがコマンドラインのどこに置かれていたかは無関係です。 .It Fl H ヘルプと使用方法の文字列を表示します。 .It Fl O Ar op_sys_name 組み込まれているオペレーティングシステム名を上書きします。 後方互換性のために、 組み込みの名前が望ましくない場合に有用です。 例えば、組み込みの名前が .Dq sunos5 の場合、 .Dq sos5 で上書きして、後者を意識して書いた古いマップを使用することができます。 .It Fl S .Nm の実行中の実行可能ページをメモリにロックしません。 .Nm の性能向上のために、 .Xr plock 3 コールをサポートするシステムでは .Nm プロセスをメモリにロック可能です。 この場合、オペレーティングシステムが必要に応じて .Nm プロセスをスケジュールしたり、ページアウトしたり、スワップする 機会が減ります。 .Nm の性能は向上する傾向がありますが、 .Nm プロセスが使用するメモリを (他のプロセスが使えないようにして) 予約してしまうというコストとなります。 この動作が望ましくない場合、 .Fl S を使用します。 .It Fl T Ar tag .Xr amd.conf 5 で使用するタグを指定します。 タグが付いている全マップエントリが処理されます。 タグが付いていないマップエントリは常に処理されます。 .Ar tag 以外のタグが付いているマップエントリは処理されません。 .El .Sh 関連ファイル .Bl -tag -width /axx .It Pa /.amd_mnt 動的にファイルシステムがマウントされるディレクトリ .It Pa /etc/amd.conf デフォルトの設定ファイル .El .Sh 警告 マウントマップを作成する場合には注意が必要です。 .Pp .Tn NFS ファイルシステム上のシンボリックリンクは、信じられないほど 非効率的です。 .Tn NFS を実装した多くのシステムでは、 シンボリックリンクの展開結果はカーネルがキャッシュせずに、 .Em lookuppn (パス名変換)時にシンボリックリンクに出会うたびに .Tn NFS サーバに対して .Tn RPC コールを行うようになっています。 キャッシュをどこかに加えることによって、かなり大きな性能の向上が 得られるはずです。 上手に実現したオートマウントシステムで .Xr symlink 2 を置き換えれば大きくスピードアップすることができますが、 同時に多くのコンテキストスイッチも起こします。 .Pp .Nm のすべての機能を駆使できれば非常に便利ですが、 それにはかなりの想像力が必要になります。 .Sh 関連項目 .Xr domainname 1 , .Xr hostname 1 , .Xr syslog 3 , .Xr amd.conf 5 , .Xr mtab 5 , .Xr amq 8 , .Xr mount 8 , .Xr umount 8 .Rs .%T Amd \- The 4.4 BSD Automounter. .Re .Pp .Pa http://www.cs.columbia.edu/~ezk/am-utils/ .Sh 作者 .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp am-utils の、他の作者および貢献者は、 am-utils とともに配布されている .Pa AUTHORS ファイルに記述されています。 .Sh 歴史 .Nm amd は .Bx 4.4 にはじめて導入されました。