in

Como gerar banco de dados com o slocate (Secure Locate) no Linux!

Conheça e saiba como gerar um banco dados usando somente o slocate!

como-gerar-bando-de-dados-com-o-slocate-no-linux

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. Como leitura extra, também temos um artigo onde abordamos, 20 comandos que todo sysadmin deveria saber.

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.

Criando banco de dados com Slocate

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 zeu 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

Written by Emanuel Negromonte

Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.

purism-melhora-privacidade-de-dispositivos-linux-com-acesso-privado-a-vpn

Purism melhora privacidade de dispositivos Linux com acesso privado a VPN

pfSense – Introdução/Instalação/Configuração!