Différences entre versions de « Upgrade rocky8to9 »
| Ligne 137 : | Ligne 137 : | ||
Vous pouvez supprimer les paquets en cache en exécutant « dnf clean packages ». | Vous pouvez supprimer les paquets en cache en exécutant « dnf clean packages ». | ||
</pre> | </pre> | ||
| − | + | = Bye bye Rocky 8 = | |
Avant de redémarrer, il faut reconstruire la base de données des paquetages (rpm) : | Avant de redémarrer, il faut reconstruire la base de données des paquetages (rpm) : | ||
<pre> | <pre> | ||
Version du 17 novembre 2025 à 10:41
Introduction
Rocky est une distribution Linux qui fonctionne avec un système versions majeures à l'inverse de CentOS qui maintenant fonctionne en publication continue.
L'avantage du système par version est qu'il garantie une compatibilité entres les différents logiciels en figeant leurs versions. Après un certain temps, ces logiciels deviennent trop vieux et leurs mise à jour n'est pas possible sans un changement de version de Rocky !
|
Soyez sûr de faire une sauvegarde des données présente sur la machine, si c'est une machine virtuelle ou un conteneur faites un snapshot. Les modifications apportées au système ne sont pas anodines et peuvent le rendre inopérant. Vous êtes prévenu... nous pouvons poursuivre ! |
Préparation du système
Tout d'abord on va s'assurer de la version du système en vérifiant dans le fichier /etc/os-release :
# cat /etc/os-release NAME="Rocky Linux" VERSION="8.10 (Green Obsidian)" ID="rocky" ID_LIKE="rhel centos fedora" ...
C'est bien une version 8 de Rocky et on va la mettre complétement à jour avant de basculer sur la version 9 :
# dnf -y upgrade --refresh Rocky Linux 8 - AppStream 18 kB/s | 4.8 kB 00:00 Rocky Linux 8 - BaseOS 20 kB/s | 4.3 kB 00:00 Rocky Linux 8 - Extras 12 kB/s | 3.1 kB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 20 kB/s | 11 kB 00:00 Dépendances résolues. ..... Résumé de la transaction =========================================================================================== Mettre à niveau 109 Paquets Taille totale des téléchargements : 157 M Voulez-vous continuer ? [o/N] : o Téléchargement des paquets : ...
Ajout des dépôts de Rocky 9
Pour mettre en place le dépôt de Rocky 9 il va falloir installer les paquetages suivants:
Ils sont tous disponibles à l'adresse suivante http://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/ et nous allons les télécharger avec curl dans le répertoire /tmp:
# curl http://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-9.6-1.3.el9.noarch.rpm -o /tmp/rocky-gpg-keys.rpm # curl http://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-release-9.6-1.3.el9.noarch.rpm -o /tmp/rocky-release.rpm # curl http://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-repos-9.6-1.3.el9.noarch.rpm -o /tmp/rocky-repos.rpm
On peut maintenant les installer avec la commande rpm:
# dnf -y install /tmp/rocky-*.rpm
Et vérifier que tout c'est bien installé:
# rpm -qa | grep -E rocky- rocky-gpg-keys-9.6-1.3.el9.noarch rocky-release-9.6-1.3.el9.noarch rocky-repos-9.6-1.3.el9.noarch rocky-logos-httpd-86.3-1.el8.noarch
On va supprimer le logo redhat :
# rm -rf /usr/share/redhat-logos
Et certains paquetages qui peuvent poser problème lors de la mise à jour :
# dnf -y remove rpmconf yum-utils epel-release
Paquetages incompatibles
En exécutant la commande précédente, il est possible que vous ayez des conflits comme, par exemple, ceux ci-dessous:
# dnf -y remove rpmconf yum-utils Modular dependency problems: Problem 1: conflicting requests - nothing provides module(platform:el8) needed by module httpd:2.4:8100020250908140623:e155f54d.x86_64 from @modulefailsafe Problem 2: conflicting requests - nothing provides module(platform:el8) needed by module nginx:1.14:8040020210610090123:9f9e2e7e.x86_64 from @modulefailsafe Problem 3: conflicting requests - nothing provides module(platform:el8) needed by module perl:5.26:8050020211109115414:b4937e53.x86_64 from @modulefailsafe Problem 4: conflicting requests - nothing provides module(platform:el8) needed by module perl-IO-Socket-SSL:2.066:8090020231016070024:88fd4976.x86_64 from @modulefailsafe Problem 5: conflicting requests - nothing provides module(platform:el8) needed by module perl-libwww-perl:6.34:8090020231016070052:8af8375c.x86_64 from @modulefailsafe Problem 6: conflicting requests - nothing provides module(platform:el8) needed by module php:7.4:8100020241211195618:3924b0c1.x86_64 from @modulefailsafe Problem 7: conflicting requests - nothing provides module(platform:el8) needed by module python36:3.6:8100020250603161425:5ae887d0.x86_64 from @modulefailsafe No match for argument: rpmconf No match for argument: yum-utils No packages marked for removal. Dependencies resolved. Nothing to do. Complete!
Nous allons automatiser la remise à zéro de tous les paquetages en erreur.
Tout d'abord, nous allons les stocker dans une variable:
# RPMS=$(dnf update 2>&1 | grep nothing | awk -F ' ' '{print $8}'| awk -F ':' '{print $1}')
Et vérifier que notre variable contient les bonnes valeurs (ceci est un exemple):
# echo $RPMS httpd nginx perl perl-IO-Socket-SSL perl-libwww-perl php python36
On peut maintenant faire une boucle qui va exécuter le reset:
# for rpm in $RPMS;do dnf -y module reset $rpm;done
Passage à la version 9
La commande suivante risque de prendre du temps et c'est normal puisqu'elle met à jour l'intégralité des paquetages présent sur la machine :
# dnf -y --releasever=9 --allowerasing --setopt=deltarpm=false distro-sync ... Total 12 MB/s | 228 MB 00:19 Rocky Linux 9 - BaseOS 1.7 MB/s | 1.7 kB 00:00 Import de la clef GPG 0x350D275D : Utilisateur : « Rocky Enterprise Software Foundation - Release key 2022 <releng@rockylinux.org> » Empreinte : 21CB 256A E16F C54C 6E65 2949 702D 426D 350D 275D Provenance : /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9 La clé a bien été importée Test de la transaction La vérification de la transaction a réussi. Lancement de la transaction de test Les paquets téléchargés ont été mis en cache jusqu’à la prochaine transaction réussie. Vous pouvez supprimer les paquets en cache en exécutant « dnf clean packages ».
Bye bye Rocky 8
Avant de redémarrer, il faut reconstruire la base de données des paquetages (rpm) :
# rpm --rebuilddb
On peut maintenant abandonner Rocky 8:
# reboot
Et vérifier la mise à niveau avec la même commande qu'au début de ce tutoriel:
# cat /etc/os-release NAME="Rocky Linux" VERSION="9.6 (Blue Onyx)" ID="rocky" ID_LIKE="rhel centos fedora" VERSION_ID="9.6"
Félicitation, vous êtes passé à Rocky 9 !