segunda-feira, 15 de agosto de 2022

Como resolver “Sub-process /usr/bin/dpkg returned an error code (1)”

Não é incomum encontrar um problema 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 'Sub-process /usr/bin/dpkg returned an error code (1)'.
Por exemplo, um tempo atrás, tentei atualizar o Debian e encontrei o erro dpkg como mostrado abaixo.

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

Isso acontece por está ocorrendo uma instabilidade no diretório /var/lib/dpkg/info, caso você tenha excluído algum arquivo desse diretório, o problema irá persistir mesmo após seguir este tutorial, por falta de arquivo excluído. Neste tutorial, embora o arquivo /var/lib/dpkg/info é excluído em um momento, é realizado um backup antes e reposto novamente no lugar de antes. 

SOLUÇÃO 1: RECONECTANDO O PACOTE DPKG

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

Para isso, basta executar a linha de comando:"sudo dpkg --configure -a". Isso reconfigura os pacotes descompactados que não foram instalados durante o processo de instalação.

Depois executamos os comandos a seguir:

Parte 1: Preparação 
sudo dpkg --configure -a
sudo mv /var/lib/dpkg/info /var/lib/dpkg/backup-info
sudo mkdir /var/lib/dpkg/info 2> /dev/null
sudo apt clean
sudo apt install -f

Parte 2: Reposição e atualização
sudo find /var/lib/dpkg/info -mindepth 1 -exec mv -t /var/lib/dpkg/backup-info {} +
sudo find /var/lib/dpkg/backup-info -mindepth 1 -exec mv -t /var/lib/dpkg/info {} + sudo rm /var/lib/dpkg/backup-info -rf sudo apt update sudo apt full-upgrade


SOLUÇÃO 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 acontece, você pode forçar a instalação do pacote usando a -fopção mostrada.

sudo apt install -f

Ou

sudo apt install --fix-broken


A opção -f & --fix-broken pode ser usada alternadamente para corrigir dependências quebradas resultantes de um pacote interrompido ou download de pacote em cache.

SOLUÇÃO 3: LIMPAR O PACOTE DE SOFTWARE INVÁLIDO OU CORROMPIDO


Se as duas primeiras soluções não corrigirem o problema, você poderá remover ou limpar 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 corrigiu 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


SOLUÇÃO 4: REMOVER TODOS OS ARQUIVOS ASSOCIADOS AO PACOTE

Por fim, você pode remover manualmente todos os associados ao pacote problemático. Primeiro, você precisa encontrar esses arquivos que estão localizados no diretório /var/lib/dpkg/info como 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

Como alternativa, 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 dar outra chance para reinstalar o pacote de software.

Conclusão
Esse tipo de erro do 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 sucesso e que você tenha conseguido reinstalar seu pacote de software.

Fonte:

https://www.tecmint.com/sub-process-usr-bin-dpkg-returned-an-error-in-ubuntu/#:~:text=Solution%201%3A%20Reconfiguring%20the%20dpkg,way%20to%20resolve%20this%20issue.

Nenhum comentário:

Postar um comentário