Wie man von Centos 7 auf AlmaLinux 9 umsteigt
AlmaLinux 9 wurde im Mai 2022 veröffentlicht. Zunächst gab es keinen einfachen Upgrade-Pfad von AlmaLinux 8 auf AlmaLinux 9. Alle Upgrades erforderten eine Neuinstallation. Das bedeutete auch, dass man nicht von CentOS zu AlmaLinux 9 wechseln konnte. Glücklicherweise hat AlmaLinux Anfang dieses Jahres AlmaLinux 9 in sein ELevate-Programm aufgenommen.
Mit dieser Ergänzung gibt es nun eine Möglichkeit, von CentOS 7 auf AlmaLinux 9 zu aktualisieren, allerdings muss zuerst ein Upgrade von CentOS 7 auf AlmaLinux 8 und dann von AlmaLinux 8 auf AlmaLinux 9 durchgeführt werden - es ist also ein zweistufiger Prozess.
Was ist ELevate?
Der Prozess, dem Sie folgen werden, basiert auf der AlmaLinux ELevate-Funktion, die Benutzern helfen soll, von CentOS auf AlmaLinux umzusteigen - die aber auch für das Upgrade auf und den Wechsel zwischen vielen RHEL-basierten Linux-Distributionen verwendet werden kann.
ELevate nutzt eine optimierte Version des Leapp-Frameworks von Red Hat sowie eine Datenbibliothek und ein Toolset namens Package Evolution Service. ELevate führt vor dem Upgrade eine Prüfung durch, um Sie auf mögliche Probleme aufmerksam zu machen, aber in den meisten Fällen funktioniert es wie versprochen und ermöglicht Ihnen den Wechsel zwischen RHEL-Distributionen.
Warum von CentOS 7 zu AlmaLinux 9 wechseln?
CentOS 7 wird voraussichtlich am 30. Juni 2024 auslaufen. Sie haben also etwa ein Jahr Zeit, um umzusteigen - aber Sie müssen umsteigen, da der Einsatz von End-of-Life-Software einfach zu riskant ist.
AlmaLinux 9 basiert auf Kernel 5.14 und ist die erste Version von AlmaLinux, die diesmal von CentOS Stream abstammt. Es hat als erste Distribution die Architekturparität mit Upstream erreicht und enthält Verbesserungen in den Bereichen Automatisierung und Web-Cockpit, Sicherheit und Anwendungsentwicklungsumgebung.
Aber warum nicht einfach in einem Schritt auf AlmaLinux 8 umsteigen? Unabhängig davon, ob Sie die neuen Funktionen benötigen oder nicht, lohnt es sich auch, über den fortlaufenden Support für AlmaLinux 8 nachzudenken. Sie haben noch viele Jahre für den Sicherheits-Support (bis März 2029), aber der aktive Support endet im Mai 2024.
Auf der anderen Seite genießt AlmaLinux 9 Sicherheitsunterstützung bis 2032 und aktive Unterstützung bis Mai 2027. Sie könnten sich eine Menge Ärger ersparen, wenn Sie den Wechsel zu AlmaLinux 9 in einem Rutsch durchführen.
Erste Stufe: CentOS 7 zu AlmaLinux 8
Es gibt signifikante Unterschiede zwischen CentOS 7 und CentOS 8, und damit auch signifikante Unterschiede zwischen CentOS 7 und AlmaLinux 8 - das liegt daran, dass sowohl CentOS 8 als auch AlmaLinux 8 auf RHEL 8 basieren.
Aber dank des ELevate-Projekts von AlmaLinux ist es relativ einfach, von CentOS 7 auf AlmaLinux umzusteigen.
Aktualisieren Sie zunächst Ihre CentOS 7-Instanz auf die neueste Version und führen Sie anschließend einen Neustart durch:
sudo yum update -y
sudo reboot
Sie müssen dann die elevate-release Paket installieren, das das Projekt-Repository enthält:
sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
Als nächstes installieren Sie die leapp-Pakete und Migrationsdaten für AlmaLinux:
sudo yum install -y leapp-upgrade leapp-data-almalinux
Führen Sie dann eine Überprüfung vor dem Upgrade mit diesem Befehl durch:
sudo leapp preupgrade
Die Ergebnisse werden in diese Datei geschrieben - /var/log/leapp/leapp. In den meisten Fällen schlägt die Prüfung fehl, und Sie erhalten einige Lösungsvorschläge.
Es gibt häufige Probleme bei der Migration von CentOS 7. Sie können diese häufigen Probleme beheben, indem Sie die folgende Befehlsgruppe ausführen:
Das Modul pata_acpi verhindert das Upgrade, führen Sie diesen Befehl aus, um es zu beheben:
sudo rmmod pata_acpi
Fehlender Root-Login-Zugang (kann den Fernzugriff auf das System nach dem Upgrade unterbrechen). Führen Sie diesen Befehl aus, um ihn zu aktivieren. Er kann nach dem Upgrade wieder deaktiviert werden.
echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
Nicht unterstütztes pam-Modul, führen Sie diesen Befehl aus, um das Problem zu beheben:
sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
Ein weiteres häufiges Problem ist die Zeitüberschreitung während des Herunterladens von Paketen, die durch einfaches Wiederholen des Befehls behoben werden kann. Yum, das während des Upgrade-Prozesses verwendet wird, speichert bereits heruntergeladene Pakete, so dass Ihr System nur die fehlenden Pakete erneut versucht.
Als nächstes müssen Sie das Upgrade starten und einen Neustart auslösen. Nach der Bereitstellung der aktualisierten Pakete kann es sein, dass der Vorgang ins Stocken gerät, aber er wird schließlich beendet.
sudo leapp upgrade
Dies ist das, was Sie sehen möchten, nachdem das Tool erfolgreich ausgeführt wurde (mit verschiedenen Paketnummern):
sudo reboot
Sobald der Neustart ausgeführt wurde, sehen Sie einen neuen Eintrag in GRUB: ELevate-Upgrade-Initramfs. Drücken Sie die Eingabetaste und warten Sie, bis der Upgrade-Prozess abgeschlossen ist.
Sie booten dann AlmaLinux. Nach dem Neustart können Sie überprüfen, ob Sie nun AlmaLinux 8 verwenden:
cat /etc/redhat-release
Sie sollten AlmaLinux neben der aktuellen Versionsnummer sehen.
Zweite Stufe: AlmaLinux 8 bis AlmaLinux 9
Nachdem Sie nun von CentOS 7 auf AlmaLinux 8 umgestiegen sind, müssen Sie auf die neueste Version von AlmaLinux aktualisieren, was Sie wiederum mit ELevate tun werden.
Beginnen Sie mit dem Herunterladen der elevate-testing Repository herunter:
sudo curl https://repo.almalinux.org/elevate/testing/elevate-testing.repo -o /etc/yum.repos.d/elevate-testing.repo
Als nächstes importieren Sie den ELevate-GPG-Schlüssel:
sudo rpm --import https://repo.almalinux.org/elevate/RPM-GPG-KEY-ELevate
Installieren Sie dann die Leapp-Pakete, die Ihnen ein Upgrade von AlmaLinux 8 auf AlmaLinux 9 ermöglichen:
$ sudo yum install -y leapp-upgrade leapp-data-almalinux
Sie sollten eine Bestätigung sehen, dass die Pakete installiert wurden. Als Nächstes müssen Sie, wie in der vorherigen Phase, mit dem folgenden Befehl eine Prüfung vor dem Upgrade durchführen:
sudo leapp preupgrade
Wie zuvor können Sie die Ergebnisse in /var/log/leapp/leapp-report.txt
Häufig auftretende Probleme betreffen SELinux und die Firewalld-Konfiguration AllowZoneDrifting.
Sie können dieses Problem wie folgt beheben:
Um SELinux zu deaktivieren:
$ sudo vim /etc/sysconfig/selinux
##Change selinux mode to Disabled.
SELINUX=disabled
Sie müssen dann neu starten:
sudo reboot
Möglicherweise müssen Sie auch AllowZoneDrifting auf nein
$ sudo vim /etc/firewalld/firewalld.conf
AllowZoneDrifting=no
Ein weiteres Hindernis ist, dass Sie die neueste Kernel-Version installiert haben müssen. Stellen Sie also sicher, dass dies der Fall ist, und starten Sie die neueste Version, falls Sie dies noch nicht getan haben.
Es lohnt sich, den Befehl vor dem Upgrade noch einmal auszuführen, um zu prüfen, ob Sie alles richtig gemacht haben.
Dies ist die Nachricht, die Sie am Ende dieses Prozesses sehen möchten:
Der grüne Text zeigt an, dass alles gut gelaufen ist und das System für das Upgrade bereit ist. Eine rote Meldung bedeutet, dass es noch einige Upgrade-Blocker gibt, die beachtet werden müssen. Wie bereits erwähnt, finden Sie alle Informationen in den Protokolldateien, die in der Regel auch Anweisungen zur Behebung der einzelnen Blockierungen enthalten.
Sie können dann das Upgrade auslösen:
sudo leapp upgrade
Nach einer gewissen Zeit müssen Sie Ihr System neu starten, also:
sudo reboot
Ein neuer Eintrag in GRUB namens ELevate-Upgrade-Initramfs erscheint und Ihr System bootet automatisch in dieses Verzeichnis.
Sie können mit der folgenden Kommandozeile bestätigen, dass Sie nun AlmaLinux 9 ausführen:
$ cat /etc/os-release
Und schon sind Sie fertig!
Befolgen Sie die obigen Schritte und Sie haben Ihrem CentOS 7 Rechner viele zusätzliche Jahre laufenden Support verschafft, was bedeutet, dass er bis 2032 sicher und zuverlässig läuft. Das ist genug Zeit, um auf AlmaLinux 10 zu wechseln!