Une seule commande pour supprimer les anciens noyaux de Lubuntu

Un type sympa et dégourdi, Linerd, avec les contributions de quelques autres GNU/Linuxiens, nous a concocté une méga commande pour supprimer, d’un coup de baguette magique, les anciens noyaux de Lubuntu qui engorgent le disque dur (enfin, souvent la partition système (/) du disque dur).

Un peu de lecture ou quelques rappels pour commencer

  1. Tout d’abord, le problème : Lubuntu, la grenouille et le bœuf
  2. Et maintenant la commande magique méga-rapide :-)

La seule difficulté de cette commande est de bien la copier dans son intégralité et de la coller d’un coup de molette dans le terminal. Elle est très longue car c’est en fait un enchaînement de commandes (signifié par les signes |).
Elle doit être copiée comme si c’était une seule ligne: le terminal n’étant pas infini en largeur, le texte passe à la ligne mais ce n’est qu’une apparence. Cette commande est une seule ligne.

Si besoin, entraînez-vous avec le terminal et la souris : Le terminal pour les débutants. Ainsi, vous pourrez faire une copier-coller de la commande depuis cette page.

Avant de lancer la commande, assurez-vous que vous n’avez pas oublié des morceaux au début ou vers la fin, ou que vous n’avez pas collé deux fois la commande.

Par prudence, vous allez d’abord commencer par regarder quel est votre noyau actif. Lancer le terminal et tapez, à la suite de l’invite tuxou@gnulinux:~$ :

tuxou@gnulinux:~$ uname -r

Si vous n’oubliez pas d’appuyer sur la touche [Entrée] du clavier, le terminal vous répond.
Chez Unetelle, ça raconte: 3.5.0-46 — c’est son noyau actuel qui fait marcher tout le système. Chez vous, ce peut être un noyau plus ancien ou plus récent.

La commande magique en deux temps (trois mouvements ?)

Ne vous lancez dans ce grand nettoyage que si vous êtes sûrs que votre ordinateur fonctionne bien avec le noyau actuel. Donc, si vous venez de faire une mise à jour qui a ajouté un nouveau noyau, attendez quelques jours pour voir si tout marche bien comme d’habitude.

Notre commande magique va conserver ce noyau et supprimer les autres qui sont plus anciens.

Par prudence encore, nous allons simuler la suppression des anciens noyaux en collant cette looongue commande :

dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e [0-9] | grep -E "(image|headers)"  | xargs sudo apt --dry-run remove

La simulation est appelée par l’option --dry-run.

  1. Relisez bien la commande par section (dont le début est marqué par |) pour être sûrs qu’elle est bien complète.
  2. Puis touche [Entrée] du clavier)
  3. Puisque vous avez mis sudo, le terminal vous demande votre mot de passe.

Chez Unetelle, le terminal raconte ceci :

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  linux-headers-3.5.0-40 linux-headers-3.5.0-40-generic linux-headers-3.5.0-45
  linux-headers-3.5.0-45-generic linux-image-3.5.0-42-generic
  linux-image-3.5.0-43-generic linux-image-3.5.0-45-generic
  linux-image-extra-3.5.0-42-generic linux-image-extra-3.5.0-43-generic
  linux-image-extra-3.5.0-45-generic
0 mis à jour, 0 nouvellement installés, 10 à enlever et 0 non mis à jour.
Remv linux-headers-3.5.0-40-generic [3.5.0-40.62]
Remv linux-headers-3.5.0-40 [3.5.0-40.62]
Remv linux-headers-3.5.0-45-generic [3.5.0-45.68]
Remv linux-headers-3.5.0-45 [3.5.0-45.68]
Remv linux-image-extra-3.5.0-42-generic [3.5.0-42.65]
Remv linux-image-3.5.0-42-generic [3.5.0-42.65]
Remv linux-image-extra-3.5.0-43-generic [3.5.0-43.66]
Remv linux-image-3.5.0-43-generic [3.5.0-43.66]
Remv linux-image-extra-3.5.0-45-generic [3.5.0-45.68]
Remv linux-image-3.5.0-45-generic [3.5.0-45.68]

Chez vous, il peut y avoir beaucoup plus de noyaux à supprimer ou beaucoup moins et les versions ne sont pas nécessairement les mêmes. Rassurez-vous, la commande magique ne vous donne pas de résultats trompeurs.
Vous pouvez toujours vérifier que votre noyau actuel n’est pas dans la liste.

