Um arquivo é exibido no comando "localizar", mas não existe. Por quê?

12

Estou tendo um problema estranho.
Atualmente, estou corrigindo uma instalação em flash no Backtrack 5 (baseado no Ubuntu). Eu realmente preciso fazer o flash funcionar, então procurei no google. Em um quadro, um cara disse que nesta distribuição (que finalmente é baseada no Debian) o flash é instalado no iceweasel-flashplugin, então precisamos mudar o caminho para lá de iceweasel para o firefox. (Ou diga ao firefox para procurar o plugin lá embaixo, não tenho certeza).

Mas aqui vem a parte estranha. Ao usar o comando localizar, posso encontrar algum arquivo e o caminho para ele. Tentar o comando cat nesse caminho exato não fornece "nenhum arquivo ou diretório" e, mesmo com ls -la, nada acontece. Eu tenho apenas dois arquivos começando com i's.

Alguém sabe por que isso está acontecendo? E haveria uma maneira de corrigir essa instalação em flash?
Muito obrigado antecipadamente.
captura de tela do shell

PatrickCUDO
fonte

Respostas:

14

locateusa um banco de dados chamado locatedb. Normalmente, é atualizado pelos trabalhos do cron do sistema. Se o banco de dados não tiver sido atualizado, ele mostrará novos arquivos / diretórios inexistentes ou novos. você pode forçar uma atualização com o updatedbcomando Veja este link entre outros.

Manpage de locatediz claramente -

   locate  reads  one or more databases prepared by updatedb and writes
   file names matching at least one of the PATTERNs  to  standard  output,
   one per line.

   By default, locate does not check whether files found in database still
   exist;  locate  can  never  report  files created after the most recent
   update of the relevant database.

Fonte

Bibhas
fonte
Ok, eu devo manter as regras .. RTFM! Obrigado pela explicação.
PatrickCUDO
4

O local é baseado em um banco de dados que geralmente é atualizado uma vez por dia via cron. Forçar uma atualização: execute updatedbe você locate iceweaselretornará resultados atualizados.

Olivier S
fonte