Locate e updatedb não funcionam. O que devo fazer?

12

Meu comando locate não funciona, mas descobri que precisava executar updatedb . No entanto, ao invocar esse comando, o bash diz bash: updatedb: command not found . O que devo fazer?

    
por Doug 30.10.2010 / 23:19

4 respostas

10

Eu acho que você precisa instalar o programa de localização. Em um sistema debian lenny, o arquivo / usr / bin / updatedb é um link simbólico para / etc / alternatives / updatedb, que é um link simbólico para /usr/bin/updatedb.findutils.

Usando o dpkg -S, você pode descobrir a qual pacote um arquivo pertence:

$ dpkg -S /usr/bin/updatedb.findutils 
locate: /usr/bin/updatedb.findutils

Então, eu acho que você precisa instalar o locate e executar o updatedb como root.

Edit: sim, você precisa do pacote locate. No arquivo /usr/share/doc/findutils/NEWS.Debian.gz você pode ler:

locate is no longer included in the findutils package. It has been split off to a separate package "locate".

e depois em /usr/share/doc/findutils/changelog.Debian.gz, no changelog em 11 de novembro de 2007:

Split off locate/updatedb to a separate package.

    
por 30.10.2010 / 23:39
10

Ele não foi instalado e não está nos diretórios listados pelo natxo, mas eu encontrei uma solução para instalá-lo. Obrigado pelos caras da frente!

link

Na raiz: apt-get install locate

    
por 30.10.2010 / 23:45
2

O valor do comando que deve ser executado como root não está no $ PATH do usuário, portanto, apenas execute:

$ sudo updatedb

e isso deve funcionar.

    
por 30.10.2010 / 23:49
0

Você precisa invocar o 'updatedb' com privilégios administrativos. Até onde eu me lembro, findutils são parte de uma distribuição / instalação Debian padrão, então dê uma olhada em /etc/updatedb.conf e /etc/cron.daily/(s)locate.

Se nada for quebrado, o construído de um fresco updatedb [locate database] é um cronjob diário, então você não precisa se preocupar com isso de qualquer maneira

    
por 11.11.2010 / 22:51

Tags