Locate и updatedb не работает. Что я должен делать?


12

Моя locateкоманда не работает, но я узнал, что мне нужно бежать updatedb. Тем не менее, после вызова этой команды bash говорит bash: updatedb: command not found. Что я должен делать?


Либо updatedb не установлен, либо его нет в переменной $ PATH. При запуске updatedb вы должны делать это как root или с помощью sudo.
петрус

Вы можете найти updatedb с помощью команды «найти» find / -name updatedb -print

Ответы:


10

Я думаю, что вам нужно установить программу поиска. В системе debian lenny файл / usr / bin / updatedb является символической ссылкой на / etc / alternatives / updatedb, которая является символической ссылкой на /usr/bin/updatedb.findutils.

Используя dpkg -S, вы можете найти, к какому пакету принадлежит файл:

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

Поэтому я думаю, что вам нужно установить locate, а затем запустить updatedb от имени пользователя root.

Изменить: да, вам нужен пакет locate. В файле /usr/share/doc/findutils/NEWS.Debian.gz вы можете прочитать:

locate больше не входит в пакет findutils. Он был выделен в отдельный пакет "locate".

и затем в /usr/share/doc/findutils/changelog.Debian.gz в журнале изменений 11 ноября 2007 года:

Выделите locate / updatedb в отдельный пакет.


10

Он не был установлен и не в каталогах, перечисленных natxo, но я нашел решение для его установки. Спасибо за ведущие ребята!

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

В корне: apt-get install locate


?? по-видимому, я не объяснил это должным образом. В системе debian с установленным updatedb использование dpkg -S сообщило мне, к какому пакету он принадлежит. Вот почему я написал, что вам нужен пакет locate, что вы и сделали. Рад, что вы нашли это самостоятельно, хотя.
Natxo Asenjo

Для CentOS / RHEL это yum -y install mlocate.
music2myear

2

Необходимые команды, которые должны быть запущены от имени пользователя root, не находятся в $ PATH пользователя, поэтому просто запустите:

$ sudo updatedb

и это должно работать.


0

Вы должны вызвать 'updatedb' с правами администратора. Насколько я помню, findutils являются частью стандартного дистрибутива / установки Debian, поэтому взгляните на /etc/updatedb.conf и /etc/cron.daily/(s)locate.

Если ничего не сломано, сборка свежей обновленной базы данных [locate database] - это ежедневный ханджоб, так что вам все равно не стоит об этом беспокоиться

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.