GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Risolto il problema con "Il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)" in Ubuntu

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

Ubuntu
  1. /usr/bin Vs /usr/local/bin Su Linux?

  2. "e:Il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)" Cosa significa?

  3. Ubuntu 15.04 Linux 4.0 Errore Python durante l'aggiornamento, il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)?

  4. Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

  5. Qual è la differenza tra #!/usr/bin/env bash e #!/usr/bin/bash?

Come risolvere il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1) in Ubuntu

Come risolvere Impossibile ottenere il blocco /var/lib/dpkg/lock Error su Ubuntu

Come risolvere l'errore "E:Impossibile ottenere il blocco /var/lib/dpkg/lock" su Ubuntu

Correzione dell'errore di download dei file di pacchetto non riuscito in Ubuntu

Come risolvere "il processo secondario usr bin dpkg ha restituito un codice di errore 1″ Errore in Ubuntu

Spostato il contenuto di /bin in /usr/bin, è possibile annullare?