Come riparare l'errore dpkg [2]?


13

Ogni volta che provo a installare o rimuovere un pacchetto, visualizzo questo errore. Ho pensato che forse era il disco rigido, ma un controllo del disco mi ha dato un buono stato di salute.

dpkg: unrecoverable fatal error, aborting:
reading files list for package 'linux-headers-3.16.0-31': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install.  Trying to recover:

Ho provato la soluzione di rimuovere l'elenco per questo file dal file di stato di dpkg, ma senza risultati. Ho provato a eliminare il pacchetto ma non serve. Sono bloccato a questo punto in quanto nulla che posso trovare su Google aiuta.

Aggiornare:

Questo è ciò che dice l'errore:

dpkg: unrecoverable fatal error, aborting:
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install.  Trying to recover:

Dopo aver provato: /ubuntu//a/603305/1992

Update2:

Sembra che l'unità abbia settori danneggiati, ma il conteggio dei settori riallocato è 0. L'unità è relativamente vecchia, tuttavia, mi aspetto alcuni problemi. Non potrò sostituirlo immediatamente e fino ad allora vorrei essere in grado di mantenere aggiornato il sistema (soprattutto per motivi di sicurezza).

Ho notato che c'era un problema con la gestione di alcuni checksum md5 relativi al pacchetto menzionato nell'errore, ma non so cosa fare con quelli, come se cancellarli consentirebbe a dpkg di continuare.

Risposte:


19

Ho trovato la risposta qui e qui .

Ciò che mi confonde è che l'ho provato due volte prima e non ha funzionato. Probabilmente ha funzionato questa volta perché ho usato uno script che ho trovato nelle risposte del launchpad che ha eseguito il backup e ripristinato ciò che poteva ... Non lo so. In entrambi i casi, ecco la soluzione:

  • pkexec gedit /var/lib/dpkg/status
  • Cerca il pacchetto offensivo per nome e rimuovi la sua voce.
  • Salva il file ed esci da gedit.
  • correre sudo dpkg --configure -a
  • correre sudo apt-get -f installper ogni evenienza.
  • Continua se non ci sono errori.
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.