Vous n'êtes pas connecté - Connexion ou Créer un compte

Classée dans Questions > Questions / Réponses

Nettoyer les anciens noyaux (kernels) d'Ubuntu

Administrateur
Une annonce aurait pu être ici :'(

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 :

Ubuntu message libérer espace partition boot

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

Il n'est plus possible de répondre à cette question car elle marquée comme résolue.