Accéder au contenuNavigation Accéder à la page : page précédente [raccourci clavier p] / page suivante [raccourci clavier n]
documentation.suse.com / Documentation de SUSE Linux Enterprise Server / Guide de déploiement / Configuration initiale du système / Installation de plusieurs versions du kernel
S'applique à SUSE Linux Enterprise Server 15 SP3

23 Installation de plusieurs versions du kernel

SUSE Linux Enterprise Server prend en charge l'installation parallèle de plusieurs versions du kernel. Lorsque vous installez un deuxième kernel, une entrée de démarrage et un fichier initrd sont automatiquement créés. Aucune autre configuration manuelle n'est donc requise. Lorsque vous redémarrez la machine, le nouveau kernel est disponible sous la forme d'un paramètre de démarrage supplémentaire.

Cette fonctionnalité vous permet de tester les mises à jour de kernel en toute sécurité, tout en ayant la possibilité de revenir au kernel opérationnel précédent. Pour ce faire, n'utilisez pas les outils de mise à jour (tels que YaST Online Update ou l'applet de mise à jour), mais suivez la procédure décrite dans ce chapitre.

Avertissement
Avertissement : droit au support

Sachez que vous perdrez votre droit au support sur la machine en cas d'installation d'un kernel tiers ou auto-compilé. Seuls les kernels livrés avec SUSE Linux Enterprise Server et ceux distribués via les canaux de mise à jour officiels pour SUSE Linux Enterprise Server sont pris en charge.

Astuce
Astuce : vérification du kernel de configuration de votre chargeur de démarrage

Il est conseillé de vérifier la configuration de votre chargeur de démarrage après avoir installé un autre kernel afin de définir l'entrée de démarrage par défaut de votre choix. Pour plus d'informations, reportez-vous à la section Section 14.3, “Configuring the boot loader with YaST”.

23.1 Activation et configuration de la prise en charge de plusieurs versions

L'installation de plusieurs versions d'un paquetage (prise en charge multiversion) est activée par défaut à partir de SUSE Linux Enterprise 12. Pour vérifier ce paramètre, procédez comme suit :

  1. Ouvrez /etc/zypp/zypp.conf avec l'éditeur de votre choix en tant qu'utilisateur root.

  2. Recherchez la chaîne multiversion. Si la prise en charge multiversion est activée pour tous les paquetages de kernels disposant de cette fonction, la ligne suivante s'affiche, sans commentaire :

    multiversion = provides:multiversion(kernel)
  3. Pour limiter cette prise en charge à certaines versions de kernel, ajoutez les noms de paquetage sous la forme d'une liste séparée par des virgules à l'option multiversion dans /etc/zypp/zypp.conf. Par exemple :

    multiversion = kernel-default,kernel-default-base,kernel-source
  4. Enregistrez vos modifications.

Avertissement
Avertissement : paquetages de modules de kernels (KMP)

Assurez-vous que les modules de kernels requis (KMP) proposés par les fournisseurs sont également installés pour le kernel nouvellement mis à jour. Le processus de mise à jour de kernels ne signale pas les éventuels modules de kernels manquants car les conditions liées aux paquetages sont toujours remplies par l'ancien kernel conservé sur le système.

23.1.1 Suppression automatique des kernels inutilisés

Lorsque vous testez fréquemment des nouveaux kernels sur lesquels la prise en charge de plusieurs versions est activée, il devient rapidement difficile de s'y retrouver dans le menu de démarrage. Dans la mesure où une partition /boot dispose généralement d'un espace limité, des problèmes de débordement /boot peuvent apparaître. Bien que vous puissiez supprimer manuellement les versions de kernel inutilisées à l'aide de YaST ou Zypper (comme décrit ci-dessous), vous pouvez également configurer libzypp de manière à supprimer automatiquement les kernels qui ne sont plus utilisés. Par défaut, aucun kernel n'est supprimé.

  1. Ouvrez /etc/zypp/zypp.conf avec l'éditeur de votre choix en tant qu'utilisateur root.

  2. Recherchez la chaîne multiversion.kernels et activez cette option en annulant la mise en commentaire de la ligne. Cette option adopte une liste des valeurs suivantes séparées par des virgules :

    5.3.18-53.3 : conserve le kernel avec le numéro de version spécifié

    latest : conserve le kernel ayant le numéro de version le plus élevé

    latest-N : conserve le kernel ayant le Nième numéro de version le plus élevé

    running : conserve le kernel en cours d'exécution

    oldest : conserve le kernel ayant le numéro de version le plus petit (celui livré initialement avec SUSE Linux Enterprise Server)

    oldest+N : conserve le kernel ayant le Nième numéro de version le plus petit

    En voici quelques exemples

    multiversion.kernels = latest,running

    Conserve le kernel le plus récent et celui en cours d'exécution. Cela équivaut à désactiver la fonction « multiversion », si ce n'est que l'ancien kernel est supprimé après le redémarrage suivant, et non immédiatement après l'installation.

    multiversion.kernels = latest,latest-1,running

    Conserve les deux derniers kernels et celui en cours d'exécution.

    multiversion.kernels = latest,running,5.3.18-53.3

    Conserve le dernier kernel, celui en cours d'exécution et 5.3.18-53.3.

    Astuce
    Astuce : gardez le kernel en cours d'exécution

    À moins d'utiliser une configuration spéciale, gardez toujours le kernel marqué comme en cours d'exécution (running).

    Si vous ne maintenez pas le kernel en cours d'exécution, il sera supprimé lors de sa mise à jour. Cela signifie qu'ensuite, tous les modules du kernel en cours d'exécution seront également supprimés et ne pourront plus être chargés.

    Si vous décidez de ne pas maintenir le kernel en cours d'exécution, redémarrez toujours immédiatement après une mise à niveau du kernel pour éviter des problèmes avec les modules.

