使“locate”能够搜索外部硬盘上的文件

使“locate”能够搜索外部硬盘上的文件

如果我理解正确的话,数据库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如果其中一个数据库文件丢失,则会停止查找。包装脚本会更好:

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

答案2

配置文件在这里:/etc/updatedb.conf,所以如果您没有添加任何内容,只需挂载硬盘,然后执行updatedb,那么您就可以搜索外部硬盘分区上的文件。

相关内容