So aktualisieren Sie den Linux-Cache

73

Wie kann ich den Cache / Index von locate aktualisieren? Ich habe neue Pakete installiert und die Dateien sind eindeutig noch nicht indiziert. Welchen Befehl muss ich also ausführen, damit der Indexer ausgelöst wird?

Ich arbeite derzeit an Debian Jessie (im Test): mit Linux mbpc 3.13-1-amd64 # 1 SMP Debian 3.13.7-1 (2014-03-25) x86_64 GNU / Linux

sweisgerber.dev
quelle
Wenn Sie locateaus dem GNU Find Utilities- Projekt stammen (was bei Verwendung von Debian Jessie wahrscheinlich der Fall
sampablokuper

Antworten:

103

Der Befehl lautet:

sudo updatedb

Sehen Sie man updatedbfür weitere Details.

pehrs
quelle
1
Soweit ich mich erinnere, müssen Sie root sein, um das zu tun, oder sudo es
David Lakatos
1
Und als cron setzen.
Florin Asăvoaie
18
Wenn Sie nicht root sind, sollten Sie trotzdem nicht auf ServerFault sein ...
Jenny D
3
@ JennyD Dies ist nicht ServerFault ...
John Hunt
2
Eine Bemerkung hier, dieser Befehl läuft für ~ 13 Minuten auf Debian Stretch RC3 und Sata SSD-Laufwerk, also haben Sie etwas Geduld.
Marecky
21

Unter OSX ist dies: sudo /usr/libexec/locate.updatedb

Was kann verknüpft werden mit: sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb

Scheint albern, einen symbolischen Link für einen Standard-Unix-Befehl erstellen zu müssen, aber da ist er.

jcollum
quelle
0

Auf debian / ubuntu können Sie herausfinden, welche locate-Version installiert ist mit:

dpkg -S locate | grep /bin/

In meinem Fall ist es:

mlocate: /usr/bin/updatedb.mlocate

Um festzustellen, welcher Cron-Job dafür verantwortlich ist, führen Sie Folgendes aus:

dpkg -L mlocate | grep cron

Was in meinem Fall zeigt:

/etc/cron.daily
/etc/cron.daily/mlocate

Führen Sie zum Aktualisieren der Datenbank den Cron-Job als root aus:

sudo /etc/cron.daily/mlocate

Wenn es keinen Cronjob gibt und updatedb alleine nicht funktioniert, versuchen Sie, Ihre installierte Version zu finden mit:

dpkg -L mlocate | grep /bin/

was zurückgibt:

/usr/bin/mlocate
/usr/bin/updatedb.mlocate
Wolfmanx
quelle