我的locate
命令不起作用,但我发现我必须运行updatedb
。 然而,在调用该命令后,bash说bash: updatedb: command not found
。 我该怎么办?
我认为你需要安装定位程序。 在debian lenny系统中,/ usr / bin / updatedb文件是/ etc / alternatives / updatedb的一个符号链接,它是/usr/bin/updatedb.findutils的符号链接。
使用dpkg -S你可以find一个文件所属的包:
$ dpkg -S /usr/bin/updatedb.findutils locate: /usr/bin/updatedb.findutils
所以我认为你需要安装locate,然后以root身份运行updatedb。
编辑:是的,你需要定位包。 在文件/usr/share/doc/findutils/NEWS.Debian.gz中可以阅读:
find不再包含在findutils包中。 它已被拆分成一个单独的包“定位”。
然后在2007年11月11日的更新日志中的/usr/share/doc/findutils/changelog.Debian.gz中:
将locate / updatedb拆分为一个单独的包。
它没有安装,不在natxo列出的目录中,但我find了一个解决scheme来安装它。 谢谢你的领头人!
http://www.nicecabbage.com/2009/08/install-locate-and-updatedb-on-centos-and-debian/
在root中: apt-get install locate
必须以root身份运行的命令必须不在用户的$ PATH中,因此只需运行:
$ sudo updatedb
它应该工作。
您必须使用pipe理权限调用“updatedb”。 据我所知,findutils是标准的Debian发行版/安装的一部分,所以看看/etc/updatedb.conf和/etc/cron.daily/(s)locate。
如果没有什么坏的,build立一个新的updatedb [定位数据库]是一个日常的cronjob,所以你不必担心这个问题