DPKG(8)

NOME
dpkg - um gerenciador de pacotes de nível médio para o Debian

RESUMO
dpkg [opções] ação

ATENÇÃO
Este manual é elaborado para usuários que desejam compreender as opções da linha de comando do dpkg e estados de pacotes em mais detalhes que os providos por dpkg --help.

Ele não deve ser usado por mantenedores de pacotes que desejam compreender como o dpkg instalará seus pacotes. As descrições do que o dpkg faz quando está instalando e removendo pacotes são particularmente inadequadas. Para informações detalhadas a esse respeito, por favor, refira-se ao tópico Package Management System do debian-faq no sistema GNU Info. Para infomações sobre a criação de pacotes Debian, veja o tópico Debian Package Management Tools no mesmo documento.

DESCRIÇÃO
dpkg é uma ferramenta de nível médio para instalar, criar, remover e gerenciar pacotes Debian. O front-end primário e mais amigável para o dpkg é o dselect(8). O próprio dpkg é controlado inteiramente através de parâmetros de linha de comando, que consistem exatamente de uma ação e zero ou mais opções. A ação-parâmetro informa ao dpkg o que fazer e as opções controlam o comportamento da ação de alguma maneira.

O dpkg pode também ser usado como front-end para o dpkg-deb. A seguir estão as ações do dpkg-deb, e se forem encontradas, o dpkg apenas executa o dpkg-deb com os parâmetros dados a ele:
    -b, --build,
    -c, --contents,
    -I, --info,
    -f, --field,
    -e, --control,
    -x, --extract,
    -X, --vextract, e
    --fsys-tarfile.
Por favor, refira-se a dpkg-deb(1) para informações sobre essas ações.

INFORMAÇÃO SOBRE PACOTES
O dpkg mantém algumas informações sobre os pacotes disponíveis. As informações são divididas em três grupos: estados, estados de seleção e sinalizadores. Esses valores são alterados principalmente com o dselect.

  ESTADOS DOS PACOTES

installed
    O pacote está instalado e configurado.

half-installed
    A instalação do pacote foi iniciada, mas não completada por alguma razão.

not-installed
    O pacote não está instalado em seu sistema.

unpacked
    O pacote está descompactado, mas não configurado.

half-configured
    O pacote está descompactado e sua configuração começou, mas não foi completada por alguma razão.

config-files
    Existem apenas os arquivos de configuração em seu sistema.

  ESTADOS DE SELEÇÃO DOS PACOTES

install
    O pacote está selecionado para instalação.

deinstall
    O pacote está selecionado para desinstalação (i.e. queremos remover todos os arquivos, exceto os arquivos de configuração).

purge
    O pacote está selecionado para ser eliminado (i.e. queremos excluir tudo, até os arquivos de configuração).

  SINALIZADORES DOS PACOTES

hold
    Um pacote marcado como hold não é manipulado pelo dpkg, a menos que ele seja forçado a isso com a opção --force-hold.

reinst-required
    Um pacote marcado como reinst-required está quebrado e precisa ser reinstalado. Esses pacotes não podem ser removidos, a menos que isso seja forçado com a opção --force-reinstreq.

AÇÕES

dpkg -i | --install arquivo_do_pacote...
    Instala o pacote. Se a opção --recursive ou -R for especificada, arquivo_do_pacote precisa se referir a um diretório.

    A instalação consiste dos seguintes passos:

    1. Os arquivos de controle do novo pacote são extraídos.

    2. Se outra versão do mesmo pacote foi instalada antes da nova instalação, é executado o script prerm do pacote antigo.

    3. O script preinst, se houver no pacote, é executado.

    4. Os novos arquivos são descompactados, e ao mesmo tempo é feita uma cópia de segurança dos antigos, de forma que se algo sair errado, eles podem ser restaurados.

    5. Se estava instalada uma outra versão do mesmo pacote antes da nova instalação, o script postrm do pacote antigo é executado. Note que esse script é executado depois do script preinst do pacote novo, porque os novos arquivos são gravados ao mesmo tempo que os antigos são removidos.

    6. O pacote é configurado. Veja --configure para informações detalhadas sobre como isso é feito.

