updatedb コマンドジェネレーター
locateが使用するファイル名データベースを作成または更新するためのupdatedbコマンドを生成する
updatedbの使い方
## updatedbとは何ですか?
`updatedb`は、`locate`がクエリを行うファイル名データベースを構築または更新します。実行後、`locate needle`は数ミリ秒で任意のファイルを名前から検索でき、これは`find`がファイルシステム全体をスキャンするよりもはるかに高速です。このデータベースは定期的に(通常はcronを使って毎日)再構築されますが、大きなファイルの変更があった直後に手動で実行することも可能です。
## 使用方法
1. **オプションの選択**:通常は不要で、`sudo updatedb`が一般的な形式です。必要に応じて`--output`、`--prunepaths`、`--prunefs`、`--database-root`、`--require-visibility`、または`-v`を追加します。 2. **カスタムデータベースの指定**(任意):デフォルトの`/var/lib/plocate/plocate.db`や`/var/lib/mlocate/mlocate.db`以外の場所に書き出すには`--output`を使用します。 3. **コピー&実行**:スキャンですべてのディレクトリを読み取れるように、先頭に`sudo`を付けます。
一般的なオプション
### `-v` 詳細出力 スキャンされるパスをそのまま出力します。データベースが実際に再構築されているかを確認するのに役立ちます。
### `--output=FILE` カスタムデータベース インデックスを特定のパス:`updatedb --output=/tmp/mydb.db`に書き込みます。その後、`locate -d /tmp/mydb.db pattern`を使ってそれをクエリします。
### `--prunepaths='DIRS'` ディレクトリのスキップ スキャンからパスを除外し、`locate`の結果に一切表示されないようにします:`updatedb --prunepaths='/tmp /var/tmp /mnt/backup'`。
### `--prunefs='FSTYPES'` ファイルシステムのスキップ `nfs`や`tmpfs`のような特定のファイルシステムタイプをスキップし、ネットワークマウントや一時的なマウントがインデックスされないようにします:`updatedb --prunefs='nfs tmpfs'`。
### `--database-root=PATH` ルートのスキャン サブツリーをファイルシステムのルートであるかのようにインデックスします。chroot環境やマウントされたイメージのデータベースを構築するのに便利です。
### `--require-visibility` 権限フィルタリング インデックス作成ユーザーが見ることができるファイルのみを保存し、残りのファイルは`locate`から隠します。plocateではデフォルトでオフ(ワールド読み取り可能なパスのみをインデックス)で、mlocateではデフォルトでオンです。
▶なぜlocateは私が作成したばかりのファイルを見つけられないのでしょうか?
▶mlocateとplocateの違いは何ですか?
▶updatedbを実行するのになぜsudoが必要なのですか?
このツールがあなたに役立ったなら、私にコーヒーをご馳走することをお勧めします。
私にコーヒーを買ってください。