Como atualizar o cache de "localização" do Linux

73

Como posso atualizar o cache / índice de localização? Instalei novos pacotes e os arquivos ainda não estão indexados. Então, qual comando eu tenho que confirmar, para que o indexador seja acionado?

Atualmente, estou trabalhando no debian jessie (testing): com o Linux mbpc 3.13-1-amd64 # 1 SMP Debian 3.13.7-1 (25-03-2014) x86_64 GNU / Linux

sweisgerber.dev
fonte
Se a sua locateé a partir do GNU Localizar Utilities projeto (que, se você estiver usando Debian Jessie, provavelmente é), então você pode encontrar o site e documentação do projeto aqui: gnu.org/software/findutils
sampablokuper

Respostas:

103

O comando é:

sudo updatedb

Veja man updatedbpara mais detalhes.

pehrs
fonte
11
como eu me lembro que você tem que ser root para fazer isso, ou sudo-lo
David Lakatos
11
E colocá-lo como um cron.
Florin Asăvoaie
18
Se você não for root, você não deve estar em ServerFault de qualquer maneira ...
Jenny D
3
@JennyD Este não é ServerFault ...
John Hunt
2
Uma observação aqui, este comando é executado por ~ 13 minutos nas unidades Debian Stretch RC3 e Sata SSD, portanto seja paciente.
Marecky
21

No OSX, é o seguinte: sudo /usr/libexec/locate.updatedb

Que pode ser associado a: sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb

Parece bobagem ter que fazer um link simbólico para um comando unix padrão, mas existe.

jcollum
fonte
0

No debian / ubuntu, você pode encontrar qual o sabor do localizador instalado com:

dpkg -S locate | grep /bin/

No meu caso é:

mlocate: /usr/bin/updatedb.mlocate

Para ver qual tarefa cron, se houver, é responsável, execute:

dpkg -L mlocate | grep cron

O que no meu caso mostra:

/etc/cron.daily
/etc/cron.daily/mlocate

Para atualizar o banco de dados, execute o trabalho cron como root:

sudo /etc/cron.daily/mlocate

Se não houver cronjob e updatedb por si só não funcionar, tente encontrar o seu sabor instalado com:

dpkg -L mlocate | grep /bin/

que retorna:

/usr/bin/mlocate
/usr/bin/updatedb.mlocate
wolfmanx
fonte