web-dev-qa-db-fra.com

Comment corriger l'erreur dpkg [2]?

Chaque fois que j'essaye d'installer ou de supprimer un paquet, j'obtiens cette erreur. Je pensais que c'était peut-être le disque dur, mais une vérification du disque m'a donné un bilan de santé vierge.

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:

J'ai essayé la solution consistant à supprimer la liste de ce fichier du fichier d'état de dpkg, mais en vain. J'ai essayé de purger le paquet, mais pas d'utilisation. Je suis coincé à ce stade, car rien que je ne puisse trouver sur Google n’aide.

Mettre à jour:

C'est maintenant ce que dit l'erreur:

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

Après avoir essayé: https://askubuntu.com/a/603305/1992

Update2:

Il semble que le lecteur comporte des secteurs défectueux, mais le nombre de secteurs réaffectés est égal à 0. Toutefois, le lecteur est relativement ancien. Je m'attends donc à des problèmes. Je ne serai pas en mesure de le remplacer immédiatement, et jusque-là, j'aimerais pouvoir garder le système à jour (notamment pour des raisons de sécurité).

J'ai remarqué qu'il y avait un problème avec la gestion de certaines sommes de contrôle md5 liées au paquet mentionné dans l'erreur, mais je ne sais pas quoi en faire, par exemple, si les effacer permettait à dpkg de continuer.

12
RolandiXor

J'ai trouvé la réponse ici et ici .

Ce qui me rend perplexe, c’est que j’ai essayé cela deux fois auparavant et que cela n’a pas fonctionné. Cela a probablement fonctionné cette fois-ci car j'ai utilisé un script trouvé dans les réponses du tableau de bord, qui sauvegardait et restaurait ce qu'il pouvait ... Je ne sais pas. Quoi qu'il en soit, voici le correctif:

  • pkexec gedit /var/lib/dpkg/status
  • Recherchez le paquet en cause par son nom et supprimez son entrée.
  • Enregistrez le fichier et quittez gedit.
  • lancer Sudo dpkg --configure -a
  • lancez Sudo apt-get -f install juste au cas où.
  • Continuez s'il n'y a pas d'erreur.
17
RolandiXor