Você precisa executar o comando updatedb como superusuário. Por exemplo,
sudo updatedb
Vou usar o comando updatedb para atualizar o índice e recebo
updatedb: can not open a temporary file for '/var/lib/mlocate/mlocate.db'
fyi O comando locate está funcionando, por exemplo
$ locate Index.xml
/usr/share/mysql/charsets/Index.xml
durrantm.../durrantm$
Como posso superar esse problema ao tentar executar o updatedb?
Se você não tiver tempo e quiser localizar um arquivo,
você não precisa sudo updatedb
para atualizar o cache.
Em vez disso, você pode usar locate -e filename
para ignorar o cache.