Que faire des erreurs update-initramfs lors de la mise à niveau du kernel?

Je viens de courir:

sudo apt-get update && sudo apt-get dist-upgrade 

Et voici le résultat de la deuxième commande:

 Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following NEW packages will be installed linux-headers-4.4.0-38 linux-headers-4.4.0-38-generic linux-image-4.4.0-38-generic linux-image-extra-4.4.0-38-generic linux-signed-image-4.4.0-38-generic The following packages will be upgraded: linux-generic linux-headers-generic linux-image-generic linux-libc-dev linux-signed-generic linux-signed-image-generic 6 to upgrade, 5 to newly install, 0 to remove and 0 not to upgrade. Need to get 69.3 MB of archives. After this operation, 296 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-image-4.4.0-38-generic amd64 4.4.0-38.57 [18.7 MB] Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-image-extra-4.4.0-38-generic amd64 4.4.0-38.57 [39.0 MB] Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-generic amd64 4.4.0.38.40 [1,790 B] Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-image-generic amd64 4.4.0.38.40 [2,300 B] Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-signed-image-4.4.0-38-generic amd64 4.4.0-38.57 [3,990 B] Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-signed-generic amd64 4.4.0.38.40 [1,820 B] Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-signed-image-generic amd64 4.4.0.38.40 [2,332 B] Get:8 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-headers-4.4.0-38 all 4.4.0-38.57 [9,948 kB] Get:9 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-headers-4.4.0-38-generic amd64 4.4.0-38.57 [785 kB] Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-headers-generic amd64 4.4.0.38.40 [2,274 B] Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-libc-dev amd64 4.4.0-38.57 [838 kB] Fetched 69.3 MB in 1min 26s (806 kB/s) Selecting previously unselected package linux-image-4.4.0-38-generic. (Reading database ... 248254 files and directories currently installed.) Preparing to unpack .../linux-image-4.4.0-38-generic_4.4.0-38.57_amd64.deb ... Done. Unpacking linux-image-4.4.0-38-generic (4.4.0-38.57) ... Selecting previously unselected package linux-image-extra-4.4.0-38-generic. Preparing to unpack .../linux-image-extra-4.4.0-38-generic_4.4.0-38.57_amd64.deb ... Unpacking linux-image-extra-4.4.0-38-generic (4.4.0-38.57) ... Preparing to unpack .../linux-generic_4.4.0.38.40_amd64.deb ... Unpacking linux-generic (4.4.0.38.40) over (4.4.0.36.38) ... Preparing to unpack .../linux-image-generic_4.4.0.38.40_amd64.deb ... Unpacking linux-image-generic (4.4.0.38.40) over (4.4.0.36.38) ... Selecting previously unselected package linux-signed-image-4.4.0-38-generic. Preparing to unpack .../linux-signed-image-4.4.0-38-generic_4.4.0-38.57_amd64.deb ... Unpacking linux-signed-image-4.4.0-38-generic (4.4.0-38.57) ... Preparing to unpack .../linux-signed-generic_4.4.0.38.40_amd64.deb ... Unpacking linux-signed-generic (4.4.0.38.40) over (4.4.0.36.38) ... Preparing to unpack .../linux-signed-image-generic_4.4.0.38.40_amd64.deb ... Unpacking linux-signed-image-generic (4.4.0.38.40) over (4.4.0.36.38) ... Selecting previously unselected package linux-headers-4.4.0-38. Preparing to unpack .../linux-headers-4.4.0-38_4.4.0-38.57_all.deb ... Unpacking linux-headers-4.4.0-38 (4.4.0-38.57) ... Selecting previously unselected package linux-headers-4.4.0-38-generic. Preparing to unpack .../linux-headers-4.4.0-38-generic_4.4.0-38.57_amd64.deb ... Unpacking linux-headers-4.4.0-38-generic (4.4.0-38.57) ... Preparing to unpack .../linux-headers-generic_4.4.0.38.40_amd64.deb ... Unpacking linux-headers-generic (4.4.0.38.40) over (4.4.0.36.38) ... Preparing to unpack .../linux-libc-dev_4.4.0-38.57_amd64.deb ... Unpacking linux-libc-dev:amd64 (4.4.0-38.57) over (4.4.0-36.55) ... Setting up linux-image-4.4.0-38-generic (4.4.0-38.57) ... Running depmod. update-initramfs: deferring update (hook will be called later) Examining /etc/kernel/postinst.d. run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic update-initramfs: Generating /boot/initrd.img-4.4.0-38-generic gzip: stdout: No space left on device E: mkinitramfs failure cpio 141 gzip 1 update-initramfs: failed for /boot/initrd.img-4.4.0-38-generic with 1. run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1 Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.4.0-38-generic.postinst line 1052. dpkg: error processing package linux-image-4.4.0-38-generic (--configure): subprocess installed post-installation script returned error exit status 2 dpkg: dependency problems prevent configuration of linux-image-extra-4.4.0-38-generic: linux-image-extra-4.4.0-38-generic depends on linux-image-4.4.0-38-generic; however: Package linux-image-4.4.0-38-generic is not configured yet. dpkg: error processing package linux-image-extra-4.4.0-38-generic (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of linux-image-generic: linux-image-generic depends on linux-image-4.4.0-38-generic; however: Package linux-image-4.4.0-38-generic is not configured yet. linux-image-generic depends on linux-image-extra-4.4.0-38-generic; however: Package linux-image-extra-4.4.0-38-generic is not configured yet. dpkg: error processing package linux-image-generic (--configure): dependency problems - leaving unconfigured Setting up linux-headers-4.4.0-38 (No apport report written because the error message indicates it's a follow-up error from a previous failure. No apport report written because the error message indicates it's a follow-up error from a previous failure. 4.4.0-38.57) ... Setting up linux-headers-4.4.0-38-generic (4.4.0-38.57) ... Examining /etc/kernel/header_postinst.d. run-parts: executing /etc/kernel/header_postinst.d/dkms 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic Setting up linux-headers-generic (4.4.0.38.40) ... dpkg: dependency problems prevent configuration of linux-generic: linux-generic depends on linux-image-generic (= 4.4.0.38.40); however: Package linux-image-generic is not configured yet. dpkg: error processing package linux-generic (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of linux-signed-image-4.4.0-38-generic: linux-signed-image-4.4.0-38-generic depends on linux-image-4.4.0-38-generic (= 4.4.0-38.57); however: Package linux-image-4.4.0-38-generic is not configured yet. No apport report written because MaxReports has already been reached No apport report written because MaxReports has already been reached dpkg: error processing package linux-signed-image-4.4.0-38-generic (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of linux-signed-image-generic: linux-signed-image-generic depends on linux-signed-image-4.4.0-38-generic; however: Package linux-signed-image-4.4.0-38-generic is not configured yet. linux-signed-image-generic depends on linux-image-extra-4.4.0-38-generic; however: Package linux-image-extra-4.4.0-38-generic is not configured yet. dpkg: error processing package linux-signed-image-generic (--configure): dependency problems - leaving unconfigured No apport report written because MaxReports has already been reached dpkg: dependency problems prevent configuration of linux-signed-generic: linux-signed-generic depends on linux-signed-image-generic (= 4.4.0.38.40); however: Package linux-signed-image-generic is not configured yet. dpkg: error processing package linux-signed-generic (--configure): dependency problems - leaving unconfigured Setting up linux-libc-dev:amd64 (4.4.0-38.57) ... No apport report written because MaxReports has already been reached Errors were encountered while processing: linux-image-4.4.0-38-generic linux-image-extra-4.4.0-38-generic linux-image-generic linux-generic linux-signed-image-4.4.0-38-generic linux-signed-image-generic linux-signed-generic E: Sub-process /usr/bin/dpkg returned an error code (1) 

Comme vous pouvez le constater, j’ai eu beaucoup d’erreurs avec update-initramfs. J’ai peur de redémarrer maintenant car l’installation s’est tellement mal passée.

La question m’a amené à ce rapport de bogue , mais je ne suis toujours pas trop sûr de ce qu’il faut faire car cela ne s’est jamais produit auparavant. Pourquoi cela se produit-il maintenant et comment puis-je résoudre ce problème? Il est question de l’espace insuffisant quelque part, pourquoi cela?

J’utilise Ubuntu GNOME 16.04.1 avec GNOME 3.20.

La raison peut en être que vous manquez d’espace disque disponible (peut-être parce que vous avez créé une partition /boot trop petite sur votre disque dur) et que vous avez installé trop de vieux kernelx.

Le moyen le plus approprié de nettoyer complètement les anciens kernelx est de les supprimer avec cette commande:

 sudo apt purge linux-headers-* linux-headers-*-generic linux-image-*-generic linux-image-extra-*-generic linux-signed-image-*-generic 

Pour vérifier quelles versions du kernel sont actuellement installées sur le système … exécutez cette commande:

 sudo dpkg --get-selections | grep linux 

Remplacez * par les versions du kernel (par exemple: 4.4.0-36 ) à partir du résultat de la commande.

Exemple – 4.4.0-36 la commande pour supprimer complètement toutes les traces de la version du kernel 4.4.0-36 :

 sudo apt purge linux-headers-4.4.0-36 linux-headers-4.4.0-36-generic linux-image-4.4.0-36-generic linux-image-extra-4.4.0-36-generic linux-signed-image-4.4.0-36-generic 

Sinon, vous pouvez utiliser byobu de Dustin Kirkland (Canonical) pour éliminer les kernelx plus anciens:

 sudo apt install byobu sudo purge-old-kernels 

Ceci supprimera tous les kernelx les plus anciens, mais laissera le courant (bien sûr) et celui avant installé.

Votre ordinateur n’a plus d’espace disque.

Libérez-en dans /boot .

Puis relancez la commande.

Mise à jour: dans le chat, nous avons constaté que la partition /boot était pleine. C’est ici que l’espace disque doit être libéré.

Mise à jour 2: Faire ls /boot devrait afficher certains fichiers vmlinuz-X.XX.XX . Faites apt-get purge linux-image-X.XX.XX-generic pour chacun. Conservez simplement la dernière version au cas où celle que vous avez installée ne fonctionne pas. (Merci à edwinksl d’avoir demandé des informations sur la procédure à suivre).

J’espère que cela aidera quelqu’un d’autre.

J’essayais d’installer manuellement une version plus récente du kernel il y a quelques mois, avec des résultats similaires à ceux de OP.
Même si /boot ne apt-get autoremove que 30% du nombre total d’erreurs d’espace disque apt-get autoremove lors de l’exécution d’ apt-get autoremove , il essaierait de construire le fichier initramfs pour le nouveau kernel à chaque fois et échouerait.

Sur la base de cette question AskUbuntu, j’ai déplacé le fichier du kernel incriminé de /var/lib/initramfs-tools et j’ai pu faire fonctionner apt-get à nouveau sans erreur.

Pour ce qui est de savoir pourquoi cela se passait dans Ubuntu 16.04, j’ai une théorie:

Dans la version 16.04, les kernelx inutiles sont supposés être automatiquement supprimés par les unattended-upgrades exécutées automatiquement en tant que tâche cron ou par défaut, de sorte que / boot ne soit jamais saturé , mais je soupçonne que le bogue n ° 1624644 s’est produit. Pouvez-vous confirmer le bogue dans Launchpad?