【Linux】manページの検索用データベースを作成・更新するためのコマンド:mandb

Linux

どーも!marusukeです!

manページの検索用データベースを作成・更新するためのコマンドmandbについてです!

mandbコマンドでできること

mandb [オプション]

mandbコマンドは、manページの検索用データベースを作成・更新するためのコマンドです

manaproposは、内部で検索データベースを参照しています。そのデータを構築しているのが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
設定項目内容
MANPATHmanページの検索対象ディレクトリ
MANDB_MAPmanページとキャッシュ保存先の対応付け
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の中身も読んでみてください

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました