私が正しく理解した場合、データベースはlocate
内部ハードドライブパーティションのファイルにのみ依存します。locate
外付けハードドライブでも動作するかどうか疑問に思います。
答え1
ロケーションデータベースは通常、リムーバブルディスク上のファイルが後で存在すると仮定できないため、無視するように構成されます。たとえば、ファイルを使用して設定できます/etc/updatedb.conf
(場所は、locate
使用するプログラムやディストリビューションの設定方法によって異なります)。
リムーバブルディスクの場合は、データベースを別のファイルに保存するのが最善です。走る
updatedb --localpaths=/media/my_removable_disk --output=/var/cache/locate/my_removable_disk.locatedb
データベースを更新します。/var/cache/locate/my_removable_disk.locatedb
環境変数に追加してくださいLOCATE_PATH
。最新バージョンの GNU ターゲティングでは、空のパスコンポーネントがデフォルトパスを表しているため、次のようになります。
export LOCATE_PATH=:/var/cache/locate/my_removable_disk.locatedb
リムーバブルディスクに位置データベースを保持するには、パスを追加しないでください。LOCATE_PATH
データベース・ファイルlocate
の 1 つが欠落すると、照会は停止します。ラッパースクリプトが良いでしょう。
locates () {
locate "$@"
for d in /media/*; do
locate -d "$d/.locatedb" "$@"
done
}
答え2
設定ファイルはここにあります。/etc/updatedb.conf
何も追加せずにハードドライブをマウントして実行すると、外付けハードupdatedb
ドライブパーティションからファイルを検索できます。