aggiornatob: impossibile aprire un file temporaneo per `/var/lib/mlocate/mlocate.db '


15

Vado a usare il comando updatedb per aggiornare l'indice e ottengo

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

fyi Il comando di individuazione funziona, ad es

$ locate Index.xml
/usr/share/mysql/charsets/Index.xml
durrantm.../durrantm$ 

Come posso superare questo problema quando provo a eseguire updateb?

Risposte:


26

Devi eseguire il comando updatedb come superutente. Per esempio,

sudo updatedb

Una volta creato, il database può essere aggiornato da un utente normale ( ad es. Da crontab) senza privilegi di superutente?
holdenweb,

1
L'aggiornamento db crea il file cache in / var / cache / Locate / locatedb, che è scrivibile solo dalla radice. Quindi l'utente regolare non può eseguire il comando. Ma è possibile creare un file in una posizione diversa che è scrivibile da un utente normale. (Ma il problema è che gli utenti regolari non possono leggere l'intero file system)
Manula Waidyanatha,

1

Se ti manca il tempo e desideri individuare un file, non è necessario sudo updatedbper aggiornare la cache. Invece, puoi usare locate -e filenameper saltare la cache.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.