No.035ファイルとフォルダ
updatedb
アップデートディービー・locateデータベース更新
locate系コマンドが参照するファイル名データベースを作成・更新します。検索速度を支える裏方ですが、実行権限や除外設定の理解が重要です。
答えよく使う形
注意危険度は中程度です。
$ updatedb
$ updatedb --output=/tmp/test.db
$ updatedb --prunepaths='/proc /sys /dev'
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中でLPIC-1・14 駅め / 106
どんなコマンド?
locateの結果が古いと感じた時、独自の検索データベースを作りたい時、検索対象の除外設定を調整したい時に使います。通常は自動実行の仕組み確認が先です。
updatedbは、locateが高速検索に使う索引を作成・更新するコマンドです。locateの結果が新しくない時、多くの場合はupdatedbの実行タイミングや除外設定が原因です。つまりupdatedbは、検索精度と鮮度を決める基盤です。
通常はcronやsystemd timerなどで定期実行されることが多く、手動で頻繁に叩く道具ではありません。しかし、大量の構成変更直後や検索結果の鮮度確認が必要な時には、仕組みを理解していると役立ちます。どこを索引対象にし、どこを除外するかで、速度、容量、秘匿性が変わります。
注意点は、環境差と権限です。実装により既定のデータベース場所や設定ファイル、除外項目が異なります。また、システム全体を索引化するには通常、十分な権限が必要です。検索の鮮度向上だけを目的に無造作に全体更新すると、負荷や情報露出の観点で問題になることがあります。
書き方とオプション
組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。
$ updatedb
使用例と実行結果
行を押すとコピーできます。
まず安全に試す
3分ミッション
手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。
0 / 2
つまずいたとき
locateが古い結果を返す
原因updatedbの実行頻度や除外設定が期待と合っていません。
こうする自動実行の設定とupdatedbの対象範囲を確認します。
手動更新で権限エラーになる
原因システム全体の走査や既定出力先への書き込みに必要な権限がありません。
こうする必要な権限で実行するか、限定的な出力先と対象で試します。
終わったときの数(戻り値)
$ echo $?
- 0正常終了。データベース更新に成功しました。
- >0権限不足、設定不備、出力先問題、オプション不正などで失敗しました。
気をつけることと入れ方
危険度は中程度です。システム全体を走査するため、負荷、秘匿情報、除外設定の不備に注意が必要です。通常運用では既定設定と自動実行の仕組みを理解したうえで扱います。
環境による違い
updatedbはfindutils版やmlocate系、plocate系で設定や既定が異なります。記事では『locate用データベースを更新する』役割を中心に説明し、細かな既定値は実装依存として分けて書くと安全です。
確かめた環境2026-04-09 に確認
よくある質問
updatedbは毎回手動で実行すべきですか。
通常は不要です。多くの環境では定期実行の仕組みがあり、まずその設定を確認します。
locateが速いのはなぜですか。
updatedbが事前に作成した索引を検索しているためです。
資格試験では
- LinuC レベル1大事1.02.4 ファイルの配置と検索updatedbは、ファイルの配置確認や検索に関わる学習項目です。
- LPIC-1大事104.7 システムファイルの検索と適切な配置updatedbは、システム上のファイルやコマンドを見つける技能と関係します。
- 共通基礎大事Linuxコマンド基礎
updatedb を最後まで読みました。
Linux コマンド辞典に戻る134 / 144