Sur plusieurs machines Ubuntu, je suis constamment confronté au problème d'une partition de démarrage complète bien que je supprime toujours tous les anciens noyaux. Le problème semble se produire, car de nombreux initrd
fichiers se trouvent sur la partition de démarrage même si les noyaux associés ne sont pas réellement installés. Pour donner en exemple:
root@Jacobi:/boot# ls -lah
insgesamt 202M
drwxr-xr-x 3 root root 3,0K Jan 30 10:03 .
drwxr-xr-x 25 root root 4,0K Jan 30 10:03 ..
-rw-r--r-- 1 root root 1,2M Dez 11 15:36 abi-4.4.0-104-generic
-rw-r--r-- 1 root root 1,2M Jan 9 22:28 abi-4.4.0-109-generic
-rw-r--r-- 1 root root 1,2M Jan 19 14:06 abi-4.4.0-112-generic
-rw-r--r-- 1 root root 187K Dez 11 15:36 config-4.4.0-104-generic
-rw-r--r-- 1 root root 187K Jan 9 22:28 config-4.4.0-109-generic
-rw-r--r-- 1 root root 187K Jan 19 14:06 config-4.4.0-112-generic
drwxr-xr-x 5 root root 1,0K Jan 30 10:03 grub
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-3.13.0-39-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-101-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-103-generic
-rw-r--r-- 1 root root 38M Jan 30 10:02 initrd.img-4.4.0-104-generic
-rw-r--r-- 1 root root 38M Jan 30 10:02 initrd.img-4.4.0-109-generic
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-4.4.0-38-generic
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-4.4.0-45-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-59-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-77-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-78-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-81-generic
-rw-r--r-- 1 root root 179K Jan 28 2016 memtest86+.bin
-rw-r--r-- 1 root root 181K Jan 28 2016 memtest86+.elf
-rw-r--r-- 1 root root 181K Jan 28 2016 memtest86+_multiboot.bin
-rw------- 1 root root 3,8M Dez 11 15:36 System.map-4.4.0-104-generic
-rw------- 1 root root 3,8M Jan 9 22:28 System.map-4.4.0-109-generic
-rw------- 1 root root 3,8M Jan 19 14:06 System.map-4.4.0-112-generic
-rw------- 1 root root 6,8M Dez 11 15:36 vmlinuz-4.4.0-104-generic
-rw------- 1 root root 6,8M Jan 9 22:28 vmlinuz-4.4.0-109-generic
-rw------- 1 root root 6,8M Jan 19 14:06 vmlinuz-4.4.0-112-generic
Mais seuls linux-image-4.4.0-104-generic et linux-image-4.4.0-109-generic sont installés:
root@Jacobi:/boot# dpkg -l linux-image-\* | grep ^ii
ii linux-image-4.4.0-104-generic 4.4.0-104.127 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-109-generic 4.4.0-109.132 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-104-generic 4.4.0-104.127 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-109-generic 4.4.0-109.132 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
Si je supprime manuellement les fichiers initrd inutiles, ils seront à nouveau générés dès que j'essaierai de faire une mise à niveau.
Quelle pourrait être la cause de ce problème et comment puis-je me débarrasser définitivement de ces fichiers?
boot
grub2
partitioning
kernel
user5950
la source
la source
apt-get autoremove
.Réponses:
Vous devez vérifier les noyaux partiellement supprimés avec
et les retirer avec par exemple
sudo apt-get purge linux-image-4.4.0-101-generic
.La purge supprimera les règles de génération d'initramfs de
/var/lib/initramfs-tools/
.Si cela n'aide pas, vous pouvez les supprimer manuellement de la liste initramfs:
Habituellement, je cours
purge-old-kernels
suivi desudo apt-get autoremove
seulement 2 noyaux récents.Vous pouvez réinstaller les noyaux installés avec leurs initramfses:
la source
initrd
manuellement les fichiers inutiles du démarrage pour libérer de l'espace, et voilà le problème résolu! Merci!rm
pour tout ce qui concerne lesinitrd
noyaux ou les en-têtes. Certaines commandes sont disponibles pour gérer la suppression des fichiers kernels / headers / initrd.img partiellement supprimés pour vous. Tu voisupdate-initramfs
. Voir ma réponse ci-dessous pour plus de détails.Si vous avez déjà utilisé
dpkg
pour purger les noyaux / en-têtes et si vous avez déjà vérifiédpkg -l
et ne voyez toujours pas les noyaux / en-têtes installés là-bas, mais vous voyez toujours des références à ces anciens noyaux sous/boot
forme deinitrd-img
fichiers, alors la bonne façon purger ces références et fichiers se fait avec laupdate-initramfs
commande.Par exemple, si vous avez seulement
4.4.0-109
installé, mais que vous voyez toujours ce qui suit dans/boot
:Vous pouvez supprimer en toute sécurité
4.4.0-104
et4.4.0-103
de/boot
les commandes suivantes:Les deux premières commandes suppriment les références à ces noyaux dans
initramfs
les règles de génération ainsi que les fichiers dans/boot
. La dernière commande indique à initramfs de régénérer lesinitrd.img
fichiers en fonction des règles mises à jour.Théoriquement, vous pouvez également utiliser
pour supprimer plusieurs noyaux à la fois, mais pour une raison quelconque, cela n'a pas fonctionné pour moi.
la source