J'ai obtenu le résultat suivant lors de la suppression d'un noyau par dpkg --purge
:
Suppression de linux-headers-3.13.0-112-generic (3.13.0-112.159) ... Suppression de linux-image-extra-3.13.0-112-generic (3.13.0-112.159) .. . run-parts: exécute /etc/kernel/postinst.d/apt-auto-removal 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic run -parts: exécution de /etc/kernel/postinst.d/initramfs-tools 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic update-initramfs: Génération/boot/initrd. img-3.13.0-112-generic W: TMPDIR est monté noexec, ne mettra pas en cache les scripts d'exécution. gzip: stdout: Il ne reste plus d'espace sur le périphérique E: échec de mkinitramfs cpio 141 gzip 1 Update-initramfs: échec de /boot/initrd.img-3.13.0-112-generic avec 1. Éléments d'exécution:/etc/kernel /postinst.d/initramfs-tools quitté avec le code retour 1 dpkg: paquet de traitement des erreurs linux-image-extra-3.13.0-112-generic (--purge): sous-processus installé après -memoval script a renvoyé le statut d'erreur de sortie 1 Suppression de linux-image-3.13.0-112-generic (3.13.0-112.159 ) ... Examen de /etc/kernel/postrm.d. Run-parts: exécution de /etc/kernel/postrm.d/initramfs-tools 3.13.0-112-generic/boot /vmlinuz-3.13.0-112-generic[.____.aserupdate-initramfs: Suppression de /boot/initrd.img-3.13.0-112-generic[.____._revrun-parts: exécution de/etc/kernel/postrm .d/zz-update-grub 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic[.____.HERGénération du fichier de configuration grub ... Avertissement: définition de GRUB_TIMEOUT en tant que Une valeur différente de zéro lorsque GRUB_HIDDEN_TIMEOUT est définie n'est plus prise en charge. Image linux trouvée: /boot/vmlinuz-4.4.0-71-generic[.____. Faire de cette image une image: /boot/initrd.img- 4.4.0-71-generic Image linux trouvée: /boot/vmlinuz-4.4.0-67-generic[.____. PrinterFound initial image: /boot/initrd.img-4.4.0-67- generic Image linux trouvée: /boot/vmlinuz-4.4.0-66-generic Found initrd image: /boot/initrd.img-4.4.0-66-generic . Image de linux trouvée: /boot/vmlinuz-4.4.0-64-generic Found initrd image: /boot/initrd.img-4.4.0-64-generic .Found linux i mage: /boot/vmlinuz-3.13.0-115-generic[.____. Page_Infound image initiale: /boot/initrd.img-3.13.0-115-generic[.____. Faire une image linux:/boot/vmlinuz -3.13.0-113-generic Trouvé l'image initrd: /boot/initrd.img-3.13.0-113-generic .found memtest86 + image: /memtest86+.elf Found memtest86 + image: /memtest86+.bin Aucun groupe de volumes trouvé terminé Purge des fichiers de configuration pour linux-image-3.13.0-112-generic (3.13.0-112.159). .. Examen de /etc/kernel/postrm.d. Run-parts: exécution de /etc/kernel/postrm.d/initramfs-tools 3.13.0-112-generic/boot/vmlinuz -3.13.0-112-generic Run-parts: exécution de /etc/kernel/postrm.d/zz-update-grub 3.13.0-112-generic /boot/vmlinuz-3.13.0-112- generic Des erreurs sont survenues lors du traitement: linux-image-extra-3.13.0-112-generic
Pourquoi manque-t-il d'espace même en cas de purge? Ce n'est pas un problème d'inode dans ce cas.
Remarque: Il y a d'autres questions sur lesquelles une erreur survient lors de dpkg --configure
ou lors de l'installation d'un noyau. Il est plus compréhensible que le système manque alors d’espace disque, mais dans ce cas, je purge un noyau - un paquet linux-image-extra pour qu’il soit spécifique - par dpkg
. Il n'y a pas de problème de dépendance dans ce cas. Par exemple, dans celui-ci , une solution pourrait consister à purger les packages du noyau directement par dpkg
, mais le problème de cette question génère une erreur.
Lors de la purge d'un paquet linux-image-extra, des scripts de post-installation sont exécutés, car le paquet linux-image principal de cette version du noyau reste peut-être dans le système: sa taille diminuera à la suite de ce processus. Toutefois, l'ancien fichier initrd.img n'est pas supprimé dans "/ boot" et le nouveau fichier est créé à côté de celui-ci dans "/ boot" au cours de ce processus. Vous risquez donc de manquer d'espace.
Le correctif pourrait consister à créer le nouveau fichier initrg.img dans une partition différente avant de remplacer l'ancien par celui-ci dans update-initramfs
. Donc, le script update-initramfs
devrait être corrigé.
Une solution de contournement consisterait à supprimer le fichier /boot/initrd.img versionné respectif avant d'exécuter dpkg --purge
pour le paquet linux-image-extra. Cela pourrait également être fait par Sudo update-initramfs -d -k 3.13.0-112-generic
dans ce cas, car le noyau que je supprimais était "3.13.0-112-generic".