Come correggere gli aggiornamenti sinaptici interrotti: "Il pacchetto si trova in uno stato incoerente molto grave"


15

Ho un Dell Mini9 con Ubuntu 8.10. Un giorno ho avuto la brillante idea di vedere se potevo installare uno stack LAMP. Ho avuto problemi con l'installazione di MySQL 5.0. Non ricordo l'errore, ma da allora tutti i tentativi di eseguire update-manager, synaptic o apt-get falliscono con un errore su mysql-server-5.0: "Il pacchetto è in uno stato incoerente molto brutto".

Ci ho provato apt-get remove mysql-server-5.0e anche installma senza fortuna. Entrambi falliscono con lo stesso errore di seguito. Come posso risolvere questo problema?

$ sudo apt-get remove mysql-server-5.0
Lettura degli elenchi dei pacchetti ... Fine
Costruire l'albero delle dipendenze       
Lettura delle informazioni sullo stato ... Fatto
I seguenti pacchetti sono stati installati automaticamente e non sono più necessari:
  dhcdbd libisc32
Usa 'apt-get autoremove' per rimuoverli.
I seguenti pacchetti saranno RIMOSSI:
  mysql-server-5.0
0 aggiornati, 0 installati, 1 da rimuovere e 164 non aggiornati.
1 non completamente installato o rimosso.
Dopo questa operazione, verrà liberato spazio su disco di 85,4 MB.
Vuoi continuare [Y / n]? 
dpkg: errore durante l'elaborazione di mysql-server-5.0 (--remove):
 Il pacchetto è in pessimo stato incoerente - dovresti
 reinstallarlo prima di tentare una rimozione.
Si sono verificati errori durante l'elaborazione:
 mysql-server-5.0
E: Il processo secondario / usr / bin / dpkg ha restituito un codice di errore (1)

Considerare l'utilizzo di <pre> per l'output dello schermo in cui non è necessaria l'evidenziazione della sintassi.
John Oxley,

Risposte:


19

Nessuna delle altre risposte ha funzionato per me su Maverick.

Nel mio caso, ho scoperto che ha funzionato:

sudo rm /var/lib/dpkg/info/flashplugin-nonfree.prerm

sudo dpkg --remove --force-remove-reinstreq flashplugin-nonfree

(sostituendo "flashplugin-nonfree" con il nome del pacchetto non funzionante e sostituendo "prerm" con il tipo di script non riuscito - nel mio caso era "postrm", lo script post-rimozione).

E dicono che Ubuntu è facile da usare !! brontolare brontolare


- E 'meglio scaricare drop interrotti
stepancheg

1
Ho cercato per ore una soluzione a un problema simile, e questo è l'unico che ha funzionato. Grazie.
LukeGT

6

Ho avuto lo stesso identico problema con un'installazione mysql. Devi eliminare il pacchetto. La semplice rimozione di un pacchetto non rimuove i file di configurazione forniti con esso.

Inoltre, farò riferimento a mysql-server-5.0 , ma mi rendo conto che esiste un pacchetto wrapper mysql-server che punta sempre all'ultima versione. cioè se chiedi di installare mysql-server , apt-get dovrebbe dirti che dipende da mysql-server-5.0 e installare entrambi. Se hai il pacchetto mysql-server sul sistema, dovresti assicurarti che sia sparito anche prima di provare a reinstallare.

  • Assicurarsi che il server mysql (mysqld) non sia in esecuzione. Se lo è, abbattilo:

    sudo /etc/init.d/mysqld stop

  • Controlla se qualche pacchetto dipende da mysql-server-5.0:

    sudo apt-cache rdepends mysql-server-5.0

    In tal caso, dovrai disinstallare l' opzione --force .

  • Elimina il pacchetto (includi l' opzione --force , a seconda del # 2)

    sudo apt-get --purge remove --force mysql-server-5.0

  • Assicurarsi che anche i file del programma di installazione vengano cancellati eseguendo

    sudo apt-get autoclean
    sudo apt-get autoremove

  • Installare di nuovo il pacchetto server

    sudo apt-get install mysql-server-5.0

Si spera che questo risolva il tuo problema. Tuttavia, il pacchetto potrebbe essere comunque rotto, se sono state apportate modifiche ai file provenienti dal pacchetto mysql-common .

mysql-common è il pacchetto di base utilizzato dai componenti client e server. Se le cose non funzionano ancora, prova a reinstallare questo pacchetto. Ci saranno sicuramente pacchetti che dipendono da questo; controlla usando il n. 2 sopra. Eliminare mysql-server prima di reinstallare mysql-common . Inoltre, non dimenticare di reinstallare mysql-common , altrimenti il ​​tuo sistema sarà molto rotto.


1

Potresti aptitudeprovare, che ha una migliore gestione delle dipendenze:

sudo aptitude remove mysql-server-5.0

L'errore qui è dpkg, quindi non credo che aptitudeandrebbe necessariamente meglio. Non fraintendetemi, sono tutto aptitudefinito apt-get, ma alla fine entrambi consegnano il vero grintoso dpkg(a cui sarete felici di sentire che è stato originariamente implementato in Perl).
Telemaco,

;-) Ho solo pensato che valesse la pena provare.
InnaM

0

Provare

sudo dpkg -i reconfigure mysql-server-5.0
sudo apt-get remove --force mysql-server-5.0

Se è un altro pacchetto che non funziona, prova anche apt-get remove --forcequel pacchetto.


0

L' dpkgerrore che hai lì suggerisce che il problema si verifica quando dpkgsi tenta di rimuovere effettivamente il pacchetto. (Alla fine della giornata, apt-gete Synaptice la mano come fuori il lavoro effettivo a dpkg.)

Hai provato a fare esattamente quello che dice il messaggio e reinstallare prima?

apt-get install --reinstall mysql-server-5.0

Per quanto stupido come potrebbe sembrare, se dpkgsta soffocando durante il processo di rimozione (perché alcuni file di si suppone per rimuovere è scomparso nel frattempo), poi reinstallare e quindi la rimozione può a volte aiuto. Assicurati che mysqlnon sia in esecuzione prima di provare a installarlo o rimuoverlo, come suggerisce nagul .


0

dpkg -r --force-remove-reinstreq <package> rimuove un pacchetto senza verificare se richiede la reinstallazione.

Dopodiché dovresti essere in grado di reinstallare il pacchetto con il tuo gestore pacchetti preferito.


0

Ho avuto questo problema con mailman. Eliminato /etc/init.d/mailman con

rm /etc/init.d/mailman

aggiustato :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.