manpath(5) |
/etc/manpath.config |
manpath(5) |
名前
manpath - /etc/manpath.config ファイルのフォーマット
説明
manpath 設定ファイルは、マニュアルページのユーティリティによって用いられる。ユーザの manpath を実行時に評価したり、どのマニュアルページ系列 (hierarchy) すなわち manpath を `global' として扱うかを判断したり、どのディレクトリを cat ファイルを保管するディレクトリとして用いるかを決定するために用いられる。
環境変数 $
MANPATH がすでに設定されている場合には、 /etc/manpath.config に含まれている情報はそれを上書きしない。
フォーマット
現在のところ、以下のフィールドタイプが認識される。
-
#
comment
-
空行や
# で始まる行はコメントとみなされ、無視される。
-
MANDATORY_MANPATH
manpath_element
-
この形式の行は、自動的に生成される $
MANPATH には必ず含まれているべき manpath を示す。
/usr/man などが典型である。
-
MANPATH_MAP
path_element manpath_element
-
この形式の行は PATH から $
MANPATH へのマッピングを設定する。それぞれの
path_element がユーザの $
PATH に含まれていると、
manpath_element が $
MANPATH に追加される。
-
MANDB_MAP
manpath_element [
catpath_element ]
-
この形式の行は、どの manpath を `global' として扱い、またそれらの cat ページをどこに保存するかを指定する (後半は省略可)。この形式のフィールドは、
man が setuid されたプログラムである場合に特に重要である。なぜなら、これはどの系列を setuid されたユーザー権限でアクセスし、どれを起動ユーザーの権限でアクセスするかを指定することになるからである。
`global' なマニュアルページの系列は、通常
/usr 以下に保管されている。例えば
/usr/man,
/usr/local/man,
/usr/X11R6/man などがこれにあたる。
特定の
manpath_element からの cat ページは保管したくない場合や、伝統的な位置に保管したい場合には、
catpath_element は省略する。
伝統的な cat の場所は、リードオンリーでマウントされているマニュアルページの系列下にすることはできない。この理由から、これらの保管場所としては、任意のディレクトリ系列を指定することが可能になっている (もちろん指定したディレクトリは有効なものでなければならない)。
Linux FSSTND に従う場合には、キーワード `
FSSTND' を実際のディレクトリ名の代わりに用いることができる。
残念ながら、 `global' な man のツリーパスはすべて指定しなければならない。他のシステムパス (
/usr/man/sun のようなもの) やすべての
NLS ロケール パス (
/usr/man/de_DE.88591 のようなもの) も、それぞれすべて指定する必要がある。
情報は書かれた順に一行ずつ評価されるので、他の系列のサブツリーとなっているような manpath は先に書かなければならない。さもないと、マッチが正しく行われない可能性がある。例えば
/usr/man/de_DE.88591 は
/usr/man より先に来なければならない。
バグ
上記のルールが正しく守られない場合には、マニュアルページャーの機能は正しく動作しない。これらのルールは不必要に難しい。