IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Linux - Tutoriel pour apprendre à upgrader OpenSuse avec Zypper
Un billet de CinePhil

Le , par CinePhil

0PARTAGES

Petit tutoriel rapide sur la montée de version de la distribution OpenSuse en ligne de commande avec l'utilitaire zypper...

Préambule
Vous pourrez trouver des guides plus complets sur Internet, notamment celui de la documentation officielle.
Je donne ici la procédure simplifiée, en guise d'aide mémoire.

Cette procédure a parfaitement fonctionné sur un serveur dédié Kimsufi pour migrer de la version Leap-42.3 à la version Leap-15.0.

Si vous avez une partition dédiée pour /home, inutile de sauvegarder vos données personnelles... mais c'est toujours mieux d'avoir des sauvegardes régulières, bien sûr !

Tout ce qui suit est évidemment à faire en root.

Version du 03/12/2020 : Ajout de la suppression des vieux dépôts inutiles et d'un update après l'upgrade

1. Mise à jour de la version actuelle
a) Lister les dépôts existants

zypper lr

b) Si le dépôt update est absent de la liste, l'ajouter
Adaptez la version dans la commande ci-dessous à la version actuelle sur votre machine.
Vous pouvez trouver le lien exact vers les versions disponibles ici. Les dépôts principaux sont dans le dossier "distribution" et les dépôts update sont dans le dossier "update" (La Palice, sors de ce corps ! ).

Code bash : Sélectionner tout
zypper addrepo --check --refresh --name 'openSUSE-Leap-42.3_update' http://download.opensuse.org/update/leap/42.3/oss/ repo-update

c) Mettre à jour le système actuel

Code bash : Sélectionner tout
1
2
zypper refresh 
zypper update

Après la mise à jour, j'ai redémarré le serveur par sécurité puisqu'il y avait eu une montée de version de kernel. Je l'ai fait avec la console d'administration de Kimsufi mais vous pouvez le faire en ligne de commande :

reboot
2. Migrer vers la version immédiatement supérieure
D'après la doc, il ne faut pas sauter de version.

a) Désactiver les repo actuels

zypper modifyrepo --all --disable

b) Ajouter les nouveaux dépôts

Là aussi, adaptez la version dans la commande ci-dessous à la version cible pour votre machine.

On en profite pour installer directement les dépôts principaux et update en oss et non-oss.

Code bash : Sélectionner tout
1
2
3
4
zypper addrepo --name "openSUSE-Leap-15.0-oss" http://download.opensuse.org/distribution/leap/15.0/repo/oss/ repo-Leap-15.0-oss 
zypper addrepo --name "openSUSE-Leap-15.0-non-oss" http://download.opensuse.org/distribution/leap/15.0/repo/non-oss/ repo-Leap-15.0-non-oss 
zypper addrepo --name "openSUSE-Leap-15.0-Update-oss" http://download.opensuse.org/update/leap/15.0/oss/ repo-Leap-15.0-update 
zypper addrepo --name "openSUSE-Leap-15.0-Update-non-oss" http://download.opensuse.org/update/leap/15.0/non-oss/ repo-Leap-15.0-update-non-oss

c) Récupérez la description du contenu des dépôts

zypper ref

d) Téléchargez et installez les paquets

zypper dup

e) Redémarrez la machine

reboot

Si tout s'est bien passé, vous avez votre machine à jour avec la nouvelle version mais il peut y avoir eu des mises à jours dans les dépôts update. Il convient donc de refaire un update mais on va commencer par un nettoyage des dépôts...

f) Nettoyage des dépôts
Les dépôts de la version précédente ne sont plus utiles.

On commence par afficher tous les dépôts :
Code bash : Sélectionner tout
zypper lr
Vous obtenez un tableau dont seuls les dépôts de la dernière version sont "Enabled".
Si vous avez chargé d'autres dépôts que ceux de Opensuse, pensez de suite à les réactiver avec la commande zypper mr -e [nom ou alias du dépôt] (exemple avec un dépôt Git) :
Code bash : Sélectionner tout
zypper mr -e gitlab_gitlab-ce

g) Suppression des dépôts obsolètes
On peut supprimer tous les dépôts de la version précédente avec la commande zypper rr [nom ou alias du dépôt]A la suite de zypper rr, on peut donner toute la liste des dépôts à supprimer. Exemple (au moment où j'écris, je viens de passer des serveurs en Opensuse Leap 15.2 donc je supprime les 15.1) :
Code bash : Sélectionner tout
zypper rr openSUSE-Leap-15.1-Non-Oss openSUSE-Leap-15.1-Oss

h) Installer les dernières mises à jour depuis la publication de la version
Code bash : Sélectionner tout
1
2
zypper refresh 
zypper update

Et cette fois, votre serveur est vraiment à jour.

Une erreur dans cette actualité ? Signalez-nous-la !