Nettoyer les anciens noyaux (kernels) d'Ubuntu
Il peut arriver que la partition de boot
d'Ubuntu se retrouve à court d'espace et que l'installation de nouveaux noyaux (kernels) soit impossible. Ubuntu affiche le message suivant qui vous invite à libérer de l'espace :
Tout d'abord, la procédure qui suit demande à être prudent afin de ne pas supprimer les noyaux les plus récents. Il est conseillé de conserver les deux noyaux les plus récents.
Connaître la version courante du noyau
Premièrement, nous commençons par vérifier la version actuelle du noyau avec la commande suivante :
uname -r
On obtient la version du noyau sous la forme suivante :
3.5.0-41-generic
Lister les noyaux disponibles
dpkg -l | grep -Ei "linux-headers|linux-image"
Ce qui nous donne une liste comme la suivante :
ii linux-headers-2.6.32-33 2.6.32-33.72 all Header files related to Linux kernel version 2.6.32 ii linux-headers-2.6.32-33-generic 2.6.32-33.72 amd64 Linux kernel headers for version 2.6.32 on x86/x86_64 ii linux-headers-2.6.35-30 2.6.35-30.56 all Header files related to Linux kernel version 2.6.35 ii linux-headers-3.5.0-32 3.5.0-32.53 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-32-generic 3.5.0-32.53 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-3.5.0-34 3.5.0-34.55 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-34-generic 3.5.0-34.55 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-3.5.0-36 3.5.0-36.57 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-36-generic 3.5.0-36.57 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-3.5.0-37 3.5.0-37.58 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-37-generic 3.5.0-37.58 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-3.5.0-39 3.5.0-39.60 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-39-generic 3.5.0-39.60 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-3.5.0-40 3.5.0-40.62 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-40-generic 3.5.0-40.62 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-3.5.0-41 3.5.0-41.64 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-41-generic 3.5.0-41.64 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-generic 3.5.0.41.57 amd64 Generic Linux kernel headers ii linux-image-2.6.32-33-generic 2.6.32-33.72 amd64 Linux kernel image for version 2.6.32 on x86/x86_64 ii linux-image-2.6.38-11-generic 2.6.38-11.50 amd64 Linux kernel image for version 2.6.38 on x86/x86_64 rc linux-image-3.0.0-31-generic 3.0.0-31.49 amd64 Linux kernel image for version 3.0.0 on x86/x86_64 ii linux-image-3.0.0-32-generic 3.0.0-32.51 amd64 Linux kernel image for version 3.0.0 on x86/x86_64 ii linux-image-3.2.0-45-generic 3.2.0-45.70 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP ii linux-image-3.5.0-32-generic 3.5.0-32.53 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-3.5.0-34-generic 3.5.0-34.55 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-3.5.0-36-generic 3.5.0-36.57 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-3.5.0-37-generic 3.5.0-37.58 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-3.5.0-39-generic 3.5.0-39.60 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-3.5.0-40-generic 3.5.0-40.62 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-3.5.0-41-generic 3.5.0-41.64 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-32-generic 3.5.0-32.53 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-34-generic 3.5.0-34.55 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-36-generic 3.5.0-36.57 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-37-generic 3.5.0-37.58 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-39-generic 3.5.0-39.60 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-40-generic 3.5.0-40.62 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-41-generic 3.5.0-41.64 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-generic 3.5.0.41.57 amd64 Generic Linux kernel image
Dans l'exemple ci-dessus, on ne conserve que les noyaux suivants : 3.5.0-40
et 3.5.0-41
.
Supprimer un ancien noyau
Pour désinstaller une version de noyau, par exemple pour le noyau 3.5.0-32
, on exécute les commandes suivantes :
sudo apt-get remove linux-headers-3.5.0-32 linux-headers-3.5.0-32-generic linux-image-3.5.0-32-generic linux-image-extra-3.5.0-32-generic --purge
Il est également possible d'utiliser une variable pour nettoyer plus rapidement les noyaux :
KNL_VERS=3.5.0-32; sudo apt-get remove linux-headers-${KNL_VERS} linux-headers-${KNL_VERS}-generic linux-image-${KNL_VERS}-generic linux-image-extra-${KNL_VERS}-generic --purge
Une confirmation de la suppression des paquets suivants vous est demandée :
linux-headers-3.5.0-32*
-
linux-headers-
3.5.0-32
-generic*
-
linux-image-
3.5.0-32
-generic*
-
linux-image-extra-
3.5.0-32
-generic*
Chaque suppression d'un ancien noyau libère aux alentours de 220 Mo (270 Mo pour les noyaux plus récents).
Nous renouvelons l'opération pour chacune des versions de noyau à supprimer. Ce qui nous donne à la fin la liste suivante :
ii linux-headers-3.5.0-40 3.5.0-40.62 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-40-generic 3.5.0-40.62 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-3.5.0-41 3.5.0-41.64 all Header files related to Linux kernel version 3.5.0 ii linux-headers-3.5.0-41-generic 3.5.0-41.64 amd64 Linux kernel headers for version 3.5.0 on 64 bit x86 SMP ii linux-headers-generic 3.5.0.41.57 amd64 Generic Linux kernel headers ii linux-image-3.5.0-40-generic 3.5.0-40.62 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-3.5.0-41-generic 3.5.0-41.64 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-40-generic 3.5.0-40.62 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-extra-3.5.0-41-generic 3.5.0-41.64 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP ii linux-image-generic 3.5.0.41.57 amd64 Generic Linux kernel image
Une fois cela fait, vous pouvez redémarrer votre ordinateur pour constater les changements dans le GRUB.
Vous pourrez dès lors faire la mise à jour qui ne pouvait se faire pour manque de place en relançant le Gestionnaire de mises à jour (Update Manager).
Vérifier l'espace disque de la partition /boot
La commande suivante vous permet de connaître l'espace disque de chacune des partitions de votre système Linux :
df -h
ou vous pouvez être plus précis en n'affichant que l'état de la partition /boot
:
df -h | grep /boot