スポンサーリンク

AMD.CONF(5) FreeBSD ファイルフォーマットマニュアル AMD.CONF(5)

名称

amd.conf − amd コンフィギュレーションファイル

書式

amd.conf

解説

amd.conf ファイルは amd のコンフィギュレーションファイルであり、 am-utils 一式に含まれます。

amd.conf は、自動マウントプログラム amd(8) 用の実行時コンフィギュレーショ ン情報を含んでいます。

ファイルフォーマット

このファイルはセクションとパラメータから成ります。セクションは角括弧で囲 んだセクション名で始まり、次のセクションが開始するかファイルの終りに達す るまで続きます。セクションには ‘name = value’ という形式のパラメータが含 まれます。

このファイルは行指向です。すなわち、改行までの各行は、 1 つのコメント、セ クション名あるいはパラメータを表します。継続行を記述する方法はありませ ん。

セクション名、パラメータ名及びその値は、大文字小文字を区別します。

パラメータ中の最初の等号のみ重要な意味を持ちます。最初の等号の前後にある 空白は取り除かれます。セクション及びパラメータ名の中の先頭、末尾あるいは 途中にある空白は意味を持ちません。パラメータ値の先頭や末尾にある空白は取 り除かれます。パラメータ値内部に空白を置くことはできません。ただし、 ‘name = "some value"’ のように、パラメータ値全体を二重引用符でくくった場 合を除きます。

