
Canonical fournit des mises à jour régulières pour le système Ubuntu 18.04, y compris des mises à jour du noyau pour gérer au mieux les ressources du système. Cet article vous fournira différentes méthodes pour supprimer les anciens noyaux du menu de démarrage de votre Ubuntu 18.04. Lorsque vous installez un nouveau noyau, les anciens ne sont pas supprimés car cela peut vous aider à démarrer si vous faites une erreur avec le nouveau ou pour une autre raison. Notez que l'ancien noyau consomme des espaces qui peuvent être utiles pour autre chose. Nous avons parfois besoin de mettre à jour le noyau pour des compatibilités car il est responsable de l'interface de toutes les applications.
Vérifier les anciens noyaux
Afin d'éviter toute erreur avec le noyau de démarrage actuel de votre système Ubuntu 18.04, assurez-vous de vérifier sa version
# uname -r
4.15.0-23-generic
Avant d'essayer de supprimer l'ancien noyau, vous devez d'abord vérifier s'il existe d'anciens noyaux présents dans les systèmes. Pour ce faire, vous pouvez regarder le grub au démarrage du système

vous pouvez sélectionner "option avancée pour Ubuntu". Vous pouvez voir le noyau actuel en haut de la liste avec l'ancien noyau juste après 4.15.0.13- générique

Il existe une autre méthode pour vérifier l'ancien noyau dans la ligne de commande. Cela vous aidera à lister l'ancien noyau et non l'actuel
# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
ii linux-image-4.15.0-13-generic 4.15.0-13.14 amd64 Linux kernel image for version 4.15.0 on 64 bit x86 SMP
Vous pouvez voir que vous avez effectivement un ancien noyau installé marqué avec ii. Vous pouvez voir plus d'anciens noyaux si vous avez effectué une mise à niveau ou une installation manuelle. Il y a un état lorsque vous vérifiez le noyau
- ii :signifie que le noyau/les packages sont installés et peuvent être supprimés.
- rc :indique que le noyau a déjà été supprimé.
- iU :est quelque chose comme un avertissement qui dit de NE PAS RETIRER. Cela signifie qu'il n'est pas installé mais en attente d'installation dans apt .
Assurez-vous de voir le statut avant de faire quoi que ce soit. Maintenant que nous avons trouvé quelques noyaux installés, voyons maintenant les différentes méthodes pour supprimer chacun ou la totalité.
1) Supprimer les anciens noyaux en ligne de commande
Il existe des commandes utiles pour supprimer les anciens noyaux, que vous les ayez installés manuellement ou directement via les mises à jour du système. Normalement, vous l'installez via les mises à jour régulières du système, mais pour certaines raisons, vous pouvez décider de faire une installation manuelle.
a) commande apt
L'appartement command help pour désinstaller les packages, y compris les anciens noyaux dont vous n'avez pas besoin dans vos systèmes Ubuntu 18.04. Vous pouvez vérifier ceux qui ont été installés automatiquement comme ci-dessous
# apt-mark showauto 'linux-image-.*'
linux-image-4.15.0-13-generic
linux-image-4.15.0-23-generic
linux-image-extra-4.15.0-13-generic
linux-image-generic
et vous pouvez vérifier ceux qui ont été installés manuellement comme ci-dessous
# apt-mark showmanual 'linux-image-.*'
Comme vous pouvez le voir, nous n'avons aucun noyau installé manuellement. Vous pouvez supprimer tout l'ancien noyau avec le supprimer paramètre comme ci-dessous :
# apt remove linux-image-4.15.0-13-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-image-4.15.0-13-generic* linux-image-extra-4.15.0-13-generic
....
....
you may need to re-run your boot loader[grub]
Lorsque vous supprimez un noyau, assurez-vous de mettre à jour le grub pour voir si une erreur se produit lors de la génération du grub
# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-23-generic
Found initrd image: /boot/initrd.img-4.15.0-23-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
Vous pouvez maintenant vérifier à nouveau s'il a été supprimé
# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
rc linux-image-4.15.0-13-generic 4.15.0-13.14 amd64 Linux kernel image for version 4.15.0 on 64 bit x86 SMP
Vous pouvez voir le statut rc qui montrent qu'il a été supprimé. Vous pouvez également vérifier dans le menu de démarrage et voir que seul le noyau de démarrage actuel apparaît

Vous pouvez également utiliser le apt autoremove
mais vous devez remarquer que la commande est utilisée pour supprimer les packages qui ont été automatiquement installés pour satisfaire les dépendances d'autres packages et qui ne sont plus nécessaires en tant que dépendances. Vérifiez donc s'il n'y a pas un paquet dont vous avez besoin présent dans la liste des paquets à supprimer
# apt autoremove --purge
b) commande dpkg
Vous pouvez également utiliser le dpkg commande pour supprimer un noyau spécifique sur votre système Ubuntu 18.04. Cette fois, vous devrez indiquer package et les dépendances supplémentaires
# dpkg --purge linux-image-4.15.0-13-generic linux-image-extra-4.15.0-13-generic
(Reading database ... 165680 files and directories currently installed.)
...
...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-23-generic
Found initrd image: /boot/initrd.img-4.15.0-23-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
...
Vous pouvez vérifier à nouveau les traces mais vous verrez qu'elles sont complètement supprimées car vous n'aurez pas de sortie indiquant qu'elles ont été supprimées (rc)
# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
Vous pouvez aussi regarder la bouffe

