un utilisateur Ubuntu 14.04 LTS ici.
En gros, j'ai eu un problème en cours d'exécution
Sudo apt-get update
Sudo apt-get upgrade
Dpkg a renvoyé un code d'erreur car le package du noyau Linux 3.13.0.57 était marqué comme "pas complètement installé":
Errors were encountered while processing:
linux-image-3.13.0.57-generic
linux-image-extra-3.13.0-57-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
J'ai tapé name -r afin de voir quelle est la version actuelle de mon noyau système et, étonnamment, c'était .13.0.57. Ensuite, j'ai redémarré le système et entré dans grub pour répertorier tous les noyaux Linux installés et je me suis aperçu que j'avais .8.0-35-generic. J'ai donc démarré avec pour essayer de réinstaller la version 3.13.0.57. . Je ne sais pas pourquoi, par défaut, Ubuntu 14.04 démarre avec 3.13.0.57 lorsque la version 3.8.0-35 est disponible.
Après avoir démarré avec succès avec .8., j'ai répertorié à nouveau tous les noyaux que j'ai avec dpkg afin d'être sûr que .13.0-57 existe.
Sudo dpkg --list | grep linux-image
Sudo apt-get purge linux-image-3.13.0.57-generic
Sudo apt-get purge linux-image-extra-3.13.0-57-generic
Mais le paquet d’images supplémentaire ne peut pas être supprimé, alors que l’image linux pure peut:
Errors were encountered while processing:
linux-image-extra-3.13.0-57-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Une idée de comment réparer ça? J'ai cherché et constaté qu'un éventuel manque d'espace sur la partition de démarrage pouvait être à l'origine de ce type de problème, mais je pense que mon cas est différent. J'ai réussi à effacer manuellement 4 à 5 anciens noyaux afin de m'assurer que j'ai libéré suffisamment d'espace sur la partition de démarrage.
Edit 1: J'ai vu qu'Ubuntu 14.04.2 est livré avec le noyau Linux 3.16. x mais je ne l'ai pas. Le plus récent que j'ai est 3.8.0-35 et vient ensuite 3.13.0-57.
Edit 2: Lancer Sudo apt-get autoremove
ou Sudo apt-get dist-upgrade
fait pas d'aide. Il semble que je ne puisse exécuter aucune mise à niveau. Voici le journal de Sudo apt-get autoremove
:
$ Sudo apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-image-extra-3.13.0-57-generic
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 152 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 747752 files and directories currently installed.)
Removing linux-image-extra-3.13.0-57-generic (3.13.0-57.95) ...
depmod: FATAL: could not load /boot/System.map-3.13.0-57-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
run-parts: executing /etc/kernel/postinst.d/dkms 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-57-generic
grep: /boot/config-3.13.0-57-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
run-parts: executing /etc/kernel/postinst.d/zz-runlilo 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
Fatal: open /boot/vmlinuz-3.13.0-46-generic.efi.signed: No such file or directory
run-parts: /etc/kernel/postinst.d/zz-runlilo exited with return code 1
dpkg: error processing package linux-image-extra-3.13.0-57-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
linux-image-extra-3.13.0-57-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Je ne sais pas ce que cela - Fatal: open /boot/vmlinuz-3.13.0-46-generic.efi.signed: No such file or directory
a à voir avec la suppression de 3.13.0-57.
J'ai réussi à trouver une solution au problème. Néanmoins, j'ai décidé de l'afficher comme réponse si une personne ayant le même problème se débattait.
La cause du problème:
J'ai vérifié le statut de dpkg des paquets:
dpkg --status linux-image-3.13.0.57-generic
dpkg --status linux-image-extra-3.13.0-57-generic
La sortie indiquait clairement que les paquets étaient en mauvais état. Ils n'étaient "pas complètement installés" comme je l'ai écrit dans la question ci-dessus.
La solution:
Les entrées de ces packages doivent être supprimées du fichier de statut de dpkg
pour que apt-get
puisse fonctionner normalement. Les étapes sont les suivantes:
Assurez-vous de sauvegarder le fichier d’état en cas de problème.
Sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.backup
Ouvrez /var/lib/dpkg/status
avec votre éditeur de texte préféré, puis recherchez et supprimez ONLY les références des paquets cassés. Vous ne devez rien supprimer d'autre!
Exécutez Sudo apt-get upgrade
pour vous assurer que tout est corrigé.
Si vous souhaitez passer à une nouvelle version du noyau, vous pouvez l'installer manuellement via les packages "linux-image-lts ..." via "apt-get dist-upgrade".
Ces échecs se produisent souvent dans les cas de volumens entièrement chiffrés, car le démarrage est beaucoup trop petit dans ces configurations.
Peut-être qu'un "apt-get autoremove" peut aussi aider ...
wajig remove linux-headers-3.13.0-57-generic
a travaillé pour moi.
J'ai redémarré et j'étais sur le noyau 3.13.0-57-generic
.
Attention cependant! Sauvegardez vos données.