Mise à jourCet article décrit de manière succincte la mise à jour « à chaud » d’un poste de travail OpenSUSE Leap 15.1 vers la version 15.2. Une telle procédure de mise à jour majeure n’est jamais une opération triviale, mais il suffit de respecter quelques règles de bon sens pour que ça se passe bien. J’ai expérimenté un peu sur une série de machines qui tournent dans mon bureau, et ça fonctionne parfaitement.

La méthode standard

La procédure décrite ici est valable pour toutes les installations d’OpenSUSE Leap 15.1, indépendamment de votre choix de bureau et des dépôts de paquets que vous utilisez.

Dans un premier temps, on va quitter l’environnement graphique.

# systemctl set-default multi-user.target
# systemctl isolate multi-user.target

Lorsque la bande passante est suffisante et que les postes clients ne sont pas des foudres de guerre, je désactive DeltaRPM. Le gain de temps est considérable sur des machines avec un processeur peu performant.

# /etc/zypp/zypp.conf
download.use_deltarpm = false (ligne 208)

En dehors des dépôts de paquets officiels, j’utilise une série de dépôts tiers qui fournissent des paquets supplémentaires et/ou améliorés.

# zypper repos
...
#  | Alias           | Nom             | Activé | Vérification GPG | Rafraichir
---+-----------------+-----------------+--------+------------------+-----------
 1 | anydesk         | anydesk         | Oui    | (r ) Oui         | Non
 2 | darktable       | darktable       | Oui    | (r ) Oui         | Non
 3 | dvdcss          | dvdcss          | Oui    | (r ) Oui         | Non
 4 | kde             | kde             | Oui    | (r ) Oui         | Non
 5 | non-oss         | non-oss         | Oui    | (r ) Oui         | Non
 6 | non-oss-updates | non-oss-updates | Oui    | (r ) Oui         | Non
 7 | nvidia          | nvidia          | Oui    | (r ) Oui         | Non
 8 | oss             | oss             | Oui    | (r ) Oui         | Non
 9 | oss-updates     | oss-updates     | Oui    | (r ) Oui         | Non
10 | packman         | packman         | Oui    | (r ) Oui         | Non
11 | printing        | printing        | Oui    | (r ) Oui         | Non
12 | recode          | recode          | Oui    | (r ) Oui         | Non

Je désactive ces dépôts tiers pour ne garder que les seuls dépôts officiels oss, oss-updates, non-oss et non-oss-updates.

# zypper removerepo 1 2 3 4 7 10 11 12
# zypper repos
...
# | Alias           | Nom             | Activé | Vérification GPG | Rafraichir
--+-----------------+-----------------+--------+------------------+-----------
1 | non-oss         | non-oss         | Oui    | (r ) Oui         | Non
2 | non-oss-updates | non-oss-updates | Oui    | (r ) Oui         | Non
3 | oss             | oss             | Oui    | (r ) Oui         | Non
4 | oss-updates     | oss-updates     | Oui    | (r ) Oui         | Non

On va mettre à jour les paquets depuis les dépôts officiels pour partir sur des bases saines, en remplaçant tous les paquets modifiés en provenance des dépôts tiers par les paquets d’origine.

# zypper refresh
# zypper --non-interactive dist-upgrade --allow-vendor-change
# reboot

InfoOn peut éventuellement supprimer les applications supplémentaires, c’est-à-dire celles qui ne font pas partie d’un poste de travail OpenSUSE Leap standard. Elles pourront être réinstallées après la mise à jour.

La prochaine étape consiste à faire pointer les dépôts officiels vers la version 15.2.

# cd /etc/zypp/repos.d
# sed -i 's/15.1/15.2/g' *.repo

Rafraîchir les informations sur les paquets disponibles.

# zypper refresh

L’option --dry-run permet de tester la mise à jour. Si jamais un ou plusieurs paquets posent problème, zypper vous en informera ici.

# zypper dist-upgrade --dry-run

Effectuer la mise à jour vers OpenSUSE Leap 15.2.

# zypper dist-upgrade --download in-advance
# reboot

Il ne reste plus qu’à tester et lancer l’environnement graphique.

# systemctl isolate graphical.target
# systemctl set-default graphical.target

Ma méthode personnalisée

Voici la procédure que j’utilise pour ma configuration personnalisée basée sur KDE.

Mettre à jour mes scripts pour OpenSUSE.

# cd opensuse
# git pull

Basculer en mode console.

# systemctl set-default multi-user.target
# systemctl isolate multi-user.target

Désactiver l’utilisation de DeltaRPM

# /etc/zypp/zypp.conf
download.use_deltarpm = false

Remettre le système à l’état initial.

# cd opensuse
# ./opensuse-leap-15.1-kde-setup.sh --reset

