Localize e updatedb não funciona. O que devo fazer?

12

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

Doug
fonte
O updatedb não está instalado ou não está na sua variável $ PATH. Ao executar o updatedb, você deve fazê-lo como root ou com o sudo.
Petrus
Você pode procurar por updatedb com "find" find / -name updatedb -print

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 / alternative / updatedb, que é um link simbólico para /usr/bin/updatedb.findutils.

Usando o dpkg -S, você pode encontrar 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 local e executar o updatedb como root.

Edit: sim, você precisa do pacote de localização. No arquivo /usr/share/doc/findutils/NEWS.Debian.gz, você pode ler:

O localize não está mais incluído no pacote findutils. Foi dividido em um pacote separado "localizar".

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

Divida a localização / updatedb em um pacote separado.

natxo asenjo
fonte
10

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

http://www.nicecabbage.com/2009/08/install-locate-and-updatedb-on-centos-and-debian/

Na raiz: apt-get install locate

Doug
fonte
?? aparentemente eu não expliquei corretamente. Em um sistema debian com o updatedb instalado, o uso do dpkg -S me disse a que pacote ele pertencia. Foi por isso que escrevi que você precisava do pacote de localização, que foi o que você fez. Ainda bem que você encontrou por conta própria.
Natxo asenjo
Para o CentOS / RHEL, é yum -y instalar o mlocate.
Music2myear 26/09/13
2

A obrigação do comando que deve ser executado como root não está no $ PATH do usuário; portanto, execute:

$ sudo updatedb

e deve funcionar.

Gopoi
fonte
0

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

Se nada estiver quebrado, a construção de um novo banco de dados atualizado [localizar banco de dados] é um cronograma diário, então você não precisa se preocupar com isso de qualquer maneira

C_B
fonte