manpath(5)

名前
manpath - /etc/manpath.config ファイルのフォーマット

説明
manpath 設定ファイルは、ユーザの manpath を実行時に評価したり、 `global' として扱うマニュアルページ階層 (manpath) を指示したり、 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 ページをどこに保存するかを指定する (catpath_element は省略可)。 この形式のフィールドは、 man が setuid されたプログラムの場合は特に重要である。なぜなら、これは どの階層を setuid されたユーザー権限でアクセスし、どれを起動ユーザーの 権限でアクセスするかを指定することになるからである。 `global' なマニュアルページの階層は、通常 /usr 以下に保管されている。例えば /usr/man, /usr/local/man, /usr/X11R6/man などがこれにあたる。 特定の manpath_element からの cat ページを保管したくない場合や、従来の位置に保管したい場合には、 catpath_element は省略する。 従来用いられていた cat ファイルの保管場所 (/usr/man/cat?/ など) は、 マニュアルページの階層がリードオンリーでマウントされている場合には 使用することができなかった。このため、保管場所として 任意のディレクトリ階層を指定することが可能になっている (もちろん指定した ディレクトリは有効なものでなければならない)。 Linux FSSTND に従う場合には、 キーワード `FSSTND' を実際のディレクトリ名の代わりに用いることができる。 残念ながら、 `global' な man のツリーパスは すべて 指定しなければならない。 他のシステムパス ( /usr/man/sun のようなもの) やすべての NLS ロケール パス ( /usr/man/de_DE.88591 のようなもの) も、それぞれすべて指定する必要がある。 情報は書かれた順に一行ずつ評価されるので、他の階層のサブツリーとなって いるような manpath は先に書かなければならない。そうしないとマッチが 正しく行われない可能性がある。例えば /usr/man/de_DE.88591 は /usr/man より先に来なければならない。

バグ
上記のルールが正しく守られない場合には、マニュアルページャーの機能は 正しく動作しない。これらのルールは不必要に難しい。