você está aqui: Home  → Arquivo de Mensagens

slocate (Secure Locate)

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 30 de Janeiro de 2006

Descrição e recomendações de uso para o comando slocate, utilizado para gerar um banco de dados com a localização dos arquivos e diretórios no sistema, facilitando desta forma a recuperação de forma rápida e eficiente de qualquer componente do sistema de arquivos. Adicionalmente, e mais importante, o comando também armazena as permissões dos arquivos e propriedades, de forma que os usuários vejam apenas os arquivos a que possuem acesso.

Sistemas Linux possuem uma excelente ferramenta para nos ajudar na localização de arquivos na estrutura de diretórios, o comando slocate.

O comando slocate cria um banco de dados contendo a listagem dos arquivos do sistema e sua localização na estrutura de diretórios. O banco de dados criado pelo comando slocate fica localizado no diretório /var/lib/slocate/ e chama-se slocate.db.

O programa slocate armazena também, além do nome, as permissões de leitura e propriedade dos arquivos de maneira a garantir que ninguém obtenha informações sobre arquivos aos quais não tenha acesso. Daí o seu nome, Secure Locate.

O banco de dados é criado emitindo-se o comando:

  # slocate -u

Este comando irá gravar no arquivo /var/lib/slocate/slocate.db a localização e o nome de todos os arquivos e diretórios a partir do diretório raiz.

Usuários comuns podem também criar seu índice personalizado. A restrição é que o banco de dados (slocate.db) deve ser gravado em um local ao qual o usuário tenha acesso, como por exemplo seu diretório de trabalho pessoal.

  $ slocate -U /home/usuario -o .slocate.db

O banco de dados pessoal foi chamado de .slocate.db. O nome inicia-se em "." para que não conste nas listagens normais do diretório de trabalho.

Ao invocar o comando slocate sem argumentos, o banco de dados pesquisado será o do sistema (/var/lib/slocate/slocate.db). Para consultar o banco de dados pessoal, utilizar a opção --database:

  $ slocate --database=.slocate.db tex

Forneceu-se no exemplo a instrução de se buscar por arquivos que contenham os caracteres tex em seu nome.

O tempo de resposta do comando slocate é excelente. Rarissimas vezes será necessária a criação de um banco de dados pessoal, a não ser que o sistema seja muito grande e contenha centenas de milhares de arquivos. Mesmo nestas condições a busca é bastante eficiente.

Caso realmente se opte por um banco de dados individual, uma boa alternativa é criar um alias que especifique as diretivas apropriadas:

  alias Slocate="slocate --database=$HOME/.slocate.db"

Desta forma, se especificarmos Slocate estaremos consultando o banco de dados pessoal. O comando slocate continuará fazendo uma busca na listagem completa.

O acesso a este banco de dados é feito através do comando locate.

Usá-lo é extremamente simples, basta fornecer como argumento a cadeia de caracteres que se deseja localizar no sistema.

Finalmente, principalmente em sistemas bastante ativos, com uma grande taxa de modificação do sistema de arquivos, o mais indicado é automatizar a atualização do banco de dados slocate.db. As seguintes entradas na crontab realizam esta atualização uma vez a cada hora:

  0 * * * * slocate -u

Para usuários normais

  0 * * * * slocate -U /home/usuario -o .slocate.db

Wikitravel agora em português

O maior guia de viagens digital do planeta agora possui sua edição em português. Com o mesmo intuito da maior enciclopédia livre do mundo, a Wikipédia em criar uma base de conhecimento livre e disponível para qualquer pessoa, o Wikitravel é um projeto voltado para a criação de um guia de viagens mundial com informações sobre os mais variados destinos, desde as geleiras da Antártida até as tórridas areias do Saaha, passando pelos pampas argentinos, savanas africanas, praias brasileiras, megalópoles e vilas espalhadas por todo o mundo.

Saiba mais



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script