Locate und updatedb funktionieren nicht. Was soll ich machen?

12

Mein locateBefehl funktioniert nicht, aber ich habe herausgefunden, dass ich rennen musste updatedb. Beim Aufrufen dieses Befehls sagt Bash jedoch bash: updatedb: command not found. Was soll ich machen?

Doug
quelle
Entweder ist updatedb nicht installiert, oder es befindet sich nicht in Ihrer $ PATH-Variablen. Wenn Sie updatedb ausführen, müssen Sie dies als root oder mit sudo tun.
Petrus
Sie könnten nach updatedb suchen mit "find" find / -name updatedb -print

Antworten:

10

Ich denke, Sie müssen das Lokalisierungsprogramm installieren. In einem Debian-Lenny-System ist die Datei / usr / bin / updatedb ein Symlink zu / etc / alternatives / updatedb, der ein Symlink zu /usr/bin/updatedb.findutils ist.

Mit dpkg -S können Sie herausfinden, zu welchem ​​Paket eine Datei gehört:

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

Ich denke, Sie müssen locate installieren und anschließend updatedb als root ausführen.

Edit: ja, du brauchst das locate Paket. In der Datei /usr/share/doc/findutils/NEWS.Debian.gz können Sie lesen:

locate ist nicht mehr im findutils-Paket enthalten. Es wurde in ein separates Paket "locate" aufgeteilt.

und dann in /usr/share/doc/findutils/changelog.Debian.gz im Changelog vom 11. November 2007:

Teilen Sie locate / updatedb in ein separates Paket auf.

Natxo Asenjo
quelle
10

Es wurde nicht installiert und nicht in den von natxo aufgelisteten Verzeichnissen, aber ich habe eine Lösung gefunden, um es zu installieren. Vielen Dank für die Lead-Jungs!

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

In der Wurzel: apt-get install locate

Doug
quelle
?? anscheinend habe ich es nicht richtig erklärt. In einem Debian-System, auf dem updatedb installiert ist, hat mir dpkg -S mitgeteilt, zu welchem ​​Paket es gehört. Deshalb habe ich dir geschrieben, dass du das locate-Paket brauchst, was du getan hast. Ich bin froh, dass du es allein gefunden hast.
Natxo Asenjo
Für CentOS / RHEL ist es einfach, mlocate zu installieren.
music2myear
2

Muss des Befehls, der als root ausgeführt werden muss, nicht im $ PATH des Benutzers enthalten sein, so führen Sie einfach Folgendes aus:

$ sudo updatedb

und es sollte funktionieren.

Gopoi
quelle
0

Sie müssen 'updatedb' mit Administratorrechten aufrufen. Soweit ich mich erinnere, sind findutils Teil einer Standard-Debian-Distribution / -Installation, schauen Sie sich also /etc/updatedb.conf und /etc/cron.daily/(s)locate an.

Wenn nichts kaputt ist, ist die Erstellung einer aktualisierten Datenbank ein täglicher Cronjob, sodass Sie sich darüber sowieso keine Sorgen machen müssen

C_B
quelle