Come risolvere il problema "Il pacchetto è in uno stato di incoerenza molto cattivo"?

67

Non riesco ad aggiornare il mio sistema perché si blocca durante l'installazione di un aggiornamento di terze parti (zramswap-enabler)!

A volte ricevo il seguente messaggio in Gestione aggiornamenti:

  

Impossibile inizializzare le informazioni sul pacchetto Si è verificato un problema irrisolvibile durante l'inizializzazione delle informazioni sul pacchetto.

     

Segnala questo bug al pacchetto 'update-manager' e includi il seguente messaggio di errore:

     

E:The package zramswap-enabler needs to be reinstalled, but I can't find an archive for it.

Ho provato a rimuovere l'attivatore di zramswap, ma è impossibile perché ottengo il seguente messaggio:

dpkg: error processing zramswap-enabler (--remove):
 Package is in a very bad inconsistent state - you should
 reinstall it before attempting a removal.
Errors were encountered while processing:
 zramswap-enabler
E: Sub-process /usr/bin/dpkg returned an error code (1)

In realtà vorrei davvero reinstallare quel pacchetto, ma non è in grado di farlo! Se rimuovo questo PPA di terze parti, il sistema mi avvisa di un problema molto serio.

Quindi, perché non posso installare / reinstallare / rimuovere / aggiornare questo pacchetto e perché blocca il programma di aggiornamento se provo ad aggiornare?

    
posta Benjamin Piller 09.06.2012 - 21:51

7 risposte

92

Modificato fuori questione e aggiunto come risposta.

  1. Assicurati che il tuo PPA sia impostato.

  2. Rimuovi il pacchetto danneggiato tramite il seguente comando:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Installa nuovamente il pacchetto:

    sudo apt-get install zramswap-enabler
    
  4. Dopo il riavvio (non necessario), puoi installare gli aggiornamenti correttamente!

In realtà puoi correggere qualsiasi problema di "Il pacchetto è in uno stato di incoerenza molto brutto" con questa soluzione!

    
risposta data hexafraction 13.04.2017 - 14:24
58

Questo ha funzionato per me dopo aver setacciato praticamente tutti i forum AskUbuntu e Ubuntu! ( Origine ). Sono in esecuzione Lubuntu 14.04

sudo mv /var/lib/dpkg/info/<packagename>.* /tmp/
sudo dpkg --remove --force-remove-reinstreq <packagename>
sudo apt-get remove <packagename>
sudo apt-get autoremove && sudo apt-get autoclean
    
risposta data Hamman Samuel 13.08.2014 - 18:06
9

Ho avuto una situazione peggiore di questa. Ho dovuto rimuovere i pacchetti installati a metà forzando le dipendenze.

sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>

Poi ho dovuto reinstallarli

sudo apt-get -f install

Questo dovrebbe risolvere qualsiasi problema. Ma assicurati di avere la connettività di rete quando provi a farlo. Altrimenti, dovrai affrontare ancora più problemi.

    
risposta data Sriram Murali 01.10.2013 - 20:23
7

Le altre risposte sono corrette per menzionare la rimozione di un pacchetto seguita da apt-get install -f per reinstallare il pacchetto danneggiato (e installare completamente altri pacchetti metà installati). Tuttavia, questo può essere fatto in un solo passaggio:

sudo apt-get install -f --reinstall zramswap-enabler
    
risposta data David Foerster 22.02.2017 - 14:22
1

proverei a pulire lo stato della mia installazione prima di ricorrere alla disinstallazione di qualsiasi cosa abbia creato il problema:

apt-get autoclean
apt-get update
apt-get upgrade
apt-get install -f

Il modo migliore per risolvere questo problema nella maggior parte dei casi e in almeno un'istanza mi ha aiutato quando l'altro modo non funzionava (perché enormi dipendenze dal pacchetto da rimuovere)

    
risposta data Dr. Azrael Tod 18.05.2015 - 06:44
1

Ho avuto un problema simile con quagga, il daemon di routing. Il solo reinstalzionamento del pacchetto ha funzionato per me:

# apt-get install -f  
<some output ommited>
dpkg: warning: overriding problem because --force enabled:
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.

wget http://security.debian.org/debian-security/pool/updates/main/q/quagga/quagga_0.99.22.4-1+wheezy3_i386.deb
dpkg -i quagga_0.99.22.4-1+wheezy3_i386.deb

Ora è di nuovo a posto:

#apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    
risposta data locutus 14.10.2016 - 14:33
1

La stessa cosa mi è successa quando mi sono disconnesso da Internet mentre scaricavo il pacchetto "wireshark". Dopo che, quando ho provato a reinstallarlo, ha lanciato lo stesso errore "il pacchetto si trova in uno stato incoerente molto cattivo". Ho provato tutti i comandi per installare, eliminare, rimuovere e reinstallare ma non ha funzionato. Dopo un po 'di googling, mi sono imbattuto in un comando

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.deb

(modifica libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.deb con qualsiasi pacchetto stia creando problemi, nella directory /var/cache/apt/archives/ ).

Dopo che tutti i problemi sono stati risolti. Ho rimosso di nuovo il pacchetto utilizzando

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove per rimuovere completamente il pacchetto.

Successivamente ho installato nuovamente wireshark usando: sudo apt-get install wireshark .
Tutto funziona perfettamente ora!

Rferenze:
Come risolvere "Processo secondario usr bin dpkg ha restituito un codice di errore 1" Errore?
Correggi l'errore dpkg

    
risposta data Dark_Byt3 25.04.2018 - 19:09

Leggi altre domande sui tag