dpkg --unpack arquivo_do_pacote ...
    Descompacta o pacote, mas não o configura. Se a opção --recursive ou -R for especificada, arquivo_do_pacote precisa então se referir a um diretório.

dpkg --configure pacote ... | -a | --pending
    Reconfigura um pacote descompactado. Se for especificada a opção -a ou --pending ao invés de pacote, todos os pacotes descompactados mas não configurados são configurados.

    A configuração consiste dos seguintes passos:

    1. Os arquivos de configuração são descompactados, e ao mesmo tempo é feita uma cópia de segurança dos arquivos de configuração antigos, de forma que podem ser restaurados se algo sair errado.

    2. O script postinst, se existir no pacote, é executado.

dpkg -r | --remove | -P | --purge pacote ... | -a | --pending
    Remove um pacote instalado. -r ou --remove remove tudo, exceto os arquivos de configuração. Isso pode evitar a necessidade de reconfigurar o pacote se ele for reinstalado depois. (os arquivos de configuração são os listados no arquivo de controle debian/conffiles). -P ou --purge remove tudo, incluindo os arquivos de configuração. Se for dada a opção -a ou --pending ao invés do nome do pacote, então todos os pacotes descompactados, mas marcados para serem removidos ou eliminados (purge) no arquivo /var/lib/dpkg/status, são removidos ou eliminados (purge) respectivamente.

    A remoção de um pacote consiste dos seguintes passos:

    1. O script prerm é executado.

    2. Os arquivos instalados são removidos.

    3. O script postrm é executado.

dpkg  -p|--print-avail pacote
    Exibe detalhes sobre o pacote, como encontrados em /var/lib/dpkg/available.

dpkg --update-avail | --merge-avail arquivo-Packages
    Atualiza a idéia do dpkg e do dselect de quais pacotes estão disponíveis. Com a ação --merge-avail, as informações antigas são combinadas as informações do arquivo-Packages. Com a ação --update-avail, as informações antigas são substituídas pelas do arquivo-Packages. O arquivo-Packages distribuído com o Debian é simplesmente nomeado Packages. O dpkg mantém seu registro dos pacotes disponíveis em /var/lib/dpkg/available.

dpkg -A | --record-avail arquivo_do_pacote ...
    Atualiza a idéia do dpkg e do dselect de quais pacotes estão disponíveis com as informações do pacote arquivo_do_pacote. Se a opção --recursive ou -R for especificada, então arquivo_do_pacote deve se referir a um diretório.

dpkg --forget-old-unavail
    Despreza informações sobre pacotes não instalados e não disponíveis.

dpkg --clear-avail
    Apaga as informações existentes sobre quais pacotes estão disponíveis.

dpkg -l | --list padrão-do-nome-do-pacote ...
    Lista os pacotes que combinam com o padrão dado. Se nenhum padrão-do-nome-do-pacote for dado, lista todos os pacotes em /var/lib/dpkg/available. Caracteres curinga normais de shell são permitidos em padrão-do-nome-do-pacote. (Provavelmente você precisará por o padrão-do-nome-do-pacote entre aspas para impedir que o shell faça expansão do nome do arquivo. Por exemplo, dpkg -l 'libc5*' listará todos os pacotes que comecem com "libc5".)

dpkg -s | --status nome-do-pacote ...
    Exibe o estado do pacote especificado. Isso apenas mostra a entrada na base de dados dos pacotes instalados.

dpkg -C | --audit
    Procura por pacotes que foram apenas parcialmente instalados em seu sistema. O dpkg sugerirá o que fazer com eles para que funcionem.

dpkg --get-selections [padrão...]
    Obtém uma lista de seleção de pacotes e a escreve em stdout.

dpkg --set-selections
    Configura as seleções de pacotes usando o arquivo lido de stdin.

dpkg --yet-to-unpack
    Procura pacotes que foram selecionados para instalação, mas por alguma razão ainda não foram instalados.

dpkg -L | --listfiles pacote ...
    Lista os arquivos instalados em seu sistema a partir do pacote. Entretanto, note que os arquivos criados pelos scripts de instalação específicos do pacote não são listados.

