21 Mise à niveau en ligne #
SUSE offre un outil graphique intuitif et un outil de ligne de commande simple pour effectuer la mise à niveau d'un système en cours d'exécution vers un nouveau Service Pack. Ces outils permettent un « retour à l'état initial » des Service Packs et bien plus encore. Ce chapitre explique comment effectuer une mise à niveau de Service Pack étape par étape à l'aide de ces outils.
21.1 Présentation conceptuelle #
Avant d'entamer la mise à niveau de votre système, consultez la Section 19.3, « Préparation du système ».
SUSE publie régulièrement de nouveaux Service Packs pour la gamme de produits SUSE Linux Enterprise. Pour faciliter la migration vers un nouveau Service Pack et minimiser les temps hors service, SUSE prend en charge la migration en ligne pendant que le système est en cours d'exécution.
À partir de SLE 12, YaST Wagon a été remplacé par la migration YaST (pour l'interface graphique) et la migration Zypper (pour la ligne de commande). Les fonctions prises en charge sont les suivantes :
Le système est toujours dans un état défini jusqu'à la mise à jour du premier RPM.
L'annulation est possible jusqu'à la mise à jour du premier RPM.
La récupération est simple en cas d'erreur.
« Retour à l'état initial » à l'aide des outils système ; aucune sauvegarde/restauration nécessaire.
Utilisation de tous les dépôts actifs.
La possibilité d'ignorer un Service Pack.
Si le système à mettre à niveau est un client SUSE Manager, l'opération ne peut pas être effectuée par la migration en ligne YaST ni par la migration Zypper
. Utilisez plutôt la procédure de migration de client. Elle est décrite dans le manuel SUSE Manager Upgrade Guide (Guide de mise à niveau de SUSE Manager), disponible à l'adresse https://documentation.suse.com/suma/.
21.2 Déroulement de la migration des Service Packs #
Une migration de Service Pack peut être exécutée à l'aide des outils YaST, zypper
ou AutoYaST.
Avant de pouvoir démarrer la migration d'un Service Pack, votre système doit être enregistré auprès du SUSE Customer Center ou d'un serveur SMT local. Il est également possible d'utiliser SUSE Manager.
Quelle que soit la méthode utilisée, la migration de Service Packs comporte les étapes suivantes :
L'identification de cibles de migration possibles sur vos systèmes enregistrés
La sélection d'une cible de migration
La demande et l'activation de nouveaux dépôts
L'exécution de la migration
La liste des cibles de migration dépend des produits que vous avez installés et enregistrés. Si vous avez une extension installée pour laquelle le nouveau Service Pack n'est pas encore disponible, il se peut qu'aucune cible de migration ne vous soit proposée.
La liste des cibles de migration disponibles pour votre hôte sera toujours récupérée à partir du SUSE Customer Center et dépend des produits ou des extensions installées.
21.3 Annulation de la migration d'un Service Pack #
La migration d'un Service Pack peut uniquement être annulée à certains stades au cours du processus de migration :
Jusqu'au démarrage de la mise à niveau du paquetage, les modifications sur le système sont minimes et concernent par exemple, les services et dépôts. Restaurez
/etc/zypp/repos.d/*
pour revenir à l'état précédent.Après le démarrage de la mise à niveau du paquetage, vous pouvez revenir à l'état précédent à l'aide d'un instantané Snapper (reportez-vous au Chapter 7, System Recovery and Snapshot Management with Snapper).
Une fois la cible de migration sélectionnée, SUSE Customer Center modifie les données du dépôt. Pour rétablir cet état manuellement, utilisez
SUSEConnect
--rollback
.
21.4 Mise à niveau à l'aide de l'outil de migration en ligne (YaST) #
Pour effectuer une migration de Service Packs à l'aide de YaST, utilisez l'outil de
. Par défaut, YaST n'installe pas les paquetages à partir d'un dépôt tiers. Si un paquetage a été installé à partir d'un dépôt tiers, YaST empêche le remplacement des paquetages par les mêmes provenant de SUSE.Lorsque vous effectuez la migration de Service Packs, YaST installe tous les paquetages recommandés. En particulier dans le cas d'installations minimales personnalisées, cela peut augmenter considérablement la taille de l'installation sur le système.
Pour modifier ce comportement par défaut et autoriser uniquement les paquetages requis, réglez l'option solver.onlyRequires
dans /etc/zypp/zypp.conf
.
solver.onlyRequires = true
En outre, modifiez le fichier /etc/zypp/zypper.conf
et changez l'option installRecommends
.
installRecommends=false
Cette opération modifie le comportement de toutes les opérations de paquetages, telles que l'installation de correctifs ou de nouveaux paquetages.
Pour démarrer la migration de Service Packs, procédez comme suit :
Désactivez toutes les extensions non utilisées sur votre serveur d'enregistrement pour éviter les futurs conflits de dépendance. Si vous oubliez une extension, YaST détectera ultérieurement les dépôts d'extension inutilisés et les désactivera.
Si vous êtes connecté à une session GNOME en cours d'exécution sur la machine que vous allez mettre à jour, basculez vers une console de texte. L'exécution de la mise à jour à partir d'une session GNOME n'est pas recommandée. Notez que cela ne s'applique pas lorsque vous êtes connecté à partir d'une machine distante (sauf si vous exécutez une session VNC avec GNOME).
Si vous êtes abonné à LTSS, vous devez désactiver le dépôt LTSS. Cela n'est pas possible avec YaST. Au lieu de cela, vous devez exécuter les commandes suivantes, en utilisant le numéro de version du dépôt installé :
tux >
sudo
SUSEConnect -d -p SLES-LTSS/12.2/x86_64tux >
sudo
zypper ref -sPour plus d'informations, reportez-vous au rapport de support « zypper migration with LTSS repo results in "No migration available" » à l'adresse https://www.suse.com/support/kb/doc/?id=7022381.
Installez le paquetage yast2-migration et ses dépendances (dans YaST sous › ).
Redémarrez YaST, car dans le cas contraire, le nouveau module installé ne s'affiche pas dans SUSE Control Center.
Dans YaST, choisissez la SUSE Linux Enterprise Server (SLES) que vous mettez à niveau, ce module est classé comme ou ). YaST affiche les cibles de migration possibles ainsi qu'un récapitulatif. Si plusieurs cibles de migration sont disponibles pour votre système, sélectionnez-en une dans la liste.
(selon la version deSélectionnez une cible de migration à partir de la liste et cliquez sur
.Si l'outil de migration propose des dépôts de mise à jour, il est recommandé de cliquer sur
.Si l'outil de migration en ligne détecte des dépôts obsolètes provenant d'un DVD ou d'un serveur local, il est vivement recommandé de les désactiver. Les dépôts obsolètes proviennent d'un ancien Service Pack. Tous les anciens dépôts de SCC ou SMT sont automatiquement supprimés.
Vérifiez le récapitulatif et procédez à la migration en cliquant sur
. Confirmez en cliquant sur (Démarrer la mise à jour).Une fois la migration réussie, redémarrez votre système.
21.5 Mise à niveau avec zypper #
Pour effectuer une migration de Service Packs à l'aide de Zypper, utilisez l'outil de ligne de commande zypper
migration
du paquetage
zypper-migration-plugin.
Lorsque vous effectuez la migration de Service Packs, YaST installe tous les paquetages recommandés. En particulier dans le cas d'installations minimales personnalisées, cela peut augmenter considérablement la taille de l'installation sur le système.
Pour modifier ce comportement par défaut et autoriser uniquement les paquetages requis, réglez l'option solver.onlyRequires
dans /etc/zypp/zypp.conf
.
solver.onlyRequires = true
En outre, modifiez le fichier /etc/zypp/zypper.conf
et changez l'option installRecommends
.
installRecommends=false
Cette opération modifie le comportement de toutes les opérations de paquetages, telles que l'installation de correctifs ou de nouveaux paquetages. Pour modifier le comportement de Zypper pour une seule invocation, ajoutez le paramètre --no-recommends
à votre ligne de commande.
Pour démarrer la migration de Service Packs, procédez comme suit :
Si vous êtes connecté à une session GNOME en cours d'exécution sur la machine que vous allez mettre à jour, basculez vers une console de texte. L'exécution de la mise à jour à partir d'une session GNOME n'est pas recommandée. Notez que cela ne s'applique pas lorsque vous êtes connecté à partir d'une machine distante (sauf si vous exécutez une session VNC avec GNOME).
Enregistrez votre machine SUSE Linux Enterprise si ce n'est pas déjà fait :
sudo
SUSEConnect
--regcode YOUR_REGISTRATION_CODESi vous êtes abonné à LTSS, vous devez désactiver le dépôt LTSS. Exécutez les commandes suivantes, en utilisant le numéro de version du dépôt installé :
tux >
sudo
SUSEConnect -d -p SLES-LTSS/12.2/x86_64tux >
sudo
zypper ref -sPour plus d'informations, reportez-vous au rapport de support « zypper migration with LTSS repo results in "No migration available" » à l'adresse https://www.suse.com/support/kb/doc/?id=7022381.
Installez les dernières mises à jour :
sudo
zypper
patchInstallez le paquetage zypper-migration-plugin et ses dépendances :
sudo
zypper
in zypper-migration-pluginExécutez
zypper
migration
:tux >
sudozypper
migration Executing 'zypper patch-check' Refreshing service 'SUSE_Linux_Enterprise_Server_12_x86_64'. Loading repository data... Reading installed packages... 0 patches needed (0 security patches) Available migrations: 1 | SUSE Linux Enterprise Server 12 SP1 x86_64 2 | SUSE Linux Enterprise Server 12 SP2 x86_64Quelques remarques concernant le processus de migration :
Si plusieurs cibles de migration sont disponibles pour votre système, Zypper vous autorise à sélectionner un Service Pack dans la liste. Cette opération revient à ignorer un ou plusieurs Service Packs. N'oubliez pas, la migration en ligne pour les produits de base (SLES, SLED) reste uniquement disponible entre les Service Packs d'une version majeure.
Par défaut, Zypper utilise l'option
--no-allow-vendor-change
transmise àzypper
dup
Si un paquetage a été installé à partir d'un dépôt tiers, cette option empêche le remplacement des paquetages par les mêmes provenant de SUSE.Si Zypper détecte des dépôts obsolètes provenant d'un DVD ou d'un serveur local, il est vivement recommandé de les désactiver. Les anciens dépôts de SCC ou SMT sont supprimés automatiquement.
Passez en revue toutes les modifications, en particulier les paquetages qui vont être supprimés. Poursuivez en saisissant
y
(le nombre exact de paquetages à mettre à niveau peut varier sur votre système) :266 packages to upgrade, 54 to downgrade, 17 new, 8 to reinstall, 5 to remove, 1 to change arch. Overall download size: 285.1 MiB. Already cached: 0 B After the operation, additional 139.8 MiB will be used. Continue? [y/n/? shows all options] (y):
Utilisez les touches de défilement Maj–Page ↑ ou Maj–Page ↓ dans votre shell.
Une fois la migration réussie, redémarrez votre système.
21.6 Mise à niveau à l'aide de Plain Zypper #
Si vous ne pouvez pas utiliser la migration YaST ou Zypper, vous pouvez toujours effectuer la migration à l'aide de Zypper brut et de certaines interactions manuelles. Pour démarrer une migration de Service Packs, procédez comme suit :
Si vous êtes connecté à une session GNOME en cours d'exécution sur la machine que vous allez mettre à jour, basculez vers une console de texte. L'exécution de la mise à jour à partir d'une session GNOME n'est pas recommandée. Notez que cela ne s'applique pas lorsque vous êtes connecté à partir d'une machine distante (sauf si vous exécutez une session VNC avec GNOME).
Mettez à jour les outils de gestion des paquetages avec les anciens dépôts SUSE Linux Enterprise :
sudo
zypper
patch --updatestack-onlySi le système a été enregistré, vous devez annuler son enregistrement :
sudo
SUSEConnect
--de-registerSupprimez les anciens dépôts et sources d'installation et ajustez les dépôts tiers.
Ajoutez les nouvelles sources d'installation, qu'elles soient locales ou distantes (pour la marque de réservation DÉPÔT, reportez-vous à la Section 18.6, « Modèle de dépôt ») :
sudo
zypper
addrepo REPOSITORYVous pouvez également utiliser l'outil SMT ou SUSE Customer Center. La commande pour SUSE Linux Enterprise 12 SP1 sous x86-64 est la suivante :
sudo
SUSEConnect
-p SLES/12.2/x86_64 OPTIONSN'oubliez pas que les mises à niveau simultanées sur plusieurs architectures ne sont pas prises en charge.
Zypper affiche un conflit entre l'ancien et le nouveau kernel. Choisissez la solution 1 pour continuer.
Problem: product:SLES-12.2-0.x86_64 conflicts with kernel < 4.4 provided by kernel-default-VERSION Solution 1: Following actions will be done: replacement of kernel-default-VERSION with kernel-default-VERSION deinstallation of kernel-default-VERSION Solution 2: do not install product:SLES-12.2-0.x86_64
Finalisez la migration :
sudo
zypper
ref -f -s sudozypper
dup --no-allow-vendor-change --no-recommendsLa première commande mettra à jour tous les services et dépôts. La seconde commande effectue une mise à niveau de distribution. Ici, les deux dernières options sont importantes :
-no-allow-vendor-change
permet de s'assurer que les RPM tiers n'écrasent pas ceux du système de base. L'option--no-recommends
permet de s'assurer que les paquetages désélectionnés au cours de l'installation initiale ne sont pas ajoutés à ce stade.
21.7 Restauration de l'état initial d'un Service Pack #
Si un Service Pack ne fonctionne pas pour vous, SUSE Linux Enterprise prend en charge le rétablissement de l'état qu'il avait avant le démarrage de la migration de ce Service Pack. Vous devez toutefois disposer d'une partition racine Btrfs avec des instantanés activés (il s'agit de la valeur par défaut lorsque vous installez SLES 12). Reportez-vous au Chapter 7, System Recovery and Snapshot Management with Snapper pour plus d'informations.
Obtenez une liste des instantanés Snapper :
sudo snapper list
Passez en revue la sortie pour localiser l'instantané créé juste avant le début de la migration du Service Pack. La colonne
contient une instruction correspondante et l'instantané est marqué commeimportant
dans la colonne . Mémorisez le numéro de l'instantané indiqué dans la colonne ainsi que la date reprise dans la colonne .Redémarrez le système. Dans le menu de démarrage, sélectionnez
(Démarrer le chargeur de démarrage à partir d'un instantané en lecture seule), puis choisissez l'instantané avec la date et le numéro mémorisé à l'étape précédente. Un second menu de démarrage (celui de l'instantané) est chargé. Sélectionnez l'entrée commençant parSLES 12
et démarrez-la.Le système démarre en utilisant son état précédent avec la partition système montée en lecture seule. Connectez-vous en tant qu'utilisateur
root
et vérifiez si vous avez sélectionné l'instantané approprié. Vérifiez également que tout fonctionne comme prévu. Notez que puisque le système de fichiers root est monté en lecture seule, les fonctionnalités peuvent être limitées.En cas de problème ou si vous n'avez pas démarré l'instantané approprié, redémarrez et choisissez un autre instantané à partir duquel démarrer. À ce stade, aucune modification permanente n'a été effectuée. Si l'instantané est correct et fonctionne comme prévu, confirmez la modification pour la rendre définitive en exécutant la commande suivante :
snapper rollback
Veuillez ensuite redémarrer. Dans l'écran de démarrage, sélectionnez l'entrée de démarrage par défaut pour redémarrer sur le système rétabli.
Vérifiez si la configuration du dépôt a bien été réinitialisée. En outre, vérifiez si tous les produits sont correctement enregistrés. Si l'un d'entre eux ne l'est pas, le système risque de ne plus pouvoir être mis à jour par la suite ou risque d'être mis à jour avec des dépôts de paquetage incorrects.
Assurez-vous que le système a accès à Internet avant de démarrer cette procédure.
Rafraîchissez les dépôts et les services en exécutant la commande suivante :
sudo zypper ref -fs
Obtenez une liste des dépôts actifs en exécutant la commande suivante :
sudo zypper lr
Vérifiez attentivement la sortie de cette commande. Aucun service ni dépôt ajoutés pour la mise à jour ne doivent être répertoriés. Si, par exemple, vous effectuez un retour à l'état initial à partir d'une migration de Service Pack de SLES 12 SP2 vers SLES 12 SP1, la liste ne doit pas contenir les dépôts
SLES12-SP2-Pool
niSLES12-SP2-Updates
, mais plutôt ceux des versionsSP1
.Si les dépôts répertoriés sont incorrects, supprimez-les et, si nécessaire, remplacez-les par les versions correspondant à votre version du produit ou du Service Pack. Pour obtenir la liste des dépôts et les chemins de migration pris en charge, reportez-vous à la Section 18.6, « Modèle de dépôt ».
Enfin, vérifiez l'état d'enregistrement de tous les produits installés en exécutant la commande suivante :
SUSEConnect --status
Tous les produits doivent être signalés comme étant
Enregistré
. Si ce n'est pas le cas, réparez l'enregistrement en exécutant la commandeSUSEConnect --rollback
Vous avez à présent réinitialisé le système dans l'état capturé immédiatement avant le début de la migration du Service Pack.