Solucionar El subprocés /usr/bin/dpkg va retornar un codi d'error (1)


No és estrany trobar-se amb un problema de paquets trencats a Ubuntu i altres distribucions basades en Debian. De vegades, quan actualitzeu el sistema o instal·leu un paquet de programari, podeu trobar l'error El subprocés /usr/bin/dpkg ha retornat un codi d'error.

Per exemple, fa un temps, vaig intentar actualitzar Ubuntu 18.04 i em vaig trobar amb l'error dpkg tal com es mostra a continuació.

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

Això indica que el paquet google-chrome-stable està trencat o corrupte. Hi ha algunes solucions a aquest problema, així que encara no llenceu la tovallola ni descarteu el vostre sistema.

Solució 1: torneu a configurar el paquet dpkg

Un dels desencadenants d'aquest error és una base de dades dpkg danyada. Això pot ser causat per la interrupció sobtada de la instal·lació d'un paquet de programari. Reconfigurar la base de dades és una manera de resoldre aquest problema.

Per fer-ho, només cal que executeu l'ordre:

$ sudo dpkg --configure -a

Això torna a configurar els paquets desempaquetats que no s'han instal·lat durant el procés d'instal·lació.

Solució 2: forçar la instal·lació del paquet problemàtic

De vegades, es poden produir errors durant la instal·lació de paquets de programari. Quan això succeeix, podeu forçar la instal·lació del paquet utilitzant l'opció -f com es mostra.

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

L'opció -f i --fix-broken es poden utilitzar indistintament per corregir dependències trencades com a resultat d'un paquet interromput o descàrrega de paquets en memòria cau.

Solució 3: elimina el paquet de programari dolent o danyat

Si les dues primeres solucions no solucionen el problema, podeu eliminar o eliminar el paquet de programari problemàtic tal com es mostra.

$ sudo apt remove --purge package_name

Per exemple, en el meu cas, la purga del paquet de Google Chrome va solucionar el problema.

$ sudo apt remove --purge google-chrome-stable

A continuació, invoqueu les ordres següents per eliminar tots els paquets antics, no utilitzats i innecessaris que també alliberen espai al vostre disc dur.

$ sudo apt clean
$ sudo apt autoremove

Solució 4: elimineu tots els fitxers associats al paquet

Finalment, podeu eliminar manualment tots els associats al paquet problemàtic. Primer, heu de trobar aquests fitxers que es troben al directori /var/lib/dpkg/info tal com es mostra.

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

Després d'enumerar els fitxers, podeu moure'ls al directori /tmp tal com es mostra

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

Alternativament, podeu utilitzar l'ordre rm per eliminar manualment els fitxers.

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

Finalment, actualitzeu les llistes de paquets tal com es mostra:

$ sudo apt update

A continuació, podeu donar-li una altra oportunitat per reinstal·lar el paquet de programari.

Aquest tipus d'error dpkg apunta a un problema amb l'instal·lador de paquets causat normalment per la interrupció d'un procés d'instal·lació o una base de dades dpkg corrupta.

Qualsevol de les solucions esmentades anteriorment hauria de solucionar aquest error. Si heu arribat fins aquí, esperem que el problema s'hagi resolt correctament i que hàgiu pogut reinstal·lar el vostre paquet de programari.