Comme vous le savez, CentOS 8 se termine bientôt. Red Hat passe de CentOS 8 à CentOS Stream. CentOS Stream se place entre Fedora Linux et RHEL. Ce n'est pas un clone à 100 % de RHEL, mais il est en avance sur le développement de RHEL. Considérez-la comme une distro intermédiaire. Bien sûr, si vous avez besoin d'une compatibilité RHEL à 100 %, il vous faut Rocky Linux ou AlmaLinux. Cependant, le flux CentOS est plus que suffisant pour moi car je n'ai besoin que d'Apache, Perl et Python pour mon cas d'utilisation. Cette page explique comment migrer l'installation existante de CentOS 8 stable vers CentOS Stream sans réinstaller un nouveau système d'exploitation.
CentOS Stream est un système d'exploitation open-source et l'un des candidats au remplacement de CentOS 8. Cependant, j'ai décidé de m'en tenir à CentOS Stream car je n'avais ni le temps ni l'énergie d'installer un nouveau remplaçant tel que Rocky Linux ou AlmaLinux. Puis de restaurer les données. C'est trop de travail pour mon projet parallèle. Éventuellement, je convertirai mon ancienne application au format Docker, mais pour l'instant, je vais mettre à niveau ma VM et gagner du temps. Sans plus attendre, voyons comment migrer de CentOS 8 à CentOS Stream à l'aide de la commande ssh.
Étape 1 - Sauvegarde
Comme tout développeur et administrateur système expérimenté, j'ai sauvegardé tous mes fichiers de projet, ma base de données MySQL et mes fichiers de configuration. Ainsi, si quelque chose ne va pas, je devrais être en mesure de revenir en arrière rapidement. C'est tout. Donc, gardez des sauvegardes vérifiées. J'ai installé les logiciels suivants :
- Dépôt ELEP activé pour CentOS 8
- SELinux et FirewallD sur CentOS 8 activés
- Python 3.6.8.
- python3-mod_wsgi.
- Perl 5.26.3.
- mod_perl 2.0.11-4.
- Apache (httpd) 2.4.37 avec mod_ssl, mod_security, mod_session, mod_speedycgi et autres modules.
Notez et listez les dépôts activés :
# yum repolist
Étape 2 - Installation de toutes les mises à jour sur CentOS 8
Connectez-vous en utilisant la commande ssh :
ssh {userName}@{your-Server-Name-IP-Here}
Ensuite, il suffit d'exécuter la commande dnf :
sudo dnf update
Ensuite, redémarrez la boîte Linux en utilisant la commande shutdown ou la commande reboot :
sudo shutdown -r now
Vérifions la version de CentOS Linux 8 en utilisant la commande cat/more ou less :
more /etc/centos-release
Mon CentOS 8 stable entièrement corrigé prêt pour la migration vers CentOS Stream
Étape 3 - Installation du paquet CentOS Stream
Installons le fichier de la version CentOS-Stream en tapant la commande dnf suivante :
sudo dnf in centos-release-stream
Installation des fichiers de la version CentOS-Stream
Étape 4 - Migration de CentOS 8 vers CentOS Stream
Maintenant, nous avons le paquetage requis en place. En d'autres termes, le dnf est prêt à fournir un moyen simple pour nous de commencer à migrer de CentOS 8 à CentOS Stream. Mais, d'abord, nous devons échanger les dépôts. La commande suivante va supprimer le dépôt CentOS 8 et le remplacer par le dépôt CentOS Stream. Nous obtiendrons toutes les mises à jour et libs/apps de CentOS Stream. Exécutez la commande suivante :
sudo dnf swap centos-linux-repos centos-stream-repos
Last metadata expiration check: 0:07:46 ago on Friday 03 December 2021 05:14:03 PM UTC. Dependencies resolved. ======================================================================================== Package Architecture Version Repository Size ======================================================================================== Installing: centos-stream-release noarch 8.6-1.el8 Stream-BaseOS 22 k replacing centos-linux-release.noarch 8.5-1.2111.el8 replacing centos-release-stream.x86_64 8.1-1.1911.0.7.el8 centos-stream-repos noarch 8-3.el8 extras 19 k Removing: centos-linux-repos noarch 8-3.el8 @baseos 26 k Transaction Summary ======================================================================================== Install 2 Packages Remove 1 Package Total download size: 42 k Is this ok [y/N]: y Downloading Packages: (1/2): centos-stream-repos-8-3.el8.noarch.rpm 588 kB/s | 19 kB 00:00 (2/2): centos-stream-release-8.6-1.el8.noarch.rpm 61 kB/s | 22 kB 00:00 ---------------------------------------------------------------------------------------- Total 91 kB/s | 42 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: centos-stream-release-8.6-1.el8.noarch 1/1 Installing : centos-stream-release-8.6-1.el8.noarch 1/5 Installing : centos-stream-repos-8-3.el8.noarch 2/5 Obsoleting : centos-release-stream-8.1-1.1911.0.7.el8.x86_64 3/5 Obsoleting : centos-linux-release-8.5-1.2111.el8.noarch 4/5 Erasing : centos-linux-repos-8-3.el8.noarch 5/5 warning: /etc/yum.repos.d/CentOS-Linux-PowerTools.repo saved as /etc/yum.repos.d/CentOS-Linux-PowerTools.repo.rpmsave warning: /etc/yum.repos.d/CentOS-Linux-Plus.repo saved as /etc/yum.repos.d/CentOS-Linux-Plus.repo.rpmsave warning: /etc/yum.repos.d/CentOS-Linux-HighAvailability.repo saved as /etc/yum.repos.d/CentOS-Linux-HighAvailability.repo.rpmsave warning: /etc/yum.repos.d/CentOS-Linux-FastTrack.repo saved as /etc/yum.repos.d/CentOS-Linux-FastTrack.repo.rpmsave warning: /etc/yum.repos.d/CentOS-Linux-Extras.repo saved as /etc/yum.repos.d/CentOS-Linux-Extras.repo.rpmsave warning: /etc/yum.repos.d/CentOS-Linux-Devel.repo saved as /etc/yum.repos.d/CentOS-Linux-Devel.repo.rpmsave warning: /etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo saved as /etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo.rpmsave warning: /etc/yum.repos.d/CentOS-Linux-BaseOS.repo saved as /etc/yum.repos.d/CentOS-Linux-BaseOS.repo.rpmsave warning: /etc/yum.repos.d/CentOS-Linux-AppStream.repo saved as /etc/yum.repos.d/CentOS-Linux-AppStream.repo.rpmsave Running scriptlet: centos-linux-repos-8-3.el8.noarch 5/5 Verifying : centos-stream-repos-8-3.el8.noarch 1/5 Verifying : centos-stream-release-8.6-1.el8.noarch 2/5 Verifying : centos-linux-release-8.5-1.2111.el8.noarch 3/5 Verifying : centos-release-stream-8.1-1.1911.0.7.el8.x86_64 4/5 Verifying : centos-linux-repos-8-3.el8.noarch 5/5 Installed: centos-stream-release-8.6-1.el8.noarch centos-stream-repos-8-3.el8.noarch Removed: centos-linux-repos-8-3.el8.noarch Complete!
Enfin, migrer l'installation de CentOS 8 vers CentOS stream
D'abord, listez les dépôts, exécutez :
sudo dnf repolist
Mise à niveau de CentOS 8 vers CentOS Stream
Nous sommes maintenant proches de notre objectif. Ensuite, nous devons obtenir des paquets pour CentOS Stream ABI/API. Cela mettra à jour ou rétrogradera les paquets pour qu'ils correspondent à la nouvelle ABI/API et rompra la compatibilité totale avec RHEL en raison du changement d'ABI/API. Je suis d'accord avec cela. Alors faisons-le :
sudo dnf distro-sync
Last metadata expiration check: 0:00:19 ago on Friday 03 December 2021 05:28:32 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repo Size ======================================================================================== Upgrading: NetworkManager x86_64 1:1.36.0-0.1.el8 baseos 2.3 M NetworkManager-libnm x86_64 1:1.36.0-0.1.el8 baseos 1.8 M NetworkManager-team x86_64 1:1.36.0-0.1.el8 baseos 149 k NetworkManager-tui x86_64 1:1.36.0-0.1.el8 baseos 341 k bash x86_64 4.4.20-3.el8 baseos 1.5 M c-ares x86_64 1.13.0-6.el8 baseos 93 k ca-certificates noarch 2021.2.50-82.el8 baseos 390 k cloud-init noarch 21.1-9.el8 appstream 1.0 M cpio x86_64 2.12-11.el8 baseos 266 k cronie x86_64 1.5.2-6.el8 baseos 118 k cronie-anacron x86_64 1.5.2-6.el8 baseos 42 k crypto-policies noarch 20211116-1.gitae470d6.el8 baseos 64 k crypto-policies-scripts noarch 20211116-1.gitae470d6.el8 baseos 83 k device-mapper x86_64 8:1.02.181-1.el8 baseos 377 k device-mapper-libs x86_64 8:1.02.181-1.el8 baseos 409 k dnf noarch 4.7.0-5.el8 baseos 543 k dnf-automatic noarch 4.7.0-5.el8 baseo ..... .. vim-enhanced x86_64 2:8.0.1763-16.el8_5.2 appstream 1.4 M vim-filesystem noarch 2:8.0.1763-16.el8_5.2 appstream 49 k vim-minimal x86_64 2:8.0.1763-16.el8_5.2 baseos 573 k yum noarch 4.7.0-5.el8 baseos 206 k Installing dependencies: glibc-gconv-extra x86_64 2.28-170.el8 baseos 1.4 M Installing weak dependencies: sqlite x86_64 3.26.0-15.el8 baseos 668 k Downgrading: unzip x86_64 6.0-45.el8 baseos 195 k Transaction Summary ======================================================================================== Install 2 Packages Upgrade 86 Packages Downgrade 1 Package Total download size: 95 M Downloading Packages: (1/89): unzip-6.0-45.el8.x86_64.rpm 571 kB/s | 195 kB 00:00 (2/89): sqlite-3.26.0-15.el8.x86_64.rpm 1.4 MB/s | 668 kB 00:00 ..... .. vim-filesystem-2:8.0.1763-16.el8_5.2.noarch vim-minimal-2:8.0.1763-16.el8_5.2.x86_64 yum-4.7.0-5.el8.noarch Downgraded: unzip-6.0-45.el8.x86_64 Installed: glibc-gconv-extra-2.28-170.el8.x86_64 sqlite-3.26.0-15.el8.x86_64 Complete!
Étape 5 - Redémarrer le système
Cours :
sudo systemctl reboot
Étape 6 - Vérification
Voir la version du flux CentOS pour vérification :
cat /etc/centos-release
Assurez-vous qu'il n'y a pas d'erreurs. Voyons ou visualisons le journal des erreurs sur Linux :
sudo tail -f /var/log/messages
Dressez la liste des ports ouverts sous Linux et vérifiez que les services tels que httpd, mysqld et autres fonctionnent à l'aide de la commande systemctl ou de la commande netstat/ss :
sudo ss -tulpn
Une note sur les dépôts dnf tiers
Certains dépôts dnf peuvent être renommés ou désactivés pour éviter les problèmes de mise à jour. Il serait préférable que vous les validiez manuellement. Par exemple :
# yum repolist
# yum repolist enabled > # yum repolist enabled > # yum repolist enabled > # yum repolist enabled > # yum repolist enabled > # yum repolist enabled > # yum repolist enabled > # yum repolist enabled > /root/post.update.dnf.repo.txt
Vous pouvez comparer ces deux fichiers :
# cat /root/post.update.dnf.repo.txt
Puis réactivez les dépôts manquants.
Démonstration vidéo
Voici une démonstration vidéo rapide :
Conversion de CentOS 8 à CentOS Stream 8
Si vous obtenez des erreurs, essayez les trois commandes suivantes. Les paquets CentOS Linux 8 ont été retirés des miroirs. Si vous ne l'avez pas encore fait, convertissez toutes les installations CentOS Linux 8 en Stream 8 comme suit :
$ sudo dnf update
$ sudo dnf --disablerepo * --enablerepo extras swap centos-linux-repos centos-stream-repos
$ sudo dnf distro-sync
Résumé
Je suis agréablement surpris par la facilité avec laquelle le processus s'est déroulé. Cela m'a fait gagner du temps. Je suis également conscient que l'on peut adopter une approche similaire pour passer à AlmaLinux ou à RocyLinux, ou à Oracle Linux en échangeant les dépôts. Pour l'instant, mon projet parallèle fonctionne sans problème sur AWS EC2 VM. Mais, on peut aussi utiliser un système auto-hébergé ou d'autres fournisseurs de services en nuage. J'ai également déployé une VM Rocky Linux locale sur mon ordinateur portable, où je vais conteneuriser mon application, de sorte que je n'ai plus à dépendre de l'OS hôte. C'est pourquoi je n'ai pas perdu beaucoup de temps avec un système d'exploitation complètement nouveau. Allez voir le flux CentOS site web pour la documentation.