15 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'une option 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.
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.
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 au Section 13.3, “Configuring the Boot Loader with YaST”.
15.1 Activation et configuration de la prise en charge de plusieurs versions #
L'installation de plusieurs versions d'un paquetage logiciel (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 :
Ouvrez
/etc/zypp/zypp.conf
avec l'éditeur de votre choix en tant qu'utilisateurroot
.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)
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
Enregistrez vos modifications.
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.
15.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é.
Ouvrez
/etc/zypp/zypp.conf
avec l'éditeur de votre choix en tant qu'utilisateurroot
.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 :4.4.126-48
: 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écutionoldest
: 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 petitEn 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,4.4.126-48
Conserve le dernier kernel, celui en cours d'exécution et 4.4.126-48.
Astuce : maintien de l'exécution du kernelÀ 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.
15.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.
15.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
).
15.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,3.12.28-4.20,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 3.12.28-4.20
).
15.2 Installation/suppression de plusieurs versions de kernel avec YaST #
Démarrez YaST et ouvrez le gestionnaire de logiciels via
› .Dressez la liste de tous les paquetages capables de fournir plusieurs versions en sélectionnant
› › .Figure 15.1 : Gestionnaire de logiciels : affichage multiversion #Sélectionnez un paquetage et ouvrez l'onglet
correspondant dans le volet situé en bas à gauche.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.Cliquez sur
pour démarrer l'installation.
15.3 Installation/suppression de plusieurs versions de kernel avec Zypper #
Utilisez la commande
zypper se -s 'kernel*'
pour afficher la liste de tous les paquetages de kernel disponibles :S | Name | Type | Version | Arch | Repository --+----------------+------------+-----------------+--------+------------------- v | kernel-default | package | 2.6.32.10-0.4.1 | x86_64 | Alternative Kernel i | kernel-default | package | 2.6.32.9-0.5.1 | x86_64 | (System Packages) | kernel-default | srcpackage | 2.6.32.10-0.4.1 | noarch | Alternative Kernel i | kernel-default | package | 2.6.32.9-0.5.1 | x86_64 | (System Packages) ...
Indiquez la version exacte lors de l'installation :
zypper in kernel-default-2.6.32.10-0.4.1
Lorsque vous désinstallez un kernel, utilisez les commandes
zypper se -si 'kernel*'
pour afficher la liste de tous les kernels installés etzypper rm
VERSION-NOM PAQUETAGE pour supprimer le paquetage.