Sur plusieurs machines Ubuntu, je suis constamment confronté au problème de la partition de démarrage complète, même si je supprime toujours tous les anciens noyaux. Le problème semble se produire car de nombreux fichiers initrd
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 générés à nouveau dès que j'essaie de faire une mise à niveau.
Quelle pourrait être la cause de ce problème et comment puis-je me débarrasser de ces fichiers de manière permanente?
Vous devriez vérifier les noyaux partiellement retirés avec
dpkg -l linux-image-\* | grep ^rc
et supprimez-les avec par exemple Sudo apt-get purge linux-image-4.4.0-101-generic
.
La purge supprimera les règles de génération initramfs de /var/lib/initramfs-tools/
.
Si cela ne vous aide pas, vous pouvez les supprimer manuellement de la liste initramfs:
Sudo rm /var/lib/initramfs-tools/3.13.0-39-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-101-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-103-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-38-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-45-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-59-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-77-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-78-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-81-generic
D'habitude, je lance purge-old-kernels
suivi de Sudo apt-get autoremove
pour n'avoir que 2 noyaux récents.
Vous pouvez réinstaller les noyaux installés avec leurs initramfses:
Sudo apt-get install --reinstall \
$(dpkg -l linux-image-\* | grep ^ii | awk '{print $2}')