Infra - Linux

dlocate - visualização de pacotes Debian

Usuários de sistemas Debian e derivados, como Ubuntu, frequentemente precisam obter informações sobre o conteúdos de pacotes de software instalados. Esta informação pode ser obtida com o comando dpkg, com as diretivas "-L" ou "-S", dependendo do que se procura.

por Rubens Queiroz de Almeida



Usuários de sistemas Debian e derivados, como Ubuntu, frequentemente precisam obter informações sobre o conteúdos de pacotes de software instalados. Esta informação pode ser obtida com o comando dpkg, com as diretivas "-L" ou "-S", dependendo do que se procura.

Para listar os arquivos que compreendem o pacote zip, eu uso o comando:

  $ dpkg -L zip
  /.
  /usr
  /usr/share
  /usr/share/doc
  /usr/share/doc/zip
  /usr/share/doc/zip/copyright
  /usr/share/doc/zip/CHANGES.gz
  ...  linhas removidas

Outro exemplo, este com a diretiva "-S", para localizar a qual pacote pertence o comando zipcloak:

  $ dpkg -S zipcloak
  zip: /usr/bin/zipcloak
  zip: /usr/share/man/man1/zipcloak.1.gz

Chegamos então ao programa dlocate. Este comando simplifica e agiliza estas tarefas, oferecendo uma quantidade enorme de opções adicionais que o programa dpkg não possui. A seguir, alguns exemplos:

  1. Listar, de um pacote, apenas os arquivos executáveis:

      $ dlocate -lsbin apache2.2-common
      /etc/cron.daily/apache2
      /etc/init.d/apache2
      /usr/sbin/a2dismod
      /usr/sbin/a2dissite
      /usr/sbin/a2enmod
      /usr/sbin/a2ensite
      /usr/sbin/apache2ctl
      /usr/share/bug/apache2.2-common/script
    

  2. Listar, de um pacote, apenas os arquivos de configuração:
      $ dlocate -lsconf apache2.2-common
      -rw-r--r-- 1 root root  8097 2010-03-09 18:19 /etc/apache2/apache2.conf 
      -rw-r--r-- 1 root root   269 2010-03-09 18:19 /etc/apache2/conf.d/charset
      -rw-r--r-- 1 root root  2907 2010-03-09 18:19 /etc/apache2/conf.d/localized-error-pages
      -rw-r--r-- 1 root root  1481 2010-03-09 18:19 /etc/apache2/conf.d/security
      -rw-r--r-- 1 root root   551 2010-03-09 18:19 /etc/apache2/envvars
      -rw-r--r-- 1 root root 31063 2010-03-09 18:19 /etc/apache2/magic
      ... diversas linhas omitidas
    
    ou ainda
      $ dlocate -conf apache2.2-common
      /etc/apache2/conf.d/security
      /etc/apache2/conf.d/localized-error-pages
      /etc/apache2/conf.d/charset
      /etc/apache2/apache2.conf
      /etc/apache2/envvars
      /etc/apache2/magic
      ... diversas linhas omitidas
    

    A diferença entre os dois comandos é a exibição, no primeiro exemplo, das informações fornecidas pelo comando ls.

  3. Listar as páginas de documentação (man pages), de um determinado pacote:
      $ dlocate -man apache2.2-common
      8 a2dismod
      8 a2dissite
      8 a2enmod
      8 a2ensite
      8 apache2
      8 apache2ctl
      8 httxt2dbm
    
    ou ainda:
      $ dlocate -lsman apache2.2-common
      /usr/share/man/man8/apache2.8.gz
      /usr/share/man/man8/a2ensite.8.gz
      /usr/share/man/man8/httxt2dbm.8.gz
      /usr/share/man/man8/a2enmod.8.gz
      /usr/share/man/man8/apache2ctl.8.gz
      /usr/share/man/man8/a2dissite.8.gz
      /usr/share/man/man8/a2dismod.8.gz
    

Tem muito mais, não deixe de ler a documentação do programa. Como eu disse, substitui a funcionalidade do comando dpkg com muito mais opções. Vale a pena se acostumar a usá-lo.

Para instalar, em sistemas Debian e derivados:

  apt-get install dlocate

O programa dlocate é de autoria de Jim Pick e Craig Sanders

Rubens Queiroz de Almeida

Rubens Queiroz de Almeida - Mantenedor do site Dicas-L (http://www.dicas-l.com.br).