Eine Datei wird im Befehl "locate" angezeigt, ist aber nicht vorhanden. Warum?

13017
PatrickCUDO

Ich habe ein seltsames Problem.
Ich korrigiere gerade eine Flash-Installation auf Backtrack 5 (Basierend auf Ubuntu). Ich muss Flash wirklich zum Laufen bringen, also habe ich bei Google nachgeschlagen. Auf einem Board sagte ein Typ, dass Flash auf dieser Distribution (die letztendlich auf Debian basiert) in iceweasel-flashplugin installiert wird. Daher müssen wir den Pfad von iceweasel auf Firefox umstellen. (Oder Firefox anweisen, dort nach dem Plugin zu suchen, da bin ich mir nicht sicher).

Aber hier kommt der komische Teil. Wenn Sie den Befehl locate verwenden, kann ich eine Datei und den Pfad dazu finden. Wenn Sie den cat-Befehl für diesen exakten Pfad versuchen, erhalten Sie "keine Datei oder Verzeichnis", und selbst mit ls -la kommt nichts. Ich habe nur zwei Dateien, die mit i beginnen.

Weiß jemand, warum das passiert? Und gibt es eine Möglichkeit, diese Flash-Installation zu reparieren?
Vielen Dank im Voraus.
shell screenshot

10

2 Antworten auf die Frage

9
Bibhas

locateverwendet eine Datenbank namens locatedb. Es wird normalerweise von Cron-Jobs des Systems aktualisiert. Wenn die Datenbank nicht aktualisiert wurde, werden nicht vorhandene oder neue Dateien / Verzeichnisse angezeigt. Sie können mit dem updatedbBefehl ein Update erzwingen . Siehe diesen Link unter anderem.

Manpage von locatesagt eindeutig -

 locate reads one or more databases prepared by updatedb and writes file names matching at least one of the PATTERNs to standard output, one per line.  By default, locate does not check whether files found in database still exist; locate can never report files created after the most recent update of the relevant database. 

Quelle

Ok, ich sollte die Regeln einhalten. RTFM! Vielen Dank für die Erklärung. PatrickCUDO vor 12 Jahren 0
4
Olivier S

locate is based on a database which is usually updated once a day via cron. Force an update: run updatedb and your locate iceweasel will return up-to-date results.