Locate

使 locate 能夠搜尋外部硬碟上的文件

  • April 3, 2018

如果我理解正確,數據庫所locate依賴的只是內部硬碟分區上的文件。我想知道是否可以locate在外部硬碟上使用?

定位數據庫通常配置為忽略可移動磁碟上的文件,因為以後不能假定它們存在。它可以通過文件進行配置,例如/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 locate 版本,空路徑組件代表預設路徑,因此您可以使用

export LOCATE_PATH=:/var/cache/locate/my_removable_disk.locatedb

如果要將定位數據庫保留在可移動磁碟上,請不要將路徑添加到LOCATE_PATH,因為locate如果缺少其中一個數據庫文件,則會停止查找。包裝腳本會更好:

locates () {
 locate "$@"
 for d in /media/*; do
   locate -d "$d/.locatedb" "$@"
 done
}

引用自:https://unix.stackexchange.com/questions/48572