Debian package manager O dpkg é o gerenciador de pacotes utilizado pelo Debian. Seu formato é um pacote ("archive") ar, contendo um arquivo debian-binary, indicando a versão do formato e arquivos control.tar e data.tar, eventualmente comprimidos com gzip, mas recentemente também com bzip2 e lzma. O pacote ("archive") de controle contém os scripts de pré e pós instalação e remoção, "hashes", o arquivo control, com meta-dados, entre outros. A base de dados do dpkg fica em /var/lib/dpkg e é um arquivo texto, chamado status, com os meta-dados dos vários pacotes, instalados ou não no sistema, em formato RFC-822. O sub-diretório info contém arquivos para cada pacote, contendo os scripts, "hashes", lista de arquivos, entre outros. A base de dados pode conter informações sobre pacotes não-instalados, no caso de terem sido removidos, mas não completamente, por exemplo. Ou no caso da instalação não ter sido completada. Vários outros arquivos estão no diretório também, incluindo o arquivo available, que contém a lista de pacotes disponíveis, geralmente atualizada por um gerenciador de atualizações. Veremos mais sobre eles na próxima seção. O dpkg é bastante poderoso para manipular pacotes, gerenciar o estado dos pacotes instalados no sistema ou pacotes disponíveis ou ainda simplesmente comparar versões ou mesmo gerar pacotes binários a partir dos fontes. Veremos apenas seu uso mais básico, no entanto. Para instalação, atualização e remoção de pacotes, utilizamos as seguintes opções: -i Instala e atualiza pacote -r Remove pacote -P Remove pacote, incluindo arquivos de configuração Para consulta à base de dados, as seguintes opções são usadas: -l Lista pacotes -s Exibe status do pacote -L Lista arquivos do pacote -S Procura pacote que contém determinado arquivo Para manipular um pacote deb: -c Exibe conteúdo do pacote -e Extrai informação de controle do pacote -x Extrai arquivos do pacote -I Exibe informações sobre o pacote Exemplos Para instalar ou atualizar um pacote: dpkg -i bash-3.1.deb Para remover um pacote: dpkg -r bash dpkg -P bash Para listar todos os pacotes instalados: dpkg -l Para exibir informações sobre um pacote instalado: dpkg -s bash Para listar os arquivos de um pacote instalado: dpkg -L bash Para identificar qual pacote contém determinado arquivo instalado no sistema: dpkg -S /bin/bash Para exibir informações sobre um pacote não instalado: dpkg -I bash-3.1.deb