dpkg -S | --search padrão-de-procura ...
    Procura por um nome de arquivo a partir dos pacotes instalados. Todos os caracteres curinga padrões de shell podem ser usados no padrão.

dpkg --print-architecture
    Mostra a arquitetura alvo (por exemplo, "i386"). Essa opção usa o gcc.

dpkg --print-gnu-build-architecture
    Mostra a versão GNU da arquitetura alvo (por exemplo, "i486").

dpkg --print-installation-architecture
    Exibe a arquitetura do host para instalação.

dpkg --compare-versions ver1 op ver2
    Compara números de versão, onde op é um operador binário. O dpkg retorna com successo (resultado zero) se a condição especificada for satisfeita e com falha (resultado não nulo) em caso contrário. Há dois grupos de operadores, que diferem em como tratam a falta de ver1 ou ver2. Esses tratam a falta de uma versão como anterior a qualquer outra: lt le eq ne ge gt. Esses tratam a falta de uma versão como posterior a qualquer outra: lt-nl le-nl ge-nl gt-nl. Esses são providos apenas para manter compatibilidade com a sintaxe do arquivo de controle: < << <= = >= >> >.

dpkg --command-fd <n>
    Aceita uma série de comandos no descritor de arquivo de entrada <n>. Nota: opções adicionais configuradas na linha de comando, e através do descritor de arquivo, não são redefinidas para comandos subseqüentes usados durante a mesma execução.

dpkg --help
    Exibe uma breve mensagem de ajuda.

dpkg --force-help
    Ajuda com as opções --force-coisa.

dpkg -Dh | --debug=help
    Ajuda com as opções de depuração.

dpkg --licence | dpkg --license
    Exibe a licença do dpkg.

dpkg --version
    Exibe informação sobre a versão do dpkg.

dpkg-deb-actions
    Veja dpkg-deb(1) para mais informações sobre as seguintes ações.

    dpkg -b | --build diretório [nome_de_arquivo]
        Cria um pacote deb.
    dpkg -c | --contents nome_de_arquivo
        Lista o conteúdo de um pacote deb.
    dpkg -e | --control nome_de_arquivo [diretório]
        Extrai informação de controle de um pacote.
    dpkg -x | --extract nome_de_arquivo diretório
        Extrai os arquivos contidos pelo pacote.
    dpkg -f | --field  nome_de_arquivo [campo-de-controle] ...
        Exibe o(s) campo(s) de controle do pacote.
    dpkg --fsys-tarfile nome_de_arquivo
        Exibe o sistema de arquivo do arquivo tar contido no pacote Debian.
    dpkg -I | --info nome_de_arquivo [arquivo-de-controle]
        Mostra informação sobre um pacote.
    dpkg -X | --vextract nome_de_arquivo diretório
        Extrai e exibe os nomes de arquivos contidos em um pacote.

