Wo befindet sich die updatedb-Datenbank?


14

Ich möchte alle Einträge von locate und seiner Datenbank mit purge entfernen.

Ich habe es versucht

apt-get purge locate

und

rm /etc/updatedb*

Aber ist die Datenbank auch weg?
Wo befindet sich die aktualisierte Datenbank auf Debian Squeeze?

Ich möchte es auch manuell löschen, damit ich es sauber neu installieren kann

Antworten:


12

man updatedb

suche nach 'DATEIEN'

meins sagt:

FILES
       /etc/updatedb.conf
              A configuration file.  See updatedb.conf(5).

       /var/lib/mlocate/mlocate.db
              The database updated by default.

1
Das ist mlocate, nicht locate. Trotzdem ist / var / lib / locate keine schlechte Vermutung für locate.
Dennis Kaarsemaker

1
Ich versuche, sowohl allgemeine Ratschläge als auch die Ergebnisse der Befolgung dieser Ratschläge auf meinem System zu geben.
ptman

2
Oh, und es scheint, als wäre mlocate das Standardverzeichnis von Debian.
ptman

mlocate ist nicht installiert, weder slocate
rubo77

11

Keine Notwendigkeit, die ausführbare Datei zu dekompilieren! Fragen Sie einfach 'locate' :-)

Für die aktualisierte Version 4.6.0 von b / locate (GNU findutils) rufen Sie an

locate --statistics

Für mich (auf Cygwin) ergibt sich daraus etwas wie

Database /var/locatedb is in the GNU LOCATE02 format.
Database was last modified at 2017:03:13 22:44:31.849172100 +0100
Locate database size: 6101081 bytes
All Filenames: 202075
File names have a cumulative length of 22094021 bytes.
Of those file names,

    2591 contain whitespace,
    0 contain newline characters,
    and 20 contain characters with the high bit set.
Compression ratio 72.39% (higher is better)


6

Ich ziehe es vor, den Prozess einfach zu straffen, da er Sie genau dorthin führen wird. Dies ist verteilungsunabhängig und funktioniert, wenn Sie nicht über die Manpages verfügen.

# strace updatedb 2>&1 |grep ^open|grep db

open("/etc/updatedb.conf", O_RDONLY)    = 3
open("/var/lib/mlocate/mlocate.db", O_RDWR) = 3
open("/var/lib/mlocate/mlocate.db.bUUaw4", O_RDWR|O_CREAT|O_EXCL, 0600) = 4

1

[ANONYMISIERT 2017]: Siehe obige Antwort: locate --statistics works.

Wenn Sie eine /etc/updatedb.conf haben, können Sie dort nachsehen. Ich nicht. Sie können die Handbuchseite für locate lesen, die besagt, dass der Standardspeicherort / var / cache / locate / locatedb ist. Meins ist nicht da. Sie können locate verwenden, um nach Dateien mit den Namen "updatedb" oder "locatedb" zu suchen. Ich verwende Cygwin unter Windows 7.


und wenn du suchst mlocate.db?
Rubo77

1
@ phil-goetz Es besteht keine Notwendigkeit zu dekompilieren. Sie können die genaue Position mit einem Einzeiler erhalten, wenn Sie Strace installiert haben:$ sudo strace updatedb 2>&1 | grep -o "^open.*O_RDWR.*"
Cengiz Can

@ Engiz: Clever! Meine Update-Datenbank ist einfach / var / locatedb.
Phil Goetz
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.