Oggi ho provato ad aggiornare il mio desktop Ubuntu 20.04 LTS e ho riscontrato questo errore:"Sub-process /usr/bin/dpkg ha restituito un codice di errore (1)" . È uno dei problemi comuni in Ubuntu e in altri sistemi basati su DEB.
Questo errore di solito si verifica a causa di un'installazione non riuscita dell'applicazione o se il programma di installazione del pacchetto dpkg viene danneggiato o interrotto durante l'installazione di un pacchetto.
Ecco i comandi che ho provato per aggiornare il mio desktop Ubuntu:
$ sudo apt update
$ sudo apt upgrade
E... ecco il messaggio di errore:
Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: eog 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 21 not fully installed or removed. Need to get 0 B/421 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] (Reading database ... 230012 files and directories currently installed.) Preparing to unpack .../eog_3.36.2-0ubuntu1_amd64.deb ... Unpacking eog (3.36.2-0ubuntu1) over (3.36.1-1) ... dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt dpkg-deb: error: <decompress> subprocess returned error exit status 2 dpkg: error processing archive /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb (--unpack): cannot copy extracted data for './usr/lib/x86_64-linux-gnu/eog/libeog.so' to '/usr/lib/x86_64-linux-gnu/eog/libeog.so.dpkg-new': unexpected end of file or stream Errors were encountered while processing: /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Risolto il problema con "Il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)" in Ubuntu
Se hai riscontrato un errore come sopra, non preoccuparti! Qui, ho fornito alcune soluzioni alternative per risolvere "Sub-process /usr/bin/dpkg returned an error code (1)"
problema in Ubuntu e nelle sue varianti come Linux Mint, Pop OS.
Soluzione 1:riconfigurare il database dpkg
Se il processo di installazione del pacchetto viene interrotto o interrotto a metà, il database dpkg potrebbe essere danneggiato. La riconfigurazione del database dpkg potrebbe risolvere questo problema.
Per riconfigurare il database dpkg, esegui semplicemente:
$ sudo dpkg --configure -a
Questo comando proverà a riparare il database dpkg danneggiato e quindi a riconfigurare tutti i pacchetti danneggiati. Questo comando di solito risolve il dpkg returned an error code (1)
problema. Se per qualsiasi motivo non ha risolto il problema, segui le soluzioni successive.
Soluzione 2 - Forza l'installazione dell'applicazione
Se il primo metodo non ha funzionato, eseguire il comando seguente per eseguire l'installazione forzata:
$ sudo apt-get install -f
Oppure,
$ sudo apt-get install --fix-broken
Qui, -f
(o --fix-broken
) l'opzione tenterà di correggere il sistema Ubuntu con dipendenze interrotte.
Se queste due soluzioni non hanno aiutato e il problema persiste, prova la soluzione successiva.
Soluzione 3:rimuovere il file .deb dell'applicazione problematica dalla cartella della cache locale e reinstallarlo
Come vedi nel messaggio di errore (le ultime due righe), il eog pacchetto sta causando questo errore.
[...] /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Per coloro che si chiedono, eog (abbreviazione di Eye of GNOME) è il visualizzatore di immagini ufficiale e predefinito per l'ambiente desktop GNOME. Quindi questo pacchetto è problematico e non mi consente di aggiornare il mio Ubuntu.
Quando installi un pacchetto, verrà scaricato e salvato nella cartella della cache /var/cache/apt/archives/
.
Per correggere questo errore, rimuovi il pacchetto memorizzato nella cache utilizzando il comando:
$ sudo rm /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb
Sostituisci eog_3.36.2-0ubuntu1_amd64.deb con il tuo pacchetto.
Pulisci la cartella della cache del pacchetto:
$ sudo apt-get clean
$ sudo apt-get autoremove
Aggiorna gli elenchi delle fonti:
$ sudo apt-get update
Aggiorna il tuo sistema:
$ sudo apt-get upgrade
Infine, prendi il nuovo pacchetto dai repository ufficiali e reinstallalo come di seguito:
$ sudo apt-get install eog
Questa soluzione ha funzionato per me.
Soluzione 4:rimuovere l'applicazione problematica
Questa dovrebbe essere la tua ultima risorsa. Se nessuno dei metodi precedenti aiuta, rimuovi il pacchetto problematico dal tuo sistema come di seguito:
$ sudo apt-get remove --purge eog
$ sudo apt-get clean && sudo apt-get autoremove
Questo comando rimuoverà eog con tutti i suoi file di configurazione dal sistema.
E trova e rimuovi anche tutti i file associati al pacchetto danneggiato.
Per trovare tutti i file relativi a un pacchetto, esegui:
$ sudo ls -l /var/lib/dpkg/info | grep -i eog
Risultato di esempio:
-rw-r--r-- 1 root root 61926 Apr 24 13:42 eog.list -rw-r--r-- 1 root root 5889 Mar 29 08:01 eog.md5sums
Rimuovili manualmente.
Questo è tutto. A questo punto, una qualsiasi di queste quattro soluzioni dovrebbe averti aiutato a correggere "Sub-process /usr/bin/dpkg
ha restituito un codice di errore (1)" in Ubuntu e altri sistemi basati su DEB.
Soluzioni ad altri problemi comuni in Ubuntu:
- Come riparare il sistema operativo Ubuntu danneggiato senza reinstallarlo
- Come correggere l'errore Busybox Initramfs su Ubuntu
- Correzione dell'errore "È stata rilevata una sezione senza pacchetto:intestazione" in Ubuntu
- Correzione "W:Impossibile scaricare alcuni file di indice". Errore in Ubuntu
- Correzione "E:Il file della cache del pacchetto è danneggiato, ha l'hash sbagliato" Errore in Ubuntu
- Come risolvere l'errore "E:Impossibile ottenere il blocco /var/lib/dpkg/lock" su Ubuntu
- Correzione dell'errore "dpkg:error:parsing file '/var/lib/dpkg/updates/0014′" in Ubuntu