井桁記号 (#) で始まる行は無視されます。空白文字のみ含む行も同じく無視され ます。

パラメータ記述において等号に続く値は文字列ないしブール値です。文字列の場 合、空白を含まなければ引用符は不要です。ブール値の場合は yes あるいは no と記述します。すべての値において大文字小文字が区別されます。キャッシュタ イムアウトのような一部の項目は数値をとります。

セクション

[global] セクション

このセクションのパラメータは、 amd 全体に適用されるか、または、これに続く すべての通常マップに適用されます。 1 つのコンフィギュレーションファイルに はグローバルセクションをただ 1 つだけ定義すべきです。

このセクションはコンフィギュレーションファイル中の最初に記述しておくこと を強く推奨します。もしそうしなければ、グローバルセクションより先に記述さ れた通常マップセクションでは、後に定義されるグローバルな値を利用できませ ん。

通常 [/map] セクション

通常の (グローバルでない) セクションのパラメータは、単一のマップエントリ に適用されます。例えば、マップセクション [/homes] が定義されていると、そ れに続くすべてのパラメータは、 amd が管理しているマウントポイント /homes に適用されます。

パラメータ

すべてのセクションに共通のパラメータ

以下のパラメータは、グローバルセクションとマップ用セクションのいずれにお いても指定できます。マップ用セクションで指定されたエントリは、デフォルト 値あるいはグローバルセクションで定義された値を上書きします。そのような共 通のパラメータがグローバルセクション中でのみ指定されている場合は、それに 続くすべての通常マップセクションにその指定が適用されます。

       browsable_dirs                        (文字列、デフォルト = no)

"yes" にすると、amd のトップレベルのマウントポイントが readdir(3) 呼び出しでブラウズ可能になります。つまり、例えば ls(1) を実行するこ とでそのディレクトリでどんなキーがマウント可能か知ることができるよ うになります。必ずしもすべてのエントリが readdir(3) に対して見える ようになるわけではありません。 "/default" エントリやワイルドカード エントリ、さらに "/" を含むエントリは見えるようになりません。もしこ のオプションに対して "full" を指定すれば、 "/default" 以外はすべて 見えるようになります。注意: もし "ls -l" や "ls -F" のような stat(2) を行おうとするコマンドを走らせると、 amd はそのマップ中の すべてのエントリをマウントしようとします。これはよく mount storm と 呼ばれます。

map_options
(文字列、デフォルト = オプションなし)
このオプションは、例えば ‘cache:=all’ のように、 amd のコマンドライ ンでマップオプションを指定するのと同じ働きをします。

map_type
(文字列、デフォルト = 全マップタイプを検索)
このオプションが指定されると、amd は指定されたタイプに対するマップ のみ初期化します。 amd のデフォルトのマップ検索は時間がかかるうえ、 使っていなくても NIS を初期化してしまうといった望まない副作用を持つ ことがありますが、そのような事態を避けるのにこのオプションが有効で す。指定可能な値は以下のものです。

file
通常ファイル
hesiod

MIT の hesiod ネームサービス
ldap

軽量ディレクトリアクセスプロトコル
ndbm

(新しい) dbm 形式のハッシュファイル
nis

ネットワークインフォメーションサービス (バージョン 2)
nisplus

ネットワークインフォメーションサービス プラス (バージョン 3)
passwd

ローカルのパスワードファイル
union

ユニオンマップ

mount_type
(文字列、デフォルト = nfs)
amd のすべてのマウントタイプで、 NFS が必須です。つまり、実行してい るローカルホストに対して、 amd はマップのマウントポイントにおける NFS サーバとなります。もし "autofs" を指定すると、amd はエラーを記 録し、 NFS に変換します。

search_path
(文字列、デフォルト = サーチパスなし)
ファイルマップに対するサーチパスを (コロンで区切った形式で) 指定し ます。サーチパスを用いることで、各サイトはローカルなマップのカスタ マイズや上書きが可能になり、必要に応じていくつかの場所にマップを分 散配置させることができます。

グローバルセクションにのみ適用されるパラメータ

arch
(文字列、デフォルト = コンパイル時の値)
amd
の変数 arch の値を上書きできます。

auto_dir
(文字列、デフォルト = /a)
amd
−a オプションと同じです。実際のマウントポイント用に amd がサ ブディレクトリを作成するプライベートディレクトリを設定します。

cache_duration
(数値、デフォルト = 300)
amd
−c オプションと同じです。検索されたマップエントリがキャッ シュ中に残る秒数を設定します。

cluster
(文字列、デフォルト = クラスタなし)
amd
−C オプションと同じです。使用する、別の HP-UX クラスタを指定 します。

debug_options
(文字列、デフォルト = デバッグオプションなし)
amd
−D オプションと同じです。 amd のデバッグオプションを指定しま す。 am-utils が −-enable-debug を用いてデバッグ機能付きで構築され ている場合のみ有効です。 "mem" オプションを含めすべてのオプション が、 −-enable-debug=mem のようにしてオンにできます。これら以外の場 合、デバッグオプションは無視されます。オプションはコンマで区切りま す。先頭に文字列 "no" を付けることでその意味を反転できます。サポー トされているデバッグオプション一覧を得るには amd −v を実行して下さ い。取りうる値は以下の通りです。

all
全オプション
amq

amq(8) に登録する
daemon

デーモンモードに移行する
fork

サーバを fork する
full

プログラムトレース
info

info サービスに固有のデバッグ情報 (hesiod, nis など)
mem

メモリアロケーションをトレースする
mtab

ローカルの ./mtab ファイルを用いる
str

文字列操作のデバッグ
test

完全なデバッグモードだがデーモンにしない
trace

プロトコルのトレース

dismount_interval
(数値、デフォルト = 120)
amd
−w オプションと同じです。キャッシュ期間を超えたファイルシス テムのマウントを外そうとするまでの時間を秒単位で指定します。

fully_qualified_hosts
(文字列、デフォルト = no)
"yes" に設定すると、 amd は完全なホスト名 (fully-qualified host name) を用いて RPC 認証を行います。システムによってはこの仕組みが必 要です。特にドメインにまたがるマウントを行う場合に必要となります。 この機能を有効にするため、 amd の変数 ${hostd} が用いられます。 ${domain} は空であってはいけません。

hesiod_base
(文字列、デフォルト = automount)
hesiod マップのためのベース名を指定します。

karch
(文字列、デフォルト = システムのカーネルアーキテクチャ)
amd
−k オプションと同じです。システムのカーネルアーキテクチャを 上書き指定できます。例えば Sun (Sparc) マシンに便利です。この場合、 一つの amd バイナリを作成し、それを複数のマシンで走らせますが、それ ぞれに正しい karch 変数 (例えば sun4c, sun4m, sun4u など) を設定し たいと思うでしょう。注意: もしこのオプションを指定しなければ、 amduname(3) を用いてそのマシンのカーネルアーキテクチャを判別しま す。

ldap_base
(文字列、デフォルト = 未設定)
LDAP のためのベース名を指定します。

ldap_cache_maxmem
(数値、デフォルト = 131072)
LDAP エントリをキャッシュするために amd が使用する最大メモリ量を指 定します。

ldap_cache_seconds
(数値、デフォルト = 0)
エントリをキャッシュに保持する秒数を指定します。

ldap_hostports
(文字列、デフォルト = 未設定)
LDAP のホストおよびポート値を指定します。

local_domain
(文字列、デフォルト = サブドメインなし)
amd
−d オプションと同じです。ローカルのドメイン名を指定します。 このオプションが与えられない場合、完全なホスト名から最初の要素を取 り除くことでドメイン名を決定します。

log_file
(文字列、デフォルト =/dev/stderr)
amd
−l オプションと同じです。 amd のイベントログを記録するファイ ル名を指定します。文字列 /dev/stderr を指定すると、 amd はイベント を標準エラー出力ファイル記述子に送ります。もし文字列 syslog を指定 すると、 amd はシステムログ記録機構 syslogd(8) を用いてイベントを記 録します。デフォルトで用いられる syslog ファシリティは LOG_DAEMON です。これを変更するには、ログファイル名に続いて、単一のコロンで区 切ってファシリティ名を記述します。例えば logfile として文字列 "syslog:local7" を指定すると、 amd は LOG_LOCAL7 ファシリティを用い て syslog(3) 経由でメッセージを記録します (そのファシリティが当該シ ステムに存在する場合)。

log_options
(文字列、デフォルト = ロギングオプションなし)
amd
−x オプションと同じです。 amd のロギングオプションを指定しま す。複数のオプションはコンマで区切ります。先頭に ‘‘no’’ をつけるこ とで、その意味を反転させることができます。ロギングオプション ‘‘debug’’ は、 am-utils が −-enable-debug 付きで構築された場合のみ 利用可能です。 amd −H を実行するとサポートされているデバッグオプ ションとロギングオプションの一覧が得られます。指定可能な値は以下の 通りです。

all
すべてのメッセージ
debug

デバッグメッセージ
error

重大ではないシステムエラー
fatal

重大なエラー
info

参考情報
map

マップエラー
stats

より詳細な統計情報
user

重大ではないユーザエラー
warn

警告
warning

警告

nfs_proto
(文字列、デフォルト = まず tcp、次に udp)
デフォルトでは、 amd は TCP を試行し、その次に UDP を試行します。こ のオプションを使用すると、すべての NFS プロトコルに TCP または UDP を強制します。これは amd maps 中の設定に優先します。 amd が NFSv3 サポート付きでコンパイルされているが不安定な場合に有用でしょう。こ のオプションを使用することで、 NFSv3 サポートが再度必要となるような 時まで、動的に (amd を再コンパイルすることなく) NFSv3 の使用を完全 に止められます。

nfs_retransmit_counter
(数値、デフォルト = 110)
amd
−t interval.counter オプションの counter 部と同じです。再送 カウンタの値を 1/10 秒単位で指定します。

nfs_retry_interval
(数値、デフォルト = 8)
amd
−t interval.counter オプションの interval 部と同じです。 NFS/RPC の再試行 (UDP のみ) の間の NFS タイムアウトインターバルを 1/10 秒単位で指定します。この値は、カーネルが amd との通信に使用し ます。

amd は、カーネルの RPC 再送信機構がマウントの再試行を引き起こすこと に依存しています。 nfs_retransmit_counter および nfs_retry_interval の値は、システム全体の再試行インターバルを変更します。インターバル が長過ぎると、対話的な応答性が落ちます。インターバルが短か過ぎる と、リトライ回数が多くなり過ぎます。

nfs_allow_insecure_port
(文字列、デフォルト = no)
通常 amd は、非特権ポート (Unix システムでは 1024 以上のポート) か らの要求を拒否し、特権を持つユーザとカーネルのみが NFS 要求を送出で きるようにします。しかし、いくつかのカーネル (あるバージョンの Darwin, MacOS X, Linux) には、ある特定の状況において非特権ポートを 使用するバグがあり、これによって amd は直ちに停止してしまいます。こ のパラメータによって、多少セキュリティを犠牲にすることで、そのよう なシステム上でも amd を正常に動作させることができます。 amd のログ に "ignoring request from foo:1234, port not reserved" のようなメッ セージがあった場合、このパラメータを有効にして、もう一度試してみて ください。

nfs_vers
(数値、デフォルト = まずバージョン 3、次に 2)
デフォルトでは、 amd はバージョン 3 を試行し、それからバージョン 2 を試行します。このオプションを使用すると、すべての NFS プロトコルに 3 または 2 を強制します。これは amd maps 中の設定に優先します。 amd が NFSv3 サポート付きでコンパイルされているが不安定な場合に有用で しょう。このオプションを使用することで、 NFSv3 サポートが再度必要と なるような時まで、動的に (amd を再コンパイルすることなく) NFSv3 の 使用を完全に止められます。

nis_domain
(文字列、デフォルト = ローカル NIS ドメイン名)
amd
−y オプションと同じです。 NIS マップを取得するために、別の NIS ドメインを指定します。デフォルトはシステムのドメイン名です。 NIS サポートが利用可能でない場合、このオプションは無視されます。

normalize_hostnames
(ブール値、デフォルト = no)
amd
−n オプションと同じです。 ‘‘yes’’ を指定すると、 ${rhost} の 参照先の名前は、前もってホストデータベースからの相対値に正規化され ます。別名 (エイリアス) を "公式な" 名前に変換する効果があります。

os
(文字列、デフォルト = コンパイル時の値)
amd
−O オプションと同じです。コンパイル時に決まったオペレーティ ングシステム名を上書きできます。以前との互換性を保つためには組み込 み済みの名前はふさわしくない、という場合に便利です。例えば、もし組 み込まれた名前が ‘‘sunos5’’ の場合、これを上書きして ‘‘sos5’’ とす ることで、後者の OS 名を前提に書かれた以前のマップを利用できます。

osver
(文字列、デフォルト = コンパイル時の値)
amd
−o オプションと同じです。コンパイル時に決まったオペレーティ ングシステムのバージョン番号を上書きします。以前との互換性を保つた めには組み込み済みのバージョンはふさわしくない、という場合に便利で す。例えば、もし組み込まれたバージョン番号が ‘‘2.5.1’’ の場合、これ を上書きして ‘‘5.5.1’’ とすることで、後者のバージョンを前提に書かれ た以前のマップを利用できます。

pid_file
(文字列、デフォルト =/dev/stdout)
実行しているデーモンのプロセス ID を格納するファイルを指定します。 これを指定しない場合、 amd は自分のプロセス ID を標準出力にのみ書き 出します。実行後に amd を kill する際に便利です。注意: 実行中の amd のプロセス ID は amq −p によっても得られます。このファイルは print_pid オプションがオンの場合のみ使用されます。

plock
(ブール値、デフォルト = yes)
amd
−S オプションと同じです。 ‘‘yes’’ を指定すると、実行中の amd の実行可能ページをメモリ上にロックします。 plock(3) をサポートして いるシステムでは、 amd プロセスをメモリ上にロックできます。このよう にして、オペレーティングシステムが必要に応じて amd プロセスをスケ ジュールしたり、ページアウトさせたり、スワップさせたりする可能性を 減らします。これにより amd の性能は向上しますが、その反面、 amd プ ロセスが使用しているメモリが予約される (他のプロセスがそのメモリを 使えなくなる) という代償もあります。

portmap_program
(数値、デフォルト = 300019)
公式の番号とは別の、ポートマップ RPC プログラム番号を指定します。こ れは複数の amd プロセスを実行させる場合に便利です。例えば、メインの amd プロセスに全く影響を与えることなく、別の amd を ‘‘test’’ モード で実行できます。安全のため、指定する別のプログラム番号は 300019 か ら 300029 までの範囲になければなりません。 amq は、接続するための別 のプログラム番号を指定するのに用いる −P オプションを持っています。 このように、 amq は同じホスト上で実行されている複数の amd プロセス を完全に制御することが可能です。

print_pid
(ブール値、デフォルト = no)
amd
−p オプションと同じです。 ‘‘yes’’ を指定すると、 amd は起動 時にそのプロセス ID を表示します。

print_version
(ブール値、デフォルト = no)
amd
−v オプションと同じですが、バージョンを表示しても amd は実行 を続けます。 ‘‘yes’’ の場合、 amd は、コンフィギュレーション設定や コンパイル時の値を含むバージョン情報文字列を表示します。

restart_mounts
(ブール値、デフォルト = no)
amd
−r オプションと同じです。 ‘‘yes’’ とすると、 amd はマウント テーブルを走査して、現在どのファイルシステムがマウントされているの か判断します。その中に自動マウントすべきファイルシステムがあれば、 amd はそれを継承します。

selectors_on_default
(ブール値、デフォルト = no)
‘‘yes’’ とすると、マップの /default エントリが検索され、そのマップ 中の他のすべてのキーのデフォルト値を設定する前に、すべてのセレクタ を処理します。あるパラメータに基づき、ある完全なマップに対して異な るオプションを設定したい場合に有用です。例えば、slip ベースの低速 ネットワーク越しの NFS 性能を改善するためには、次のようにします。

/defaults \
wire==slip-net;opts:=intr,rsize=1024,wsize=1024 \
wire!=slip-net;opts:=intr,rsize=8192,wsize=8192

       show_statfs_entries                             (ブール値、デフォルト = no)

‘‘yes’’ とすると、ブラウズ可能なすべてのマップは、 "df" 実行時にエ ントリ数 (key 数) をあわせて表示します (
この機能は、 statfs(2) 呼 び出しに対して非 0 値を返すことで実現されています) 。

unmount_on_exit
(ブール値、デフォルト = no)
‘‘yes’’ とすると、 amd は関知しているすべてのファイルシステムをアン マウントしようとします。通常、 amd はすべての (特に) NFS マウントさ れたファイルシステムをそのまま残します。注意: restart_mounts オプ ションまたは −r フラグが指定されていない限り、 amd は起動時以前にマ ウントされていたファイルシステムのことを関知しません。

通常のマップセクションに適用されるパラメータ

map_name
(文字列、必須)
キーが配置されるマップの名前です。

tag
(文字列、デフォルト = タグなし)
コンフィギュレーションファイルの各マップエントリにはタグをつけるこ とができます。タグが指定されない場合、そのマップセクションは常に amd で処理されます。タグが指定されている場合、 amd−T オプション が指定され、そのコマンドラインオプションの値がマップセクションのタ グ名と一致する場合のみ、 amd はそのマップを処理します。

使用例

以下に示すものは、私がいつも使っている実際の amd コンフィギュレーションで す。

# グローバルオプションセクション
[ global ]
normalize_hostnames =    no
print_pid =              no
restart_mounts =         yes
auto_dir =               /n
log_file =               /var/log/amd
log_options =            all
#debug_options =         all
plock =                  no
selectors_on_default =   yes
# config.guess は "sunos5" を選びました。
# 今のところこれを変えようとは思いません。
os =                     sos5
# "os" を設定後 print_version を有効にすると、設定後のものが表示されます。
print_version =          no
map_type =               file
search_path =            /etc/amdmaps:/usr/lib/amd:/usr/local/AMD/lib
browsable_dirs =         yes

# マウントポイントの定義
[ /u ]
map_name =               amd.u

[ /proj ]
map_name =               amd.proj

[ /src ]
map_name =               amd.src

[ /misc ]
map_name =               amd.misc

[ /import ]
map_name =               amd.import

[ /tftpboot/.amd ]
tag =                    tftpboot
map_name =               amd.tftpboot

関連項目

amd(8), amq(8)

作者

Erez Zadok ⟨ezk@cs.columbia.edu⟩, Department of Computer Science, Columbia University, New York, USA.

Jan-Simon Pendry ⟨jsp@doc.ic.ac.uk⟩, Department of Computing, Imperial College, London, UK.

am-utils の他の作者並びに貢献者のリストが、am-utils と共に配布されている AUTHORS ファイルにあります。

歴史

amd ユーティリティは 4.4BSD で初めて登場しました。

FreeBSD 10.0 April 7, 1997 FreeBSD 10.0

スポンサーリンク