どーも!marusukeです!
manページの検索用データベースを作成・更新するためのコマンドmandbについてです!
mandbコマンドでできること
mandb [オプション]
mandbコマンドは、manページの検索用データベースを作成・更新するためのコマンドです
manやaproposは、内部で検索データベースを参照しています。そのデータを構築しているのがmandbです
主な役割:
- manページのインデックス作成
- 破損したデータベースの修復
- 新しく追加されたmanページの反映
- 検索高速化のためのキャッシュ生成
📘 インデックスとは?
本の「目次」のようなもの。高速に検索するために作られる一覧情報です
mandbコマンドの使用例
# データベースを再構築
sudo mandb
Processing manual pages under /usr/share/man...
Updating index cache for path `/usr/share/man/man1'. Wait...
mandb: database rebuilt
実行には通常、管理者権限(sudo)が必要です。
aproposで検索できない場合は、まずsudo mandbを試しましょう
mandbコマンドのオプション
| オプション | 説明 |
|---|---|
-c | 既存データベースを削除して完全再構築 |
-q | メッセージを表示しない |
-v | 詳細表示 |
-u | 古いエントリのみ更新 |
-p | パーミッションチェックのみ実行 |
mandbの重要な関連ファイル
① 設定ファイル
/etc/man_db.conf
mandbの動作を制御する設定ファイルです
多くのディストリビューション(Ubuntu / Debian / RHEL系 / Arch)で共通です
主な設定内容:
MANPATH /usr/share/man
MANDB_MAP /usr/share/man /var/cache/man
| 設定項目 | 内容 |
|---|---|
| MANPATH | manページの検索対象ディレクトリ |
| MANDB_MAP | manページとキャッシュ保存先の対応付け |
| NOCACHE | キャッシュを作成しないディレクトリ指定 |
② データベース保存場所
/var/cache/man
ここに検索用データベースが保存されます
確認例:
ls /var/cache/man
📘 キャッシュとは?
処理を高速化するために一時保存されるデータのこと。検索スピード向上に使われます
まとめ
mandbはman検索の裏側を支える重要コマンド- 設定ファイル →
/etc/man_db.conf - データベース保存先 →
/var/cache/man aproposが動かないときはsudo mandb
普段はあまり意識しないコマンドですが、
Linuxの内部構造を理解するうえでとても重要です
ぜひ一度、/etc/man_db.confの中身も読んでみてください
以上です!
ここまで読んでいただきありがとうございました!


コメント