Les mises à jour régulières d’un système Ubuntu met également à niveau le kernel dans sa dernière version disponible. Avec les années, ces kernels s’additionnent et prennent inutilement de l’espace disque, sans compter que l’on ne reviendra jamais sur dix noyaux en arrière. Il s’agit là d’une opération de maintenance à réaliser par un administrateur système en charge du parc Linux mais cette solution peut aussi corriger un problème d’upgrade en version supérieure Ubuntu, si par exemple il manque de la place dans la partition /boot.

Ce tutoriel explique comment faire le ménage dans les kernels obsolètes et inutiles d’un serveur ou d’une machine Ubuntu. Cette distribution Linux est la plus populaire sur desktop mais de nombreux serveurs utilisent également cet OS, dans sa version minimal pour ne fournir qu’une ligne de commande comme action à réaliser.

Cette action de maintenance étant très délicate, il est évidemment recommander de sauvegarder l’ensemble du serveur, du poste ou de la machine virtuelle avant de procéder à la suppression d’un noyau Linux. Une mauvaise manipulation et le système Ubuntu ne démarrera plus du tout.

 

Afficher tous les kernels Ubuntu

1. Ouvrir un Terminal en local ou une connexion SSH distante.

2. La commande suivante va lister tous les kernels disponibles sur le système Ubuntu :

dpkg -l | grep -Ei "linux-headers|linux-image"

3. Le résultat peut afficher de nombreuses versions différentes. Chaque kernel a des « linux-headers » et une « linux-image » suivis du numéro de version. A chaque fois, on retrouve linux-headers-x.x.x-x, linux-image-x.x.x-x et linux-image-extra-x.x.x-x.

tutoriel Ubuntu liste kernel linux header image

 

Suppression automatique des vieux kernels Ubuntu

La commande suivante va automatiquement supprimer les kernels obsolètes d’Ubuntu et ne conserver que les deux derniers : le plus récent qui est utilisé par le système d’exploitation et la version n-1 au cas où il faudrait basculer dessus, en cas d’erreur avec la dernière version.

sudo apt-get autoremove

tutoriel Ubuntu kernel autoremove

 

Supprimer à la main des kernels obsolètes Ubuntu

Puisque la fonction automatique peut ne pas être efficace ou ne plaira pas à l’admin barbu que vous êtes, il existe une méthode manuelle pour effacer les anciens noyaux Ubuntu.

1. Se connecter en SSH ou par une console locale.

2. Vérifier le kernel actuellement utilisé :

uname -r

tutoriel Ubuntu uname r version kernel

3. Liste les kernels disponibles :

dpkg -l | grep -Ei "linux-headers|linux-image"

4. Pour chaque version, on trouve une ligne « linux-headers » et « linux-image » qu’il faudra supprimer. Utiliser la commande suivante en l’adaptant à chaque version de kernel à supprimer.

sudo apt-get remove --purge linux-headers-3.5.0-51-generic linux-image-3.5.0-51-generic linux-image-extra-3.5.0-51-generic
 

5. Valider la suppression en conformant par « o » (oui) pour effacer le kernel obsolète.

tutoriel Ubuntu supprimer kernel

6. Relister les kernels par un dpkg pour vérifier la purge des linux-headers, linux-image et linux-image-extra.

7. Refaire l’opération pour chaque kernel à supprimer et ne conserver que les deux versions les plus récentes.

8. On récupère également de l’espace disque sur la partition principale et dans /boot.