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?


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.


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


?? 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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.