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 à la section Section “Configuring the Boot Loader with YaST”, Chapter 12, The Boot Loader GRUB 2, Administration Guide.
L'installation de plusieurs versions d'un paquetage logiciel (prise en charge multiversion) est activée par défaut sous 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'utilisateur root.
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.
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'utilisateur root.
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 :
3.12.24-7.1 :
Conserve le kernel avec le numéro de version spécifié
derniers:
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é
en cours d'exécution:
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 complètement 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,3.12.25.rc7-test
Conserve le dernier kernel, celui en cours d'exécution et 3.12.25.rc7-test.
en cours d'exécution
Sauf utilisation de configurations spéciales, vous utiliserez généralement le kernel en cours d'exécution. Si vous ne conservez pas le kernel en cours d'exécution, il sera supprimé en cas de mise à jour du kernel. Il est alors nécessaire de redémarrer immédiatement le système après la mise à jour, dans la mesure où les modules pour le kernel en cours d'exécution ne peuvent plus être chargés car ils ont été supprimés.
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 › › .
Sélectionnez un paquetage et ouvrez l'onglet correspondant dans le volet situé en bas à gauche.
Pour installer un paquetage, cliquez sur sa case à cocher. 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 correspondante 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.
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 et zypper rm PACKAGENAME-VERSION pour supprimer le paquetage.