updatedb: tidak dapat membuka file sementara untuk `/var/lib/mlocate/mlocate.db '


15

Saya pergi menggunakan perintah updatedb untuk memperbarui indeks dan saya dapatkan

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

fyi Perintah loc berfungsi, mis

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

Bagaimana saya bisa mengatasi masalah ini ketika mencoba menjalankan updatedb?

Jawaban:


25

Anda harus menjalankan perintah updatedb sebagai pengguna super. Sebagai contoh,

sudo updatedb

Setelah dibuat, dapatkah basis data diperbarui oleh pengguna biasa ( mis. Dari crontab) tanpa hak istimewa pengguna super?
holdenweb

1
Pembaruan db membuat file cache di / var / cache / temukan / locatedb, yang hanya dapat ditulis oleh root. Jadi pengguna biasa tidak dapat menjalankan perintah. Tetapi dimungkinkan untuk membuat file di lokasi berbeda yang dapat ditulis oleh pengguna biasa. (Tetapi masalahnya adalah pengguna biasa tidak dapat membaca keseluruhan sistem file)
Manula Waidyanatha

1

Jika Anda kekurangan waktu dan ingin mencari file, Anda tidak perlu sudo updatedbmemperbarui cache. Sebagai gantinya, Anda dapat menggunakan locate -e filenameuntuk melewati cache.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.