Suppression radicale des vieux noyaux

Voici maintenant la commande qui va supprimer les anciens noyaux désormais inutiles. Cette fois, ce n’est pas pour faire semblant :

dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e [0-9] | grep -E "(image|headers)"  | xargs sudo apt -y purge

Voilà, je vous laisse contempler le terminal. Patientez jusqu’au retour de l’invite :

tuxou@gnulinux:~$

Redémarrer et voir l’espace libéré

Redémarrez l’ordinateur puis quand vous êtes de nouveau sur le bureau, lancez le terminal pour vérifier que vous avez retrouvé un peu d’espace :

  • Tapez, comme vous l’avez fait tout au début, la commande df -h
  • Vous devez près de 2 Go de libre sur la partition / (/dev/sda1 ou /dev/sda2 selon votre installation), 1ere ligne, 4e colonne, quelque chose comme ceci:
  • Filesystem Size Used Avail Use% Mounted on
    /dev/sda1 5.5G 2.7G 2.6G 52% /

Ne fermez pas le terminal, vous en aurez besoin dans deux secondes.
Pour parfaire votre nettoyage, commencez par mettre à jour votre Lubuntu.

Mise à jour et finition du nettoyage

Si Lubuntu ne vous lance pas à la figure son gestionnaire de mise à jour, patientez, faites un tour sur vos sites web préférés ou allez vous dégourdir les jambes en laissant l’ordinateur allumé, ou allez dans Menu général > Système > Gestionnaire de mise à jour et clic sur validez quand la fenêtre s’affiche avec toutes les mises à jour disponibles.

Si vous voyez dans la liste des mises à jour, un truc comme linux kernel ou linux-generic, eh bien c’est reparti pour un nouveau noyau! Quand la mise à jour sera terminée, il faudra relancer l’ordinateur pour que le nouveau noyau soit réellement actif.

Vous pourrez taper dans le terminal uname -r pour être sûr du n° de version et vous pourrez demain, à tête reposée, ou après le temps nécessaire pour vous assurer que votre ordinateur marche bien avec ce nouveau noyau, supprimer les anciens noyaux.

Chez Unetelle, la mise à jour a installé le noyau 3.5.0-32 donc, elle a pu supprimer les noyaux 3.5.0-31.47 et 3.5.0-31.52. Encore une fois, ces versions ne sont que des exemples, chez vous les n° peuvent être différents.

Ne fermez pas le terminal, vous en aurez besoin dans deux secondes.

Dernière petite vidange

Vider le dossier rempli de paquets téléchargés lors des mises à jour est souvent utile pour libérer encore un peu d’espace. C’est une vidange que vous pouvez faire toutes les semaines, si vous y pensez, ou quand vous y pensez (faites-vous un pense-bête).

Pour cela, dans le terminal, tapez la commande suivante :

sudo apt clean

  • Attention aux espaces et à la graphie :
    un espace après sudo et après apt
  • Appuyez sur la touche [Entrée] de votre clavier (autrement, le terminal ne sait pas ce que vous lui voulez et il reprend son somme)
  • Le terminal vous demande votre mot de passe. C’est normal car sudo vous fait passer en maître absolu ou presque de votre Lubuntu. Un pas de travers et vous pouvez même démolir tout votre GNU/Linux. Mais pas avec la commande apt-get clean qui ne présente aucun danger
  • Tapez soigneusement, sans vous tromper, en prenant votre temps, le mot de passe de l’ordinateur… pas celui de votre email, par exemple ;-) Rien ne s’affiche, c’est normal (sécurité)
  • Appuyez de nouveau sur la touche [Entrée] de votre clavier

Hop, le dossier en question est nettoyé. Cela peut libérer un peu de place mais rien en comparaison des noyaux accumulés.

Vérifier l’espace libre sur la partition /

Tapez de nouveau la commande que vous avez vue au début de cet article :

df -h

Le résultat devrait être proche de ce tableau :

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 5.5G 2.7G 2.6G 52% /

S’il vous reste 1.5G de libre, c’est suffisant.

Rappel : /dev/sda1 ou /dev/sda2 peuvent être / (dernière colonne).

Et la suite ?

Au lieu de passer son temps à désinstaller de vieux noyaux encombrants, si on essayait d’empêcher Lubuntu d’installer de nouveaux noyaux, ce serait bien pratique.


Source: Remove Old Kernels In Ubuntu With One Command

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *