Mise à jour du noyau CentOS vers la dernière version
Ce guide explique comment installer un noyau plus récent sur CentOS 7 à l’aide du dépôt ELRepo.
ELRepo a cessé de prendre en charge el7 en juillet 2024. La procédure décrite dans ce guide ne fonctionne plus. Ce guide est conservé à titre d’archive.
Si vous utilisez encore CentOS 7, envisagez de migrer vers AlmaLinux 8 à l’aide de l’outil Elevate.
Choisir une variante du noyau
ELRepo propose deux variantes du noyau :
kernel-ml installe le noyau mainline, qui suit les dernières versions Linux upstream. Il reçoit rapidement les nouvelles fonctionnalités et améliorations, mais peut entraîner des problèmes de compatibilité avec les pilotes ou les charges de travail en production.
kernel-lt installe un noyau avec support à long terme, qui privilégie la stabilité aux nouvelles fonctionnalités. Il s’agit de l’option recommandée pour les serveurs de production.
Mettre à jour le système et installer ELRepo
Mettez à jour les paquets installés :
yum -y update
Importez la clé GPG d’ELRepo et installez le dépôt :
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
Vérifiez que le dépôt a été ajouté correctement :
yum repolist | grep elrepo
Videz le cache de yum :
yum clean all
Installer le nouveau noyau
Pour installer le noyau avec support à long terme (recommandé pour les environnements de production) :
yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-headers kernel-lt-tools kernel-lt-tools-libs
Pour installer à la place le noyau mainline :
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-headers kernel-ml-tools kernel-ml-tools-libs
Vérifiez que les paquets du noyau ont été installés :
rpm -qa | grep '^kernel-'
Définir le nouveau noyau comme noyau par défaut
Listez tous les noyaux installés avec leur ordre de démarrage :
grubby --info=ALL | grep -E 'title|kernel'
Le noyau le plus récent reçoit généralement l’index 0, mais vérifiez l’ordre avant de le définir comme noyau par défaut. Définissez le noyau par défaut à l’aide de son index :
grubby --set-default=0
Ou, pour plus de fiabilité, à l’aide du chemin complet du noyau :
grubby --set-default /boot/vmlinuz-<version>
Remplacez <version> par la chaîne de version réelle affichée dans la sortie de grubby --info=ALL.
Vérifiez le noyau par défaut :
grubby --default-kernel grub2-editenv list
Si Secure Boot est activé dans le BIOS/UEFI, les noyaux tiers provenant d’ELRepo peuvent ne pas démarrer. Désactivez Secure Boot avant de redémarrer.
Redémarrer et vérifier
Redémarrez le serveur :
reboot
Une fois le système redémarré, vérifiez la version du noyau actuellement utilisé :
uname -r
Supprimer les anciens noyaux
Une fois que vous avez confirmé que le nouveau noyau fonctionne correctement, supprimez les anciennes versions afin de libérer de l’espace disque. L’option --count=2 conserve les deux noyaux les plus récents comme solution de secours :
yum install -y yum-utils package-cleanup --oldkernels --count=2
Retour en arrière d’urgence
Si le nouveau noyau ne démarre pas, sélectionnez le noyau précédent dans le menu GRUB lors du démarrage. Après avoir démarré avec l’ancien noyau, définissez-le à nouveau comme noyau par défaut :
grubby --set-default=1 reboot
Remplacez 1 par l’index du noyau fonctionnel indiqué dans la sortie de grubby --info=ALL.