updatedb コマンドは、/etc/updatedb.conf ファイルに基づいてファイルのデータベースを構築するために使用されます。このコマンドは、/var/lib/mlocate/mlocate.db データベースを更新するために使用されます。 /etc/updatedb.conf ファイルは、データベースの構築中に除外する必要があるパスで構成されています。データベースの構築中に除外する必要があるパスを追加するには、/etc/updatedb.conf ファイルを開き、データベースの構築中に含める必要のないパスを PRUNEPATH 変数に指定します。たとえば、PRUNEPATH=”/etc” は、データベースの構築中に /etc ディレクトリを除外します。
これは、locate コマンドによって検索されるデフォルトのデータベースですが、ファイル パスを含むデータベースがさらに存在する場合があります。検索を実行する前にデータベースが更新されていない場合、最後の更新後に作成されたすべてのファイルが検索から除外されます。
updatedb コマンドの実行中に以下のエラーが発生した場合:
updatedb: command not found
選択したディストリビューションに従って、以下のパッケージをインストールしてみてください:
分布 | コマンド |
---|---|
Debian | apt-get インストール mlocate |
Ubuntu | apt-get インストール mlocate |
アルパイン | apk add mlocate |
Arch Linux | pacman -S mlocate |
カリ Linux | apt-get インストール mlocate |
CentOS | yum install mlocate |
Fedora | dnf install mlocate |
Raspbian | apt-get インストール mlocate |
updatedb コマンドの例
1. 一時的な場所にあるファイルを除外して、slocate データベースを更新します。
# updatedb -e "/tmp,/var/tmp,/usr/tmp,/afs,/net,/proc"
2. ディレクトリとそのすべてのサブディレクトリのインデックスを自分で作成するには (たとえば、/tmp/myindex に格納します)、次を実行します:
# updatedb -l0 -U directory -o /tmp/myindex
3. データベースの内容を更新します:
# updatedb
4. ファイル名が見つかったらすぐに表示:
# updatedb --verbose