`updatedb` kann die Datei `mlocate.db` nicht öffnen

`updatedb` kann die Datei `mlocate.db` nicht öffnen

Wenn ich es updatedbvon einem Terminal aus ausführe, erhalte ich diese Fehlermeldung:

updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'

Irgendwelche Ideen, wie man updatedbzur Arbeit kommt?

Antwort1

Mir ist klar, dass dies ein alter Beitrag ist, aber ich sehe diese Lösung nirgendwo sonst.

Das Problem liegt nicht mlocate.db, wie man erwarten würde, an der Datei selbst. Es liegt an den Berechtigungen für die mlocateausführbare Datei. So wird das Problem behoben:

sudo chmod 2755 /usr/bin/mlocate

Dies ist die Ursache des Problems:

$ ls -lathr /usr/bin/mlocate
-rwxrxrx 1 root mlocate 39K 17. November 2014 /usr/bin/mlocate

Sie benötigen ein Bit in der Gruppe, damit Sie den Befehl ohne setuidausführen können . Sobald dies behoben ist, sollte Ihre Ausgabe folgendermaßen aussehen:locatesudols

$ ls -lathr /usr/bin/mlocate
-rwxrsrx 1 root mlocate 39K 17. November 2014 /usr/bin/mlocate

Einfach chmodwie von anderen empfohlen an der dbDatei selbst auszuführen, funktioniert nur bis zum nächsten Mal, wenn jemand ausführt updatedb. Dann werden die Berechtigungen zurückgesetzt.

Antwort2

Für mich nach Updates auf Ubuntu 14 bekam ich immer noch

$ locate chruby
locate: can not open `/var/lib/mlocate/mlocate.db': Permission denied

Das Problem bestand also nicht darin, die Leseberechtigungen für diese Datei zu erweitern, anders als in anderen Antworten behauptet.

Mein "Nicht-Rootuser" IstMeister. So wieWurzelIch habe diesen Benutzer zur Gruppe hinzugefügtmlokalisieren:

# addgroup master mlocate

Nachdem Sie die Details dieses Verzeichnisses aufgelistet haben, können Sie die Eigentümerschaft anzeigen:

# ls -al /var/lib/mlocate
drwxr-xr-x  2 root root        4096 Jun 19 13:21 ./
drwxr-xr-x 94 root root        4096 Jan 23 11:27 ../
-rw-r-----  1 root mlocate 50134121 Jun 19 13:21 mlocate.db

Antwort3

Bitte führen Sie den Befehl mit aus sudo:

sudo updatedb

Antwort4

Lesen man updatedbund erfahren Sie, wie Sie updatedbdie Ausgabe an einem anderen Ort in einem Verzeichnis schreiben, für das Sie Schreibberechtigung haben.

verwandte Informationen