23.1.2 Cas d'utilisation : suppression d'un ancien kernel uniquement après le redémarrage

Vous souhaitez être certain que l'ancien kernel ne sera supprimé qu'après avoir redémarré le système avec le nouveau kernel.

Remplacez la ligne suivante dans /etc/zypp/zypp.conf :

multiversion.kernels = latest,running

Les paramètres précédents indiquent au système de ne conserver la dernière version du kernel et celle en cours d'exécution que si elles sont différentes.

23.1.3 Cas d'utilisation : conservation des anciens kernels comme solution de secours

Vous souhaitez conserver une ou plusieurs versions de kernel afin d'en avoir un ou plusieurs « de rechange ».

Cela peut s'avérer utile si vous avez besoin de kernels à des fins de test. En cas de problème (si votre ordinateur ne démarre pas, par exemple), vous pouvez toujours utiliser une ou plusieurs versions de kernel valides connues.

Remplacez la ligne suivante dans /etc/zypp/zypp.conf :

multiversion.kernels = latest,latest-1,latest-2,running

Lorsque vous redémarrez votre système après l'installation d'un nouveau kernel, le système conserve trois kernels : le kernel actuel (configuré en tant que latest,running) et ses deux prédécesseurs immédiats (configurés en tant que latest-1 et latest-2).

23.1.4 Cas d'utilisation : conservation d'une version de kernel spécifique

Vous effectuez régulièrement des mises à jour système et installez de nouvelles versions de kernel. Toutefois, vous compilez également votre propre version du kernel et voulez être certain que le système les conserve.

Remplacez la ligne suivante dans /etc/zypp/zypp.conf :

multiversion.kernels = latest,5.3.18-53.3,running

Lorsque vous redémarrez votre système après l'installation d'un nouveau kernel, le système conserve deux kernels : le nouveau kernel qui est celui en cours d'exécution (configuré en tant que latest,running) et celui compilé par vos soins (configuré en tant que 5.3.18-53.3).

23.2 Installation/suppression de plusieurs versions de kernel avec YaST

YaST vous permet d'installer ou de retirer plusieurs kernels :

  1. Démarrez YaST et ouvrez le gestionnaire de logiciels via Logiciel › Gestion de logiciels.

  2. Dressez la liste de tous les paquetages capables de fournir plusieurs versions en sélectionnant Afficher › Groupes de paquetages › Paquetages multiversions.

    Gestionnaire de logiciels YaST : affichage multiversion
    Figure 23.1 : Gestionnaire de logiciels YaST : affichage multiversion
  3. Sélectionnez un paquetage et ouvrez l'onglet Version correspondant dans le volet situé en bas à gauche.

  4. Pour installer un paquetage, cliquez sur la case à cocher en regard de celui-ci. Une coche verte indique que le paquetage est sélectionné pour être installé.

    Pour supprimer un paquetage déjà installé (signalé par une coche blanche), cochez la case en regard de celui-ci jusqu'à ce qu'un X rouge indique qu'il a été sélectionné en vue de la suppression.

  5. Cliquez sur Accepter pour démarrer l'installation.

23.3 Installation/suppression de plusieurs versions de kernel avec Zypper

zypper vous permet d'installer ou de retirer plusieurs noyaux :

  1. Utilisez la commande zypper se -s 'kernel*' pour afficher la liste de tous les paquetages de kernel disponibles :

    S  | Name                 | Type    | Version           | Arch   | Repository
    ---+----------------------+---------+-------------------+--------+---------------------------------
    i+ | kernel-default       | package | 5.3.18-53.3       | x86_64 | (System Packages)
    i+ | kernel-default       | package | 5.3.18-54.2       | x86_64 | SLE-Module-Basesystem15-SP3-Pool
       | kernel-default-base  | package | 5.3.18-54.2.16.15 | x86_64 | SLE-Module-Basesystem15-SP3-Pool
       | kernel-default-devel | package | 5.3.18-54.2       | x86_64 | SLE-Module-Basesystem15-SP3-Pool
       | kernel-devel         | package | 5.3.18-54.2       | noarch | SLE-Module-Basesystem15-SP3-Pool
    i  | kernel-firmware      | package | 20210208-2.4      | noarch | SLE-Module-Basesystem15-SP3-Pool
       | kernel-macros        | package | 5.3.18-54.2       | noarch | SLE-Module-Basesystem15-SP3-Pool
       | kernel-preempt       | package | 5.3.18-54.2       | x86_64 | SLE-Module-Basesystem15-SP3-Pool
  2. Indiquez la version exacte lors de l'installation :

    tux > sudo zypper in kernel-default-5.3.18-53.3
  3. Lorsque vous désinstallez un kernel, utilisez les commandes zypper se -si 'kernel*' pour afficher la liste de tous les kernels installés et zypper rm VERSION-NOM PAQUETAGE pour supprimer le paquetage.