Como o comando locate não encontra arquivos óbvios?

4

O comando localizar parece intuitivo. Eu esperaria que localizasse arquivos no sistema de arquivos. No entanto, raramente encontra arquivos no sistema que estão realmente presentes:

$ locate ipsec.secrets

Isto não dá resultados, mesmo quando executado a partir do diretório raiz do sistema de arquivos /. O arquivo está de fato presente:

$ whereis ipsec.secrets
ipsec: /usr/sbin/ipsec /etc/ipsec.secrets /etc/ipsec.d /etc/ipsec.conf /usr/lib/ipsec /usr/share/man/man8/ipsec.8.gz

Por que o localizador não conseguiu encontrar esse arquivo?

    
por JohnMerlino 06.09.2014 / 23:02

2 respostas

7

updatedb só é executado uma vez por dia, você precisa executá-lo com privilégios de administrador para encontrar arquivos recentes.

    
por Jan 06.09.2014 / 23:09
2

Se você não é capaz de locate um arquivo que obviamente existe Eu vejo apenas duas possibilidades:

  1. O arquivo (diretório) foi criado após a última vez em que o banco de dados de localização foi atualizado. Por padrão, ele é atualizado uma vez por dia ( /etc/cron.daily/mlocate ).
    Com privilégios suficientes, você pode consertá-lo ao forçar uma atualização com

    sudo updatedb
    
  2. O arquivo (diretório) foi criado sob um caminho não varrido pelo updatedb (caso mais raro): você pode encontrar as chaves dos arquivos removidos no arquivo de configuração /etc/updatedb.conf . Pesquise por PRUNENAMES, PRUNEPATHS ou PRUNEFS e modifique, consequentemente, e depois atualize novamente o banco de dados.

    sudo pico /etc/updatedb.conf
    sudo updatedb
    

É claro que, mesmo sem privilégios, você ainda pode procurar o arquivo, por exemplo, verificando todos os diretórios e subdiretórios a partir de uma posição com algo como

find . -name '*ipsec.secrets*'  # to start from the current directory
find / -name '*ipsec.secrets*'  # to start from the root # long long 

Observação de que whereis tem um caminho codificado (onde pesquisar), portanto, nem sempre encontra o que você está procurando.

    
por Hastur 19.07.2016 / 13:44

Tags