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?


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.


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


?? 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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.