Au fil des mises à jour de votre système, il est courant que plusieurs versions de noyaux Linux s’accumulent, occupant ainsi un espace disque précieux. Pour les utilisateurs des systèmes d’exploitation basés sur RHEL comme CentOS, cet encombrement peut nuire aux performances et compromettre la gestion des ressources. Un entretien régulier, notamment le nettoyage des anciens kernels, est donc crucial pour garantir que le système reste fonctionnel tout en optimisant l’espace de stockage. Dans cet article, nous allons explorer les différentes étapes nécessaires pour supprimer en toute sécurité ces anciens noyaux dans CentOS.
Pourquoi supprimer les anciens kernels dans CentOS?
La conservation de plusieurs noyaux sur un système Linux peut sembler bénéfique pour la sauvegarde, mais il y a des inconvénients notables. Chaque noyau installé peut consommer entre 200 Mo et 500 Mo d’espace disque, engendrant rapidement une perte significative d’espace. Par conséquent, garder un nombre excessif de noyaux anciens peut devenir problématique.
Un autre aspect à considérer est le désordre dans le menu de démarrage GRUB. Lorsque trop de noyaux sont installés, le menu devient encombré, ce qui complique la sélection du bon noyau lors du démarrage. Cela peut retarder le processus de démarrage et affecter l’expérience utilisateur. Plus encore, des mises à jour moins marquantes peuvent entraîner des opérations plus longues avec des outils tels que yum ou dnf.
- Espace disque gaspillé: Un nombre excessif de noyaux consomme des ressources.
- Désordre dans le menu de démarrage: Cela rend la sélection du noyau plus complexe.
- Mises à jour plus lentes: Les opérations de maintenance prennent plus de temps.
Bonnes pratiques en termes de gestion de kernels
Pour maintenir une bonne stratégie de gestion des kernels, il est recommandé de conserver un à deux anciens noyaux, juste au cas où le noyau actif rencontrerait des problèmes. Ainsi, vous bénéficierez à la fois de la réactivité nécessaire lors des mises à jour et de la sécurité offerte par la possibilité de redémarrer sur une version antérieure.
Prérequis avant la suppression des noyaux
Avant d’initier le processus de nettoyage, il est essentiel de s’assurer que certaines conditions sont remplies:
- Système CentOS: Les étapes peuvent varier légèrement, mais seront généralement applicables pour CentOS 7, 8 et Stream.
- Accès root ou sudo: Assurer les droits nécessaires pour effectuer des modifications.
- Connaissances de base en ligne de commande: Familiarisez-vous avec les commandes Linux pour naviguer efficacement.
Prenez un moment pour confirmer que votre système est à jour avant de procéder. La mise à jour du noyau actif peut également donner une meilleure expérience lors des tests de solutions de sauvegarde.
Étape 1 : Vérification des noyaux installés
La première étape consiste à lister tous les noyaux installés sur votre système. Sur CentOS 7, vous pouvez utiliser:
yum list installed kernel
Pour CentOS 8 ou Stream, la commande est:
dnf list installed kernel
Une alternative est d’utiliser la commande rpm pour interroger la base de données des paquets:
rpm -q kernel
Le résultat affichera les versions de noyaux installés. Il est conseillé de noter les chaînes de version, car vous en aurez besoin pour les étapes ultérieures. Par exemple, vous pourriez voir des versions comme kernel-3.10.0-1160.el7.x86_64 et kernel-3.10.0-1560.el7.x86_64.
Étape 2 : Identifier le noyau en cours d’exécution
Il est impératif de ne jamais supprimer le noyau que votre système utilise actuellement. Pour vérifier le noyau actif, exécutez:
uname -r
La sortie vous montrera la version du noyau en cours d’utilisation, par exemple 3.10.0-1560.el7.x86_64. Comparez cela avec votre liste précédente pour déterminer quels noyaux sont obsolètes et peuvent être supprimés.
Étape 3 : Suppression des anciens noyaux
Voici deux méthodes pour supprimer les anciens noyaux:
Option 1 : Utiliser le gestionnaire de paquets (dnf/yum)
La méthode la plus sûre pour supprimer les anciens noyaux est par le biais de dnf ou yum. Ces outils gèrent les dépendances automatiquement, réduisant le risque de bris du système.
Pour supprimer les noyaux non utilisés, vous pouvez exécuter la commande suivante:
sudo dnf autoremove
Cela supprimera les noyaux en trop, en respectant les limites configurées. Pour s’assurer que ces limites sont respectées, vérifiez les paramètres installonly_limit dans le fichier /etc/yum.conf ou /etc/dnf/dnf.conf. Pour garder uniquement les deux derniers noyaux, assurez-vous qu’il est configuré comme suit:
installonly_limit=2
Option 2 : Suppression manuelle (avancé)
Si les commandes ci-dessus ne fonctionnent pas, vous pouvez supprimer manuellement les noyaux à l’aide de la commande rpm, bien que cela soit plus risqué pour la stabilité du système. Pour ce faire, identifiez les paquets associés à un noyau spécifique:
rpm -qa | grep -i kernel | grep
Ensuite, utilisez la commande suivante pour supprimer ces paquets:
sudo rpm -e kernel-
Il est crucial de conserver la version active du noyau, sinon votre système pourrait ne pas démarrer. Assurez-vous de valider chaque commande avant de l’exécuter.
Commande
Description
sudo dnf autoremove
Supprime les noyaux inutilisés automatiquement
sudo rpm -e kernel-
Supprime manuellement un noyau spécifique
Étape 4 : Vérification de la suppression des noyaux
Après avoir supprimé les noyaux, il est essentiel de confirmer leur retrait. Vous pouvez exécuter à nouveau la commande:
rpm -q kernel
Ou utiliser dnf pour voir les noyaux restants:
dnf list installed kernel
Assurez-vous que seuls les noyaux désirés restent dans la liste. Pour vérifier l’espace disque disponible après la suppression, la commande suivante vous fournira un aperçu:
df -h /boot
Étape 5 : Nettoyage du menu de démarrage
GRUB ne met pas automatiquement à jour son menu après la suppression d’anciens noyaux. Pour assurer que les modifications soient visibles, mettez à jour la configuration de GRUB en utilisant:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Pour les systèmes utilisant UEFI, le chemin de la configuration est légèrement différent:
sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
Il est conseillé de redémarrer le système pour valider que seuls les noyaux actuels sont affichés dans le menu de démarrage.
Meilleures pratiques pour la gestion des kernels
En conclusion, maintenir une bonne gestion des noyaux sur un système CentOS est essentiel pour assurer un fonctionnement optimal. En adoptant des pratiques exemplaires, vous éviterez l’accumulation incontrôlée de noyaux et vous garantirez que votre système reste fluide et performant. Voici quelques conseils pratiques:
- Vérifiez régulièrement les noyaux installés et nettoyez les anciens.
- Utilisez toujours dnf ou yum pour supprimer des noyaux, afin d’éviter des conflits de dépendances.
- Conservez les deux derniers noyaux comme sécurité, en cas de besoin de rétrograde.
En appliquant ces conseils, les utilisateurs de CentOS peuvent optimiser l’espace disque et garantir une meilleure performance de leur système.