updatedb: no se puede abrir un archivo temporal para `/var/lib/mlocate/mlocate.db '


15

Voy a usar el comando updatedb para actualizar el índice y obtengo

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

fyi El comando de localización funciona, p. ej.

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

¿Cómo puedo superar este problema cuando intento ejecutar updatedb?

Respuestas:


26

Debe ejecutar el comando updatedb como superusuario. Por ejemplo,

sudo updatedb

Una vez creada, ¿puede la base de datos ser actualizada por un usuario normal ( por ejemplo, desde crontab) sin privilegios de superusuario?
holdenweb

1
La actualización db crea el archivo de caché en / var / cache / localizar / ubicadob, que solo puede ser escrito por root. Por lo tanto, el usuario normal no puede ejecutar el comando. Pero es posible crear un archivo en una ubicación diferente que pueda escribir un usuario normal. (Pero el problema es que los usuarios habituales no pueden leer todo el sistema de archivos)
Manula Waidyanatha

1

Si no tiene tiempo y desea ubicar un archivo, no necesita hacerlo sudo updatedbpara actualizar el caché. En su lugar, puede usar locate -e filenamepara omitir el caché.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.