InfoL’option --reset supprime tous les paquets supplémentaires, désactive les dépôts de paquets tiers pour ne conserver que les dépôts officiels et effectue une première mise à jour en remplaçant tous les paquets « améliorés » par la version d’origine.

Faire pointer les dépôts officiels vers la version 15.2.

# cd /etc/zypp/repos.d
# sed -i 's/15.1/15.2/g' *.repo

Si l’on souhaite utiliser un cache de paquets local pour récupérer la mise à jour, on peut le faire comme ceci.

# sed -i 's/baseurl=http:\/\//baseurl=http:\/\/proxy:3142\//g' *.repo

Rafraîchir les informations sur les paquets disponibles.

# zypper refresh

Tester la mise à jour.

# zypper dist-upgrade --dry-run

Passer à OpenSUSE Leap 15.2 et redémarrer.

# zypper dist-upgrade --download in-advance
# reboot

Effectuer la configuration post-installation.

# cd opensuse
# ./opensuse-leap-15.2-kde-setup.sh --setup
# reboot

Alternativement, les opérations de configuration post-installation peuvent être effectuées individuellement.

# ./opensuse-leap-15.2-kde-setup.sh --shell
# ./opensuse-leap-15.2-kde-setup.sh --repos | --proxy
# ./opensuse-leap-15.2-kde-setup.sh --fresh
# ./opensuse-leap-15.2-kde-setup.sh --strip
# ./opensuse-leap-15.2-kde-setup.sh --extra
# ./opensuse-leap-15.2-kde-setup.sh --menus
# ./opensuse-leap-15.2-kde-setup.sh --kderc
# ./opensuse-leap-15.2-kde-setup.sh --users
# reboot

Tester et lancer l’environnement graphique.

# systemctl isolate graphical.target
# systemctl set-default graphical.target

La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 

Catégories : Poste de travail

8 commentaires

david · 30 juillet 2020 à 14 h 36 min

aujourd’hui »hui, il devrais plus avoir besoin de changer les nom des dépôts : zypper –releasever=15.2 ref et zypper –releasever=15.2 dup, pour faire la mis à jour.

d’adresse des dépôts est avec une variable ($releaserver) au lieu de la version (https://en.opensuse.org/SDB:System_upgrade#Command_line_2)
c’est le cas avec les dépôts officiel, et pour les autre version faut modifier (de 15.x en $releaserver)

David

    kikinovak · 30 juillet 2020 à 19 h 38 min

    Différents chemins mènent à Saint-Bauzille-de-Putois.

    kikinovak · 22 août 2020 à 19 h 10 min

    S’il y a des suggestions pour des améliorations, je suis toujours preneur.

Rémy Garrigue · 22 août 2020 à 18 h 57 min

Une semaine avec OpenSUSE 15.2 MLED et c’est très très bien ! Merci Nicolas !

Henri · 1 septembre 2020 à 20 h 47 min

Bonjour M. Kovacs.
Je viens d’effectuer, coup sur coup, la migration « à chaud » de Leap 15.0 => 15.1 puis 15.1 => 15.2 sur ma station « homemade » (Asus B150M ; Intel core i5-6300 3,2Ghz ; 8Go RAM ; 525Go SSD).
Pour toute aide : votre blog technique et vos (super !) scripts.
J’ai utilisé votre méthode personnalisée avec le script de post-installation.

Opération réussie !!! Mille mercis M. Kovacs !

Ça vaut bien quelques cafés !

Je pense que j’ai définitivement basculé dans le monde du libre et de Linux grâce à vos livres et vos conseils (même si j’ai encore beaucoup à apprendre et à comprendre…).

Encore merci
Henri

    kikinovak · 4 septembre 2020 à 16 h 24 min

    Je suis content que vous ayez pu effectuer l’installation avec succès. Et un grand merci pour les 1.5 kg de café. :o)

Phil · 25 octobre 2020 à 18 h 42 min

Bonjour

merci pour vos conseils toujours aussi intéressants

J’ai cependant un petit soucis à vous signaler étant donné que je ne suis pas un pro comme vous…

J’ai basculé en mode console.
# systemctl set-default multi-user.target
# systemctl isolate multi-user.target

Ca m’a un peu surpris car je suis un débutant. En faisant un peu de recherche, j’ai compris qu’il fallait taper login et mode de passe et ensuite startx pour lancer opensuse et retrouver mes moutons

D’ou ma question, comme revenir avant de basculer en mode console pour avoir de nouveaux une interface graphique pour choisir de cliquer sur l’icone de l’utilisateur et taper le MDP ?

Merci

    kikinovak · 25 octobre 2020 à 20 h 02 min

    # systemctl set-default graphical.target
    

    Remarque : mes articles s’adressent normalement à un public familiarisé avec la ligne de commande sous Linux.

    Si vous débutez complet, jetez un oeil ici.

Répondre à Henri Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *