updatedb :`/var/lib/mlocate/mlocate.db '에 대한 임시 파일을 열 수 없습니다


15

updatedb 명령을 사용하여 색인을 업데이트하고

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

fyi locate 명령이 작동 중입니다. 예 :

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

updatedb를 실행하려고 할 때이 문제를 어떻게 극복 할 수 있습니까?

답변:


26

업데이트 된 b 명령을 수퍼 유저로 실행해야합니다. 예를 들어

sudo updatedb

생성되면, 데이터베이스 (일반 사용자에 의해 업데이트 할 수 있습니다 에서 crontab슈퍼 유저 권한없이)?
holdenweb

1
업데이트 db는 / var / cache / locate / locatedb에 캐시 파일을 생성하며, 루트로만 쓸 수 있습니다. 따라서 일반 사용자는 명령을 실행할 수 없습니다. 그러나 일반 사용자가 쓸 수있는 다른 위치에 파일을 만들 수 있습니다. (그러나 문제는 일반 사용자가 전체 파일 시스템을 읽을 수 있습니다)
Manula Waidyanatha

1

시간이 부족하고 파일을 찾으려면 sudo updatedb캐시를 업데이트 할 필요가 없습니다 . 대신 locate -e filename캐시를 건너 뛰는 데 사용할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.