updatedb
só é executado uma vez por dia, você precisa executá-lo com privilégios de administrador para encontrar arquivos recentes.
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?
updatedb
só é executado uma vez por dia, você precisa executá-lo com privilégios de administrador para encontrar arquivos recentes.
Se você não é capaz de locate
um arquivo que obviamente existe
Eu vejo apenas duas possibilidades:
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
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.
Tags locate