Recherche de site Web

Comment installer ou mettre à niveau vers le noyau 5.0 dans CentOS 7


Bien que certaines personnes utilisent le mot Linux pour représenter le système d'exploitation dans son ensemble, il est important de noter qu'à proprement parler, Linux n'est que le noyau. D'un autre côté, une distribution est un système entièrement fonctionnel construit sur le noyau avec une grande variété d'outils d'application et de bibliothèques.

Pendant les opérations normales, le noyau est responsable de l'exécution de deux tâches importantes :

  1. Agir comme une interface entre le matériel et les logiciels exécutés sur le système.
  2. Gérer les ressources système aussi efficacement que possible.

Pour ce faire, le noyau communique avec le matériel via les pilotes qui y sont intégrés ou ceux qui peuvent être installés ultérieurement en tant que module.

Par exemple, lorsqu'une application exécutée sur votre ordinateur souhaite se connecter à un réseau sans fil, elle soumet cette demande au noyau, qui à son tour utilise le bon pilote pour se connecter au réseau.

Lecture suggérée : Comment mettre à niveau le noyau dans Ubuntu

Avec l'arrivée périodique de nouveaux appareils et technologies, il est important de maintenir notre noyau à jour si nous voulons en tirer le meilleur parti. De plus, la mise à jour de notre noyau nous aidera à exploiter les nouvelles fonctions du noyau et à nous protéger des vulnérabilités découvertes dans les versions précédentes.

Prêt à mettre à jour votre noyau sur CentOS 7 ou l'un de leurs dérivés tels queRHEL 7 et Fedora ? Si c'est le cas, continuez à lire !

Étape 1 : Vérification de la version du noyau installée

Lorsque nous installons une distribution, elle inclut une certaine version du noyau Linux. Pour afficher la version actuelle installée sur notre système, nous pouvons faire :

uname -sr

L'image suivante montre le résultat de la commande ci-dessus sur un serveur CentOS 7 :

Si nous allons maintenant sur https://www.kernel.org/, nous verrons que la dernière version du noyau est 5.0 au moment d'écrire ces lignes (d'autres versions sont disponibles sur le même site).

Cette nouvelle version du Kernel 5.0 est une version à long terme et sera prise en charge pendant 6 ans, auparavant toutes les versions du noyau Linux n'étaient prises en charge que pendant 2 ans.

Une chose importante à considérer est le cycle de vie d'une version du noyau : si la version que vous utilisez actuellement approche de sa fin de vie, plus aucune correction de bug ne sera fournie après cette date. Pour plus d'informations, reportez-vous à la page des versions du noyau.

Étape 2 : mise à niveau du noyau dans CentOS 7

La plupart des distributions modernes offrent un moyen de mettre à niveau le noyau à l'aide d'un système de gestion de packages tel que yum et d'un référentiel officiellement pris en charge.

Important : Si vous souhaitez exécuter un noyau compilé personnalisé, vous devriez lire notre article qui explique Comment compiler le noyau Linux sur CentOS 7 à partir des sources.

Cependant, cela effectuera uniquement la mise à niveau vers la version la plus récente disponible dans les référentiels de la distribution – et non vers la dernière version disponible sur https://www.kernel.org/. Malheureusement, Red Hat permet uniquement de mettre à niveau le noyau en utilisant l'ancienne option.

Contrairement à Red Hat, CentOS permet l'utilisation de ELRepo, un référentiel tiers qui fait de la mise à niveau vers une version récente un noyau.

Pour activer le référentiel ELRepo sur CentOS 7, procédez :

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 

Une fois le référentiel activé, vous pouvez utiliser la commande suivante pour lister les packages kernel.rated disponibles :


yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo-kernel: mirror-hk.koddos.net
Available Packages
kernel-lt.x86_64                        4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-devel.x86_64                  4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-doc.noarch                    4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-headers.x86_64                4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools.x86_64                  4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools-libs.x86_64             4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools-libs-devel.x86_64       4.4.176-1.el7.elrepo        elrepo-kernel
kernel-ml.x86_64                        5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-devel.x86_64                  5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-doc.noarch                    5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-headers.x86_64                5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools.x86_64                  5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools-libs.x86_64             5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools-libs-devel.x86_64       5.0.0-1.el7.elrepo          elrepo-kernel
perf.x86_64                             5.0.0-1.el7.elrepo          elrepo-kernel
python-perf.x86_64                      5.0.0-1.el7.elrepo          elrepo-kernel

Ensuite, installez le dernier noyau stable principal :


yum --enablerepo=elrepo-kernel install kernel-ml

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirror.net.in
 * elrepo: mirror-hk.koddos.net
 * elrepo-kernel: mirror-hk.koddos.net
 * epel: repos.del.extreme-ix.org
 * extras: centos.mirror.net.in
 * updates: centos.mirror.net.in
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:5.0.0-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================
 Package                Arch        Version                 Repository        Size
====================================================================================
Installing:
 kernel-ml              x86_64      5.0.0-1.el7.elrepo      elrepo-kernel     47 M

Transaction Summary
====================================================================================
Install  1 Package

Total download size: 47 M
Installed size: 215 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-5.0.0-1.el7.elrepo.x86_64.rpm                           |  47 MB  00:01:21     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-ml-5.0.0-1.el7.elrepo.x86_64                1/1 
  Verifying  : kernel-ml-5.0.0-1.el7.elrepo.x86_64                1/1 

Installed:
  kernel-ml.x86_64 0:5.0.0-1.el7.elrepo                                                                                                                                                                            

Complete!

Enfin, redémarrez votre machine pour appliquer le dernier noyau, puis sélectionnez le dernier noyau dans le menu comme indiqué.

Connectez-vous en tant qu'utilisateur root et exécutez la commande suivante pour vérifier la version du noyau :

uname -sr

Étape 3 : Définir la version du noyau par défaut dans GRUB

Pour faire de la version nouvellement installée l'option de démarrage par défaut, vous devrez modifier la configuration GRUB comme suit :

Ouvrez et modifiez le fichier /etc/default/grub et définissez GRUB_DEFAULT=0. Cela signifie que le premier noyau de l'écran initial de GRUB sera utilisé par défaut.

GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Ensuite, exécutez la commande suivante pour recréer la configuration du noyau.


grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.0.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.20.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.20.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.11-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.11-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.1.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.1.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1e2b46dbc0c04b05b592c837c366bb76
Found initrd image: /boot/initramfs-0-rescue-1e2b46dbc0c04b05b592c837c366bb76.img
done

Redémarrez et vérifiez que le dernier noyau est désormais utilisé par défaut.

Toutes nos félicitations! Vous avez mis à jour votre noyau dans CentOS 7 !

Résumé

Dans cet article, nous avons expliqué comment mettre à niveau facilement le noyau Linux sur votre système. Il existe encore une autre méthode que nous n’avons pas abordée car elle consiste à compiler le noyau à partir des sources, ce qui mériterait un livre entier et n’est pas recommandé sur les systèmes de production.

Bien que cela représente l'une des meilleures expériences d'apprentissage et permette une configuration fine du noyau, vous pouvez rendre votre système inutilisable et devoir le réinstaller à partir de zéro.

Si vous êtes toujours intéressé par la construction du noyau en tant qu'expérience d'apprentissage, vous trouverez des instructions sur la façon de le faire sur la page Kernel Newbies.

Comme toujours, n'hésitez pas à utiliser le formulaire ci-dessous si vous avez des questions ou des commentaires sur cet article.