Pesquisa de site

Correção “O subprocesso /usr/bin/dpkg retornou um código de erro (1)”


Não é incomum encontrar problemas de pacotes quebrados no Ubuntu e em outras distribuições baseadas em Debian. Às vezes, ao atualizar o sistema ou instalar um pacote de software, você pode encontrar o erro ‘Subprocesso /usr/bin/dpkg retornou um código de erro’.

A frase crucial neste erro é /usr/bin/dpkg, que aponta para o instalador do pacote dpkg usado no Linux. Um instalador de pacote gerencia software, atualizações e dependências. Se for corrompido, qualquer tentativa de instalar um novo software pode acionar esta mensagem de erro.

Por exemplo, há algum tempo, tentei atualizar para o Ubuntu 22.04 e me deparei com o erro dpkg conforme mostrado abaixo.

Errors were encountered while processing:
google-chrome-stable
E: Sub-process /usr/bin/dpkg returned an error code (1)

Isso indica que o pacote google-chrome-stable está quebrado ou corrompido. Existem algumas soluções alternativas para esse problema, então não jogue a toalha ainda ou descarte seu sistema.

Correção do subprocesso /usr/bin/dpkg retornou um código de erro (1)

Vamos resolver o problema desse erro de pacote quebrado. Apresentarei vários métodos, começando pelos mais simples. Essas etapas iniciais são diretas e não exigem muito esforço.

Método 1: reconfigurando o banco de dados de pacotes dpkg

Um dos gatilhos desse erro é um banco de dados de pacotes dpkg corrompido. Isto pode ser causado pela interrupção repentina da instalação de um pacote de software. A reconfiguração do banco de dados é uma maneira de resolver esse problema.

Para fazer isso, basta executar o comando:

sudo dpkg --configure -a

Isto reconfigura os pacotes descompactados que não foram instalados durante o processo de instalação.

Método 2: Forçar a instalação do pacote problemático

Às vezes, podem ocorrer erros durante a instalação de pacotes de software. Quando isso acontecer, você pode forçar a instalação do pacote usando a opção -f conforme mostrado.

sudo apt install -f
OR
sudo apt install --fix-broken

A opção -f e --fix-broken podem ser usadas de forma intercambiável para corrigir dependências quebradas resultantes de um pacote interrompido ou download de pacote em cache.

Método 3: remover ou limpar o pacote de software inválido ou corrompido

Se as duas primeiras soluções não resolverem o problema, você poderá remover ou eliminar o pacote de software problemático conforme mostrado.

sudo apt remove --purge package_name

Por exemplo, no meu caso, limpar o pacote do Google Chrome resolveu o problema.

sudo apt remove --purge google-chrome-stable

Em seguida, invoque os comandos abaixo para remover todos os pacotes antigos, não utilizados e desnecessários, o que também libera espaço no disco rígido.

sudo apt clean
sudo apt autoremove

Método 4: Remova todos os arquivos associados ao pacote

Por último, você pode remover manualmente todos os arquivos associados ao pacote problemático. Primeiro, você precisa encontrar esses arquivos que estão localizados no diretório /var/lib/dpkg/info conforme mostrado.

sudo ls -l /var/lib/dpkg/info | grep -i package_name

Depois de listar os arquivos, você pode movê-los para o diretório /tmp conforme mostrado

sudo mv /var/lib/dpkg/info/package-name.* /tmp

Alternativamente, você pode usar o comando rm para remover manualmente os arquivos.

sudo rm -r /var/lib/dpkg/info/package-name.*

Por fim, atualize as listas de pacotes conforme mostrado:

sudo apt update

Depois disso, você pode tentar novamente reinstalando o pacote de software.

Conclusão

Este tipo de erro dpkg aponta para um problema com o instalador do pacote geralmente causado pela interrupção de um processo de instalação ou por um banco de dados dpkg corrompido.

Qualquer uma das soluções mencionadas acima deve corrigir esse erro. Se você chegou até aqui, esperamos que o problema tenha sido resolvido com êxito e que você tenha conseguido reinstalar o pacote de software.

Se algum dos métodos funcionou para você, especifique qual deles resolveu o problema. Se você conseguiu corrigir esse erro usando um método diferente, compartilhe-o para ajudar outras pessoas que possam estar enfrentando o mesmo problema.