OPÇÕES
Todas as opções podem ser especificadas tanto na linha de comando quanto no arquivo de configuração do dpkg chamado /etc/dpkg/dpkg.cfg. Cada linha no arquivo de configuração é uma opção (exatamente a mesma opção da linha de comando, mas sem os hífens) ou um comentário (se começar com uma #).

--abort-after=número
    Altera o número de erros após os quais o dpkg abortará. O padrão é 50.

-B|--auto-deconfigure
    Quando um pacote é removido, há a possibilidade de que outro pacote instalado dependa do que foi removido. Especificando essa opção, o pacote que depende do que foi removido será automaticamente desconfigurado.

-Doctal | --debug=octal
    Ativa a depuração. octal é formado por uma operação "or" bit-a-bit entre os valores desejados da lista abaixo (note que esses valores podem ser alterados em versões futuras). -Dh ou --debug=help exibe esses valores.

     número descrição
        1 Informação de progresso geralmente útil
        2 Invocação e estado dos scripts do mantenedor
       10 Saída de cada arquivo processado
      100 Muita saída de cada arquivo processado
       20 Saída de cada arquivo de configuração
      200 Muita saída de cada arquivo de configuração
       40 Dependências e conflitos
      400 Muita saída de dependências/conflitos
     1000 Muita tagarelice sobre por exemplo o diretório dpkg/info
     2000 Quantidades insanas de saída.

--force-coisas | --no-force-coisas | --refuse-coisas

    Força ou rejeita (no-force e refuse são a mesma coisa) a fazer algumas coisas. coisas é uma lista separada por vírgulas de coisas especificadas abaixo. --force-help exibe uma mensagem descrevendo-as. Coisas marcadas com (*) são forçadas por padrão.

    Atenção: A maior parte dessas opções devem ser usadas apenas por experts. Usá-las sem o completo conhecimento de seus efeitos pode quebrar todo seu sistema.

    all: Liga (ou desliga) todas as opções de força.

    auto-select(*): Seleciona pacotes para serem instalados e tira a seleção de pacotes a serem removidos.

    downgrade(*): Instala um pacote, mesmo se uma versão mais nova já estiver instalada.

    configure-any: Configura também qualquer pacote descompactado de que o pacote atual dependa.

    hold: Processa pacotes mesmo quando marcados com "hold".

    remove-reinstreq: Remove um pacote, mesmo se estiver quebrado e marcado como requer reinstalação. Isso pode, por exemplo, fazer com que partes do pacote permaneçam em seu sistema, que serão então esquecidas pelo dpkg.

    remove-essential: Remove, mesmo se o pacote é considerado essencial. Pacotes essenciais contém geralmente comandos muito básicos de Unix. Removê-los pode causar a parada de funcionamento de todo o sistema, então use-a com cuidado.

    depends: Converte todos os problemas de dependência em avisos.

    depends-version: Não verifica versões quando verificando dependências.

    conflicts: Instala, mesmo se conflita com outro pacote. Isso é perigoso, pois geralmente causará a regravação de alguns arquivos.

    confmiss: Sempre instala um arquivo de configuração que falta. Isso é perigoso, já que significa que uma mudança (remoção) feita ao arquivo não será preservada.

    confnew: Se um arquivo de configuração foi modificado, sempre instala a nova versão sem perguntar, a menos que --force-confdef também seja especificada, quando a ação padrão é então preferida.

    confold: Se um arquivo de configuração foi modificado, sempre mantém a versão antiga sem perguntar, a menos que --force-confdef também seja especificada, quando a ação padrão é então preferida.

    confdef: Se um arquivo de configuração foi modificado, sempre escolhe a ação padrão. Se não houver ação padrão, ele irá parar e perguntar ao usuário, a menos que --force-confnew ou --force-confold também tenham sido dadas, quando será então usado isso para decidir a ação final.

    overwrite: Sobrescreve um arquivo do pacote com arquivo de outro.

    overwrite-dir Sobrescreve um diretório do pacote com arquivo de outro.

    overwrite-diverted: Sobrescreve um arquivo desviado com uma versão não desviada.

    architecture: Processa até pacotes com a arquitetura errada.

    bad-path: Faltam programas importantes no PATH, devendo aparecer problemas.

    not-root: Tenta (des)instalar coisas mesmo não sendo root.

--ignore-depends=pacote,...
    Ignora a verificação de dependência dos pacotes especificados (atualmente, a verificação é feita, mas são apenas dados avisos sobre os conflitos, nada mais).

--new | --old
    Seleciona o formato binário novo ou antigo de pacote. Isto é uma opção do dpkg-deb(1).

--nocheck
    Não lê ou verifica o conteúdo do arquivo de controle enquanto cria um pacote. Isto é uma opção do dpkg-deb(1).

--no-act
    Faz tudo que se espera que seja feito, mas não grava nenhuma alteração. Isso é usado para ver o que acontece com a ação especificada, sem modificar nada.

    Certifique-se de fornecer --no-act antes da ação-parâmetro, ou você pode obter resultados indesejáveis. (por exemplo, dpkg --purge foo --no-act irá primeiro excluir (purge) o pacote foo e então tentará excluir o pacote --no-act, apesar de que você esperava que nada fosse feito)

-R | --recursive
    Manipula recursivamente todos os arquivos regulares que combinem com o padrão *.deb encontrados nos diretórios especificados e todos seus subdiretórios. Isso pode ser usado com as ações -i, -A, --install, --unpack e --avail.

-G  Não instala um pacote se uma nova versão do mesmo pacote já estiver instalada. Isso é um apelido de --refuse-downgrade.

--root=dir | --admindir=dir | --instdir=dir
    Muda os diretórios padrões. O admindir padrão é /var/lib/dpkg e contém muitos arquivos que dão informações sobre o estado dos pacotes instalados ou não instalados, etc. O instdir padrão é / e refere-se ao diretório onde os pacotes devem ser instalados. instdir também é o diretório passado para chroot(2) antes de executar os scripts de instalação do pacote, o que significa que os scripts vêem instdir como o diretório raiz. Alterar root modifica instdir para dir e admindir para dir/var/lib/dpkg.

-O | --selected-only
    Somente processa os pacotes selecionados para instalação. A marcação atual é feita com dselect ou pelo dpkg, quando ele manipula pacotes. Por exemplo, quando um pacote é removido, ele será marcado como selecionado para instalação.

-E | --skip-same-version
    Não instala o pacote se a mesma versão dele já estiver instalada.

--status-fd <n>
    Envia a informação do estado do pacote para o descritor de arquivo <n>. Isso pode ser dado múltiplas vezes. As atualizações de estado são da forma `status: <pkg>: <pkg qstate>'.

ARQUIVOS

/etc/dpkg/dpkg.cfg
    Arquivo de configuração com as opções padrões.

Os outros arquivos listados abaixo estão em seus diretórios padrões, veja a opção --admindir para ver como alterar a localização desses arquivos.

/var/lib/dpkg/available
    Lista dos pacotes disponíveis.

/var/lib/dpkg/status
    Dá o estado dos pacotes disponíveis. Esse arquivo contém informação sobre se um pacote está marcado para remoção ou não, se está instalado ou não, etc. Veja a seção INFORMAÇÃO SOBRE PACOTES para maiores informações.

Os seguintes arquivos são componentes de um pacote binário. Veja deb(5) para mais informações sobre eles:

control

conffiles

preinst

postinst

prerm

postrm

VARIÁVEIS DE AMBIENTE

DPKG_NO_TSTP
    Defina isso para alguma coisa se você preferir que o dpkg inicie um novo shell ao invés de suspender a si próprio, quando fazendo um escape de shell.

SHELL
    O programa que o dpkg executará quando estiver iniciando um novo shell.

COLUMNS
    Ajusta o número de colunas que o dpkg deve usar quando estiver exibindo texto formatado. Atualmente só usado por -l.

DPKG_OLD_CONFFILE
    Ajustado pelo dpkg para o nome do arquivo de configuração antigo quando você inicia um shell para examinar um arquivo de configuração modificado.

DPKG_NEW_CONFFILE
    Ajustado pelo dpkg para o nome do arquivo de configuração da nova versão quando você inicia um shell para examinar um arquivo de configuração modificado.

EXEMPLOS
Para listar os pacotes relacionados com o editor vi:
dpkg -l '*vi*'

Para ver as entradas em /var/lib/dpkg/available em dois pacotes:
dpkg --print-avail elvis vim | less

Para procurar na lista de pacotes você mesmo:
less /var/lib/dpkg/available

Para remover um pacote instalado elvis:
dpkg -r elvis

Para instalar um pacote, você primeiro precisa encontrá-lo em um repositório ou CDROM. O arquivo "available" mostra que o pacote vim está na seção "editors":
cd /cdrom/hamm/hamm/binary/editors dpkg -i vim_4.5-3.deb

Para fazer uma cópia local dos estados de seleção dos pacotes:
dpkg --get-selections >myselections

Você pode transferir esse arquivo para outro computador e instalá-lo com:
dpkg --set-selections <myselections
Note que isso não instalará nem removerá nada, mas apenas irá configurar o estado de seleção dos pacotes requisitados. Você precisará de alguma outra aplicação para baixar e instalar os pacotes requisitados.

Ordinariamente, você verificará que o dselect(8) provê uma maneira mais conveniente de modificar o estado de seleção dos pacotes.

VEJA TAMBÉM
dselect(8), dpkg-deb(1), deb(5), e deb-control(5)

BUGS

--no-act normalmente dá menos informação do que seria útil.

AUTORES
Veja /usr/share/doc/dpkg/THANKS para a lista de pessoas que
contribuíram para o dpkg .