定位和更新数据库不起作用。我该怎么办?

定位和更新数据库不起作用。我该怎么办?

我的locate命令不起作用,但我发现我必须运行updatedb。但是,在调用该命令时,bash 说bash: updatedb: command not found。我该怎么办?

答案1

我认为您需要安装locate程序。在debian lenny系统中,/usr/bin/updatedb文件是/etc/alternatives/updatedb的符号链接,而/etc/alternatives/updatedb又是/usr/bin/updatedb.findutils的符号链接。

使用 dpkg -S 你可以找到文件所属的包:

$ dpkg -S /usr/bin/updatedb.findutils 
locate: /usr/bin/updatedb.findutils

因此我认为您需要安装locate,然后以root身份运行updatedb。

编辑:是的,您需要locate包。在文件/usr/share/doc/findutils/NEWS.Debian.gz中您可以阅读:

findutils 包中不再包含 findutils 包。它已被拆分为单独的“locate”包。

然后在 /usr/share/doc/findutils/changelog.Debian.gz 中,2007 年 11 月 11 日的变更日志中:

将locate/updatedb分离到一个单独的包中。

答案2

它没有安装,也不在natxo列出的目录中,但我找到了一个安装它的解决方案。感谢各位的指导!

http://www.nicecabbage.com/2009/08/install-locate-and-updatedb-on-centos-and-debian/

在根目录中:apt-get install locate

答案3

为了使您的locate命令正常工作,请从apt安装locate,然后运行命令updatedb。

sudo apt install locate
sudo updatedb

答案4

您必须使用管理员权限调用“updatedb”。据我所知,findutils 是标准 Debian 发行版/安装的一部分,因此请查看 /etc/updatedb.conf 和 /etc/cron.daily/(s)locate。

如果没有损坏,则构建一个全新的 updatedb [定位数据库] 是一项每日 cronjob,因此您不必担心这一点

相关内容