CentOS 8 nach AlmaLinux 8 migrieren
Mit dem Erscheinen von CentOS 8 ging man damals vom üblichen Lebenszyklus eines RHEL-Derivats von 10 Jahren aus. In diesem Zeitraum sollten anfangs bestimmte Features aus neueren Linuxversionen zurückportiert werden und im späteren Verlauf nur noch Sicherheitsupdates erscheinen. Nach der Übernahme von RedHat durch IBM wurde die Arbeit an CentOS 8 vorzeitig zum 31.12.2021 eingestellt. Stattdessen erhielt die Distribution CentOS Stream mehr Aufmerksamkeit, die als eine Art Vorabversion des nächsten RHEL-Punkt-Releases gesehen werden kann. Die Softwareversionen können sich dabei im Vergleich zur RHEL-Version unterscheiden, was in manchen Bereichen zu Kompatibilitätsproblemen führen kann. Um weiterhin mit einem Bug-zu-Bug-kompatiblen System arbeiten zu können, beschreiben wir hier die Migration von CentOS 8 auf AlmaLinux 8.
Mit dieser Anleitung wurde einige Systeme von CentOS 8 auf AlmaLinux 8 migriert, trotzdem sollten Sie vorher unbedingt ein Backup anfertigen oder einen Snapshot des Systems anlegen. Das Befolgen der Anleitung erfolgt auf eigene Gefahr.
Aktualisieren auf CentOS 8.5
Sollten Sie bereits CentOS 8.5 mit allen Updates verwenden, können Sie diesen Punkt überspringen. Andernfalls muss das vorhandene CentOS 8 auf den letzmöglichen Stand CentOS 8.5 gebracht werden. Da die Mirrorserver mittlerweile abgeschalten sind, konfigurieren wir die Paketquellen auf die CentOS-Archivserver vault.centos.org und aktualisieren danach das System.
Ausgangsbasis ist in unserem Beispiel CentOS 8.0.1905:
[root@server ~]# cat /etc/centos-release CentOS Linux release 8.0.1905 (Core)
Aktualisierung der Paketquellen:
[root@server ~]# sed -i -r 's|^(mirrorlist.+)$|#\1|g; s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever/|baseurl=https://vault.centos.org/8.5.2111/|g' /etc/yum.repos.d/CentOS-*.repo [root@server ~]# dnf clean all 61 files removed [root@server ~]# dnf update CentOS-8 - AppStream 7.2 MB/s | 8.4 MB 00:01 CentOS-8 - Base 38 MB/s | 4.6 MB 00:00 CentOS-8 - Extras 129 kB/s | 10 kB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 8.0 MB/s | 14 MB 00:01 Last metadata expiration check: 0:00:01 ago on Wed 03 Jul 2024 04:10:48 PM CEST. Dependencies resolved. ================================================================================================================== Package Arch Version Repository Size ================================================================================================================== Installing: centos-linux-release noarch 8.5-1.2111.el8 BaseOS 22 k replacing centos-release.x86_64 8.0-0.1905.0.9.el8 kernel x86_64 4.18.0-348.7.1.el8_5 BaseOS 7.0 M kernel-core x86_64 4.18.0-348.7.1.el8_5 BaseOS 38 M kernel-modules x86_64 4.18.0-348.7.1.el8_5 BaseOS 30 M Upgrading: annobin x86_64 9.72-1.el8_5.2 AppStream 111 k apr x86_64 1.6.3-12.el8 AppStream 129 k bind-libs x86_64 32:9.11.26-6.el8 AppStream 174 k bind-libs-lite x86_64 32:9.11.26-6.el8 AppStream 1.2 M bind-license noarch 32:9.11.26-6.el8 AppStream 102 k bind-utils x86_64 32:9.11.26-6.el8 AppStream 451 k ... Transaction Summary ================================================================================================================== Install 28 Packages Upgrade 391 Packages Total download size: 504 M Is this ok [y/N]: y Downloading Packages: ... Complete!
Migration von CentOS 8.5 auf AlmaLinux 8
Im ersten Schritt passen wir die Paketquellen an, importieren dann den RPM-GPG-Key von AlmaLinux um die RPM-Pakete überprüfen zu können und führen anschließend die Migration über das Skript almalinux-deploy.sh durch, welches das AlmaLinux-Projekt auf GitHub bereitstellt.
[root@server ~]# sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[baseos\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/BaseOS/$basearch/os' /etc/yum.repos.d/CentOS-Linux-BaseOS.repo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[appstream\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/AppStream/$basearch/os' /etc/yum.repos.d/CentOS-Linux-AppStream.repo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[cr\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/ContinuousRelease/$basearch/os' /etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[devel\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/Devel/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Devel.repo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[extras\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/extras/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Extras.repo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[fasttrack\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/fasttrack/$basearch/os' /etc/yum.repos.d/CentOS-Linux-FastTrack.repo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[ha\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/HighAvailability/$basearch/os' /etc/yum.repos.d/CentOS-Linux-HighAvailability.repo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[plus\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/centosplus/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Plus.repo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[powertools\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/PowerTools/$basearch/os' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo [root@server ~]# dnf clean all 30 files removed [root@server ~]# rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux [root@server ~]# curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh [root@server ~]# bash almalinux-deploy.sh Check root privileges OK Check centos-8.x86_64 is supported OK Download RPM-GPG-KEY-AlmaLinux OK Import RPM-GPG-KEY-AlmaLinux to RPM DB OK Download almalinux-release package OK Verify almalinux-release package OK Your OS is supported OK 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 Remove OS specific rpm packages OK Verifying... ######################################## Preparing... ######################################## Updating / installing... almalinux-release-8.10-1.el8 ######################################## Install almalinux-release package OK Remove centos-logos-httpd packages OK Install almalinux-logos-httpd packages OK Backup of alternatives is done OK Last metadata expiration check: 0:00:13 ago on Wed 03 Jul 2024 04:45:55 PM CEST. NetworkManager.x86_64 1:1.40.16-15.el8_9 baseos NetworkManager-libnm.x86_64 1:1.40.16-15.el8_9 baseos NetworkManager-team.x86_64 1:1.40.16-15.el8_9 baseos NetworkManager-tui.x86_64 1:1.40.16-15.el8_9 baseos acl.x86_64 2.2.53-3.el8 baseos ... Complete! Run dnf distro-sync -y OK Restoring of alternatives is done OK Generating grub configuration file ... done All Secure Boot related packages which were not released by AlmaLinux are reinstalledOK Migration to AlmaLinux is completed
[root@server ~]# grubby --info DEFAULT | grep AlmaLinux title="AlmaLinux (4.18.0-553.8.1.el8_10.x86_64) 8.10 (Cerulean Leopard)" [root@server]# cat /etc/almalinux-release AlmaLinux release 8.10 (Cerulean Leopard)
Nachdem das Skript almalinux-deploy.sh erfolgreich war und der neue Kernel, im Beispiel für AlmaLinux 8.10, als Standard eingestellt ist, sollte das System neu gestartet werden (reboot).