Criando um banco de dados para obter ajuda do sistema
O Linux possui um recurso de base de dados de arquivos muito mais eficaz que o comando find, usado para buscar arquivos no disco rígido. Saiba mais sobre este recurso lendo este artigo.
Introdução
Como já estamos sabendo, o sistema Linux é bastante versátil
quando quer nos ajudar, mas nós precisamos fazer a nossa parte
e isso quer dizer que, para alguns casos, devemos criar um
banco de dados para que o sistema Linux o utilize para fazer
pesquisas nesse afim de nos fornecer as informações de que
precisamos.
O primeiro comando que devemos usar depois que nossa instalação de um sistema Linux for concluída é o:
# updatedb
Esse comando atualiza um banco de dados que contém o local e o nome de todos os arquivos em seu sistema.
Esse comando poderá criar o banco de dados dos seus arquivos locais ou remotos, porém tome cuidado se você for usá-lo em rede com compartilhamento, pois o seu banco poderá ficar gigantesco e nem sempre (é raro) você precisará ter tanta informação compilada.
Lembre-se também que a sua partição local do Windows não é interessante, pois raramente você precisará via Linux encontrar um arquivo na partição VFAT. Caso isso venha a ocorrer, nada melhor que o bom e velho comando find para ajudá-lo.
Digite:
$ df
O comando df é utilizado para saber quais são os pontos de montagem ativos no sistema e saber qual deverá entrar ou não em seu banco de dados. A seguir, veja o comando df sem argumentos e com os pontos de montagem:
$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda5 505960 334420 145840 70% /
/dev/hda7 150168 81312 61228 57% /home
/dev/hda8 2379700 1485292 773524 66% /usr
/dev/hda1 3136404 1617632 1518772 52% /mnt/windows
/dev/fd0 1432 1429 3 100% /mnt/floppy
/dev/hdc 247608 247608 0 100% /mnt/cdrom
//m6/net 3120320 2019648 1100672 65% /root/mnt/m6/net
O que percebemos aqui é que os pontos de montagem:
/mnt/floppy;
/mnt/cdrom;
/mnt/windows;
/root/mnt/m6/net
pela lógica, não devem ser incluídos nesse banco de dados. Então como é que podemos evitar isso? Simples, use assim:
# updatedb --prunepaths="/mnt/floppy, /mnt/cdrom, /mnt/windows"
Mas isso só se esses pontos de montagem estiverem montados, caso contrário não será preciso. O argumento "--prunepaths" é usado para os diretórios que não deverão ser incluídos. O padrão é:
/tmp;
/usr/tmp;
/var/tmp.
Já o argumento "--netpaths" é usado para os diretórios de rede (NFS, AFS, RFS) que deverão ser incluídos. E por fim, o argumento "--output=dbfile" refere-se ao arquivo de base de dados que você quer construir como arquivo alternativo. O padrão usado é:
/usr/local/var/locatedb
Bom, depois de tudo isso, agora você poderá usar o comando:
$ locate
para encontrar os arquivos sobre os quais deseja obter informações (caminho, documentos, manuais e compartilhamento).
A grande vantagem é que a pesquisa não é feita em seu disco rígido e sim no arquivo de base de dados, o que é extremamente veloz.
O primeiro comando que devemos usar depois que nossa instalação de um sistema Linux for concluída é o:
# updatedb
Esse comando atualiza um banco de dados que contém o local e o nome de todos os arquivos em seu sistema.
Esse comando poderá criar o banco de dados dos seus arquivos locais ou remotos, porém tome cuidado se você for usá-lo em rede com compartilhamento, pois o seu banco poderá ficar gigantesco e nem sempre (é raro) você precisará ter tanta informação compilada.
Lembre-se também que a sua partição local do Windows não é interessante, pois raramente você precisará via Linux encontrar um arquivo na partição VFAT. Caso isso venha a ocorrer, nada melhor que o bom e velho comando find para ajudá-lo.
Digite:
$ df
O comando df é utilizado para saber quais são os pontos de montagem ativos no sistema e saber qual deverá entrar ou não em seu banco de dados. A seguir, veja o comando df sem argumentos e com os pontos de montagem:
$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda5 505960 334420 145840 70% /
/dev/hda7 150168 81312 61228 57% /home
/dev/hda8 2379700 1485292 773524 66% /usr
/dev/hda1 3136404 1617632 1518772 52% /mnt/windows
/dev/fd0 1432 1429 3 100% /mnt/floppy
/dev/hdc 247608 247608 0 100% /mnt/cdrom
//m6/net 3120320 2019648 1100672 65% /root/mnt/m6/net
O que percebemos aqui é que os pontos de montagem:
/mnt/floppy;
/mnt/cdrom;
/mnt/windows;
/root/mnt/m6/net
pela lógica, não devem ser incluídos nesse banco de dados. Então como é que podemos evitar isso? Simples, use assim:
# updatedb --prunepaths="/mnt/floppy, /mnt/cdrom, /mnt/windows"
Mas isso só se esses pontos de montagem estiverem montados, caso contrário não será preciso. O argumento "--prunepaths" é usado para os diretórios que não deverão ser incluídos. O padrão é:
/tmp;
/usr/tmp;
/var/tmp.
Já o argumento "--netpaths" é usado para os diretórios de rede (NFS, AFS, RFS) que deverão ser incluídos. E por fim, o argumento "--output=dbfile" refere-se ao arquivo de base de dados que você quer construir como arquivo alternativo. O padrão usado é:
/usr/local/var/locatedb
Bom, depois de tudo isso, agora você poderá usar o comando:
$ locate
para encontrar os arquivos sobre os quais deseja obter informações (caminho, documentos, manuais e compartilhamento).
A grande vantagem é que a pesquisa não é feita em seu disco rígido e sim no arquivo de base de dados, o que é extremamente veloz.