Os comandos updatedb e locate são ligações simbólicas para slocate (secure locate), que assumiu as funções de criação, atualização e consulta em banco de dados de nomes de arquivos. O tema é parte do teste 101 do LPI - Este artigo faz parte da apostila LPI-101 que estou escrevendo.
O comando slocate cria, atualiza ou consulta uma base
de dados com os nomes dos arquivos encontrados no sistema de
arquivos. A vantagem do slocate sobre seus antecessores é que
além dos nomes de arquivos, o comando armazena permissões e
propriedades de modo que os usuários comuns não verão em suas
pesquisas arquivos para os quais não tenham permissão, tornando
a pesquisa mais segura.
Após a construção deste banco de dados de nomes de arquivos, é
possível realizar pesquisas por nomes de arquivos com slocate.
Slocate faz a leitura dos dados, por padrão, diretamente de
/var/lib/slocate/slocate.db e exibe os resultados na saída
padrão.
Pesquisas de nomes de arquivos realizadas com este método são
mais rápidas e não causam o impacto no sistema gerado por uma
pesquisa similar feita com find. A pesquisa por find
gera muitas leituras em disco, que normalmente são lentas. Contudo,
apesar dos ganhos de velocidade, as consultas geradas por slocate
podem apresentar resultados que não são consistentes, já que a
base de dados consultada sempre é estática e representa apenas um
dado momento do sistema de arquivos. Então, o comando é ideal
para estruturas onde os arquivos são estáticos ou sofrem poucas
alterações.
No caso de alterações no sistema de arquivos, elas somente serão
refletidas no banco de dados após uma atualização realizada por
"slocate -u". É possível usar diversas bases de dados de
arquivos, que podem ser criadas com slocate em locais diversos. O
usuário deve especificar no momento da execução do comando qual
base consultar para que a consulta seja correta. As bases de dados
de arquivos não podem ser concatenadas, já que são arquivos do tipo
dados (data file) e possuem uma estrutura de compressão própria. Em
servidores de arquivos, via rede, a atualização da base de dados
deve ser executada localmente para evitar tráfego na rede.
É possível utilizar curingas e expressões regulares para realizar
as consultas e mesmo realizar pesquisas em bases de dados remotas
através da indicação do caminho completo até o a arquivo de dados.
[1] Comentário enviado por removido em 08/02/2005 - 00:40h
Um dos melhores que já vi. Foi pro meu favoritos!!!
Continue escrevendo mais tutos assim, com esta clareza e simplicidade!
Só não entende quem não quer!!!!!!!!!!!!!!!!!!!!
Dei nota 10!!!!!!!!!
;-))