c) Utiliser un script
Nous avons trouvé un script interactif intéressant de Kivisade sur Github qui vous aide à supprimer les anciens noyaux. Il utilise la commande dpkg mais ce qui est intéressant c'est qu'il liste les noyaux à supprimer et demande votre avis. Commencez par installer git
# apt install git
Maintenant, clonez le projet
# git clone https://github.com/kivisade/kernel-purge.git
Cloning into 'kernel-purge'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
Unpacking objects: 100% (3/3), done.
entrez dans le dossier et donnez la permission
# cd kernel-purge && chmod +x kernel-purge.sh
Exécutez maintenant le script
# ./kernel-purge.sh
Running kernel version is: 4.15.0-23
The following (unused) KERNEL packages will be removed:
linux-headers-4.15.0-13
linux-headers-4.15.0-13-generic
linux-image-4.15.0-13-generic
linux-image-extra-4.15.0-13-generic
Do you want to continue [yN]? y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-headers-4.15.0-13* linux-headers-4.15.0-13-generic*
linux-image-4.15.0-13-generic* linux-image-extra-4.15.0-13-generic*
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 335 MB disk space will be freed.
(Reading database ... 168812 files and directories currently installed.)
...
...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-23-generic
Found initrd image: /boot/initrd.img-4.15.0-23-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
...
...
Vous pouvez maintenant vérifier si les noyaux ont été effectivement supprimés. Vous n'aurez pas de sortie si les anciens noyaux ont été supprimés
# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
2) Utilisez des outils graphiques pour supprimer les anciens noyaux
Vous pouvez également utiliser l'outil graphique pour désinstaller les packages du noyau. L'outil vous demandera votre mot de passe pendant le processus car vous devez avoir l'autorisation administrative.
a) Nettoyeur Ubuntu
Ubuntu Cleaner est un utilitaire système convivial conçu pour nettoyer les caches du navigateur, supprimer les applications inutiles et récupérer les anciens noyaux. Ubuntu peut être utile si vous souhaitez supprimer :
- Les caches d'application qui incluent la plupart des principaux navigateurs
- Cache d'apt
- Ancien noyau
- Packages inutiles
Le package n'est pas présent par défaut dans le référentiel officiel, nous devons donc ajouter le PPA. N'oubliez pas que sur Ubuntu 18.04, vous n'avez pas besoin de mettre à jour le cache des packages après avoir ajouté le PPA car il est automatiquement lancé. Ajoutez donc le PPA comme ci-dessous
~# add-apt-repository ppa:gerardpuig/ppa
Official Ubuntu Cleaner stable repository
More info: https://launchpad.net/~gerardpuig/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel adding it.
Hit:1 http://cm.archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://cm.archive.ubuntu.com/ubuntu bionic-updates InRelease [83.2 kB]
Get:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:4 http://cm.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:5 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [204 B]
...
...
Vous pouvez maintenant installer l'outil
# apt install ubuntu-cleaner
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libpython-stdlib python python-apt python-aptdaemon
...
...
Lancez ensuite le logiciel

Choisissez ensuite la section ancien noyau et sélectionnez les noyaux à supprimer

Le mot de passe vous sera demandé et le processus commencera


Vous pouvez maintenant vérifier si les noyaux sont toujours présents. Vous pouvez voir le statut qui indique qu'il est supprimé
# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
rc linux-image-4.15.0-13-generic 4.15.0-13.14 amd64 Linux kernel image for version 4.15.0 on 64 bit x86 SMP
b) Synaptique
Synaptic est une interface graphique de l'Advanced Packaging Tool (APT) utilisé par le système basé sur Debian pour gérer l'installation des packages/logiciels. Ce n'est pas un outil convivial, il peut donc être très déroutant à utiliser, c'est pourquoi vous devez être très prudent.
# apt install synaptic
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
docbook-xml libept1.5.0 libgtk2-perl libpango-perl librarian0 rarian-compat
sgml-base sgml-data xml-core
Lancez maintenant l'application



Passez maintenant à Section -> Noyau et modules, choisissez les noyaux à supprimer et marquez pour une suppression complète. Assurez-vous de choisir les bons noyaux dans la liste

Il vous demandera votre confirmation

Vous pouvez voir qu'il marque automatiquement la dépendance. Appliquer pour supprimer les noyaux

Il demandera la confirmation. Appliquer

Vous pouvez voir une fenêtre montrant le processus. Si vous regardez attentivement, vous verrez à la fin que le grub a été généré et que les anciens noyaux ne sont pas présents.

Conclusion
Vous savez maintenant comment supprimer l'ancien noyau du démarrage de votre Ubuntu 18.04. Vous devriez remarquer qu'il est recommandé de supprimer tout l'ancien noyau car si vous ne parvenez pas à démarrer avec votre noyau actuel pour une raison quelconque. Il est donc recommandé de conserver au moins deux ou de préférence trois noyaux dont le dernier. La raison de cette recommandation est que vous aurez au moins un ou deux autres noyaux avec lesquels démarrer.
Lire aussi
- Comment utiliser les outils de traçage du noyau BCC pour l'analyse des performances Linux
- Comment supprimer et ajouter un PPA sur Ubuntu 18.04
- 6 commandes pour effacer le terminal Linux