Linux / Comando dpkg: consultar pacotes e instalar arquivos DEB
O comando dpkg consulta o banco local de pacotes e instala arquivos .deb em sistemas Debian e Ubuntu. dpkg -i não baixa automaticamente as dependências dos repositórios; para instalar um DEB local com resolução de dependências, avalie sudo apt install ./example.deb.
Um arquivo DEB contém software, informações de controle e, em alguns casos, scripts executados durante a instalação. Uma dependência é outro pacote de que ele precisa. A ferramenta de nível mais alto apt, para pesquisar e instalar pacotes, usa os repositórios configurados para selecionar versões e tentar obter essas dependências; dpkg trabalha diretamente com os arquivos e os registros locais.
Sintaxe básica e requisitos
dpkg [opções] ação [pacote ou arquivo]
Essa linha descreve a sintaxe e usa nomes indicativos. Confira a distribuição com cat /etc/os-release, a versão com dpkg --version e as opções instaladas com man dpkg. Estes exemplos pressupõem um sistema da família Debian; eles não se aplicam diretamente a todas as distribuições Linux.
Consultas ao estado e à lista de arquivos normalmente dispensam sudo. Instalação e remoção reais exigem privilégios adequados e podem alterar configurações e serviços. Antes dessas ações, tenha cópias dos dados importantes e confirme que o pacote corresponde à distribuição, à versão dela e à arquitetura esperadas.
Exemplos de consulta e instalação local
Consultar o estado de instalação
Para ler o registro local do pacote Bash:
dpkg -s bash
Leia Status, Version e a descrição, sem concluir que o pacote está instalado apenas porque o nome aparece. O banco pode registrar uma instalação incompleta ou somente configurações remanescentes. Se o pacote for desconhecido, a consulta pode retornar uma mensagem de erro em vez de um registro completo.
Consultar os arquivos registrados para o pacote
dpkg -L bash
A saída apresenta caminhos registrados para o pacote, que variam conforme a distribuição e a versão. Não é uma busca em todos os arquivos do disco, nem uma prova de que cada caminho continua existindo e está íntegro. Arquivos adicionais criados por scripts de manutenção e entradas do sistema de alternativas não são todos representados nessa lista.
Instalar um arquivo DEB local
O nome example.deb é ilustrativo: substitua-o por um arquivo real e confiável na pasta atual. Antes de instalar, dpkg-deb -I ./example.deb mostra informações de controle e dpkg-deb -c ./example.deb lista o conteúdo. Confira Package, Version, Architecture e as dependências; consultar esses dados não comprova a autenticidade do fornecedor.
sudo dpkg -i ./example.deb
Esse comando pode desempacotar arquivos e executar scripts do pacote com privilégios de administrador. Ele não procura e baixa automaticamente as dependências necessárias. Uma falha de configuração não significa que nada mudou: o pacote pode ficar desempacotado ou parcialmente configurado. Leia a mensagem completa e consulte seu estado antes de tentar outra ação.
Distinguir estado instalado, arquivo DEB e repositório
O comando dpkg -s lê o estado registrado localmente, e não a versão candidata dos repositórios. Por exemplo:
dpkg -s bash
Trecho ilustrativo em um sistema no qual Bash está instalado:
Package: bash
Status: install ok installed
Version: ...
install ok installed indica seleção para instalação, sinalizador normal e estado instalado, com o pacote desempacotado e configurado. Os pontos em Version omitem a versão do exemplo; não são um valor real. Esse registro não garante que o programa funciona, que seus arquivos não foram modificados ou que seja a versão mais recente disponível.
O nome do arquivo DEB e o nome do pacote não precisam ser iguais. Use o campo Package lido no DEB nas consultas posteriores, por exemplo dpkg -s nome-do-pacote, substituindo o nome indicativo. Para comparar com versões oferecidas pelos repositórios, use apt-cache policy nome-do-pacote; isso é uma consulta diferente do registro local do dpkg.
- Obtenha o DEB de uma origem confiável e confirme sua compatibilidade. Consulte o campo
Architecturee a arquitetura principal do sistema comdpkg --print-architecture; não force a instalação só porque os nomes diferem. - Leia os dados e a lista do arquivo com
dpkg-deb -Iedpkg-deb -c, informando o caminho do DEB. Preserve dados e configurações importantes antes de uma alteração real. - Escolha como instalar:
sudo apt install ./example.debtenta resolver dependências pelas fontes disponíveis;sudo dpkg -i ./example.debtrata diretamente o arquivo local. Em ambos os casos, use o caminho real e leia o resultado. - Após a tentativa, consulte
dpkg -s nome-do-pacotecom o nome real do campoPackage. Se houver um serviço, verifique seu funcionamento separadamente; a existência do registro não comprova que o serviço iniciou corretamente.
Opções principais
| Opção ou ação | Finalidade |
|---|---|
-i arquivo.deb |
Instala um DEB local, sem baixar automaticamente as dependências dos repositórios. |
-s pacote |
Consulta o estado registrado no banco local. Leia o campo Status, não apenas o nome. |
-L pacote |
Lista os caminhos registrados para o pacote, sem verificar a integridade atual de cada arquivo. |
-S caminho |
Procura no banco de pacotes o proprietário registrado de um caminho ou padrão; não identifica necessariamente arquivos criados fora desses registros. |
-r / -P pacote |
Remove o pacote; com -P, também elimina configurações gerenciadas na purga. Isso não equivale a restaurar uma versão anterior nem apagar todos os dados do usuário. |
Dependências, recuperação e remoção
Se preferir instalar o arquivo local com resolução de dependências, use sudo apt install ./example.deb, mantendo um espaço entre install e ./example.deb. O prefixo ./ identifica um caminho relativo, em vez de um simples nome de pacote. A resolução só será possível quando versões compatíveis das dependências estiverem disponíveis nas fontes configuradas; isso não torna seguro um DEB de origem desconhecida.
Depois de um erro de dependência, não repita a instalação indefinidamente nem use opções de força para ignorar o problema. Consulte dpkg --audit para identificar estados incompletos e leia as mensagens. Uma simulação como apt-get -s -f install pode mostrar a solução proposta pelo APT para dependências quebradas; a solução pode envolver remoções, portanto examine o plano antes de decidir qualquer reparo real. As limitações de simulação e estado são explicadas no guia de apt-get e simulação de mudanças.
A remoção com -r normalmente preserva arquivos de configuração gerenciados como conffiles. A purga com -P também elimina essas configurações e pode acionar a limpeza feita pelos scripts do pacote. Ela não é uma garantia de apagar tudo o que uma aplicação criou, especialmente arquivos nas pastas pessoais. Antes de remover ou purgar, preserve o que seria necessário para recuperar o serviço e os dados.
Um pacote é mais que uma coleção de arquivos: scripts de instalação ou remoção podem executar ações com privilégios elevados. Prefira fontes confiáveis e compatíveis com seu sistema. A consulta de metadados ajuda a entender a proposta, mas não substitui a avaliação da origem do arquivo nem as cópias necessárias para recuperar uma alteração malsucedida.
Pergunta frequente
Qual é a diferença entre dpkg -i e apt install ./arquivo.deb?
dpkg -i processa o DEB local e não baixa automaticamente as dependências dos repositórios. apt install ./arquivo.deb tenta resolver essas dependências com as fontes disponíveis e apresenta a proposta de alterações. Use um arquivo compatível e confiável e revise o resultado; a escolha do comando não garante que toda dependência possa ser satisfeita.
Documentação oficial
O manual do dpkg descreve estados e ações. Consulte também os manuais de dpkg-query, para consultar registros locais e dpkg-deb, para inspecionar arquivos DEB. A referência Debian sobre gerenciamento de pacotes diferencia a instalação local com APT e com dpkg.




