'updatedb' não pode abrir o arquivo 'mlocate.db'

1

Quando executo updatedb de um terminal, recebo este erro:

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

Alguma idéia sobre como fazer com que updatedb funcione?

    
por Ken Sandoval 20.03.2016 / 00:57

4 respostas

2

Sei que este é um post antigo, mas não vejo essa solução em outro lugar.

O problema não é o arquivo mlocate.db , como seria de esperar. São as permissões no executável mlocate . Isso consertará o problema:

sudo chmod 2755 /usr/bin/mlocate

Esta é a fonte do problema:

$ ls -lathr /usr/bin/mlocate 
-rwxr-xr-x 1 root mlocate 39K Nov 17  2014 /usr/bin/mlocate

Você precisa de um setuid no grupo para permitir que você execute o comando locate sem sudo . Depois de corrigido, sua saída ls deve ficar assim:

$ ls -lathr /usr/bin/mlocate 
-rwxr-sr-x 1 root mlocate 39K Nov 17  2014 /usr/bin/mlocate

Basta fazer um chmod , como outros recomendam em relação ao arquivo db , só funcionará até a próxima vez que alguém executar updatedb . Então as permissões serão redefinidas.

    
por Chris Hubbard 15.03.2018 / 00:31
1

Para mim, após as atualizações para o Ubuntu 14, continuei recebendo

$ locate chruby
locate: can not open '/var/lib/mlocate/mlocate.db': Permission denied

então o problema não era ampliar as permissões de leitura no arquivo, ao contrário de outras respostas.

Meu " nonrootuser " é mestre . Então, um root eu adicionei esse usuário ao grupo mlocate :

# addgroup master mlocate

Após listar os detalhes desse diretório para ver as propriedades:

# ls -al /var/lib/mlocate
drwxr-xr-x  2 root root        4096 Jun 19 13:21 ./
drwxr-xr-x 94 root root        4096 Jan 23 11:27 ../
-rw-r-----  1 root mlocate 50134121 Jun 19 13:21 mlocate.db
    
por Marcos 19.06.2017 / 13:34
0

Por favor, execute o comando com sudo :

sudo updatedb
    
por chili555 20.03.2016 / 01:13
-1

Leia man updatedb e aprenda como escrever a saída de updatedb em outro lugar, em um diretório para o qual você tenha permissão de escrita.

    
por waltinator 20.03.2016 / 01:19