ClickCease Skript zur Konvertierung von RHEL 7 nach CentOS 7

Abonnieren Sie unseren beliebten Newsletter

Schließen Sie sich 4.500+ Linux- und Open-Source-Experten an!

2x im Monat. Kein Spam.

Skript zur Konvertierung von RHEL 7 nach CentOS 7

von Rohan Timalsina

23. Mai 2023. TuxCare-Expertenteam

Wir haben Anfragen zur Unterstützung bei der Umstellung von Systemen mit RHEL 7 auf CentOS 7 erhalten. Es gibt verschiedene Gründe für Unternehmen, die diese Umstellung vornehmen wollen. Sie reichen von dem Wunsch, ihre Serverflotten zu standardisieren, bis hin zu Lizenzänderungen, zukünftigen Migrationspfaden oder anderen Faktoren. 

CentOS ist eine freie, von der Gemeinschaft betriebene Version von RHEL und damit eine hervorragende Alternative zum lizenzierten RHEL für alle, die keinen offiziellen Support benötigen. Der Wechsel der Repositories scheint zwar eine einfache Aufgabe zu sein, ist aber in Wirklichkeit ein etwas komplizierter Prozess. Aus diesem Grund haben wir ein Skript erstellt, das die Konvertierung automatisch durchführt.

Dieser Artikel bietet einen detaillierten Einblick in das Konvertierungsskript und den Migrationsprozess von RHEL 7 auf CentOS 7. Es sollte jedoch beachtet werden, dass CentOS 7 im Juni 2024 sein End-of-Life-Stadium erreicht, so dass der Support durch den Hersteller zu diesem Zeitpunkt endet und Organisationen erweiterten Support erwerben müssen, um diese Distribution weiterhin sicher nutzen zu können.

Nun zu den Schritten der Migration...

 

Was macht dieses Skript?

Bevor Sie dieses Skript ausführen, sollten Sie verstehen, was es tut. Dieses Skript ist geschrieben in Python geschrieben und führt die folgenden neun Operationen aus:

 

1. Prüfen Sie, ob die Umwandlung bereits abgeschlossen ist

 

Dieses Skript ist so konzipiert, dass es idempotent ist, d. h. es kann ohne Risiko mehrfach ausgeführt werden. Der Status jedes Schritts wird in einer speziellen Datei gespeichert, so dass das Skript einen bereits abgeschlossenen Schritt nie wieder ausführen wird. Wenn alle Schritte ausgeführt wurden, gibt das Skript die Meldung "Das System wurde bereits auf CentOS 7 migriert" zurück und beendet sich. 

2. Prüfen Sie, ob das Skript mit Root-Rechten läuft

Die meisten der vom Skript ausgeführten Befehle erfordern Root-Rechte, daher wird dies gleich zu Beginn überprüft.

 

3. Prüfen Sie, ob das aktuelle System RHEL 7 ist

Das Skript prüft, ob es sich bei dem installierten System um RHEL 7 handelt. Da jedes Betriebssystem seine eigenen spezifischen Eigenschaften hat, kann der Versuch, das Skript auf einem nicht unterstützten System auszuführen, zu unerwarteten Ergebnissen führen.

4. RHEL-spezifische Pakete entfernen

In diesem Schritt werden RHEL-spezifische Pakete entfernt, z. B. Logos und Konfigurationsdateien mit Informationen über die Version und die Repositories. Dies sind die Pakete, die hauptsächlich für das "Branding" der Distribution verantwortlich sind.

 

5. CentOS-spezifische Pakete installieren

Nach dem Entfernen der RHEL-spezifischen Pakete werden diese durch die entsprechenden Pakete von CentOS ersetzt. Künftig werden die CentOS-Repositorys für die Installation und Aktualisierung von Paketen verwendet.

 

6. Aktualisierung der Verteilungspakete

Es wird ein regelmäßiges Update aller Systempakete auf die neuesten in den CentOS-Repositories verfügbaren Versionen durchgeführt.

 

7. Verteilungspakete synchronisieren

Der zusätzliche Schritt, die Pakete mit den neuesten Versionen in den CentOS-Repositories synchron zu halten, ist für Fälle notwendig, in denen ein Paket in CentOS eine niedrigere Version hat als das entsprechende RHEL-Paket. Obwohl dieses Szenario selten ist, muss es dennoch berücksichtigt werden, da es auftreten kann.

 

8. Ausführen einiger EFI- und Secure Boot-spezifischer Operationen

Dieser Schritt ist sehr wichtig für die Konvertierung von Systemen, die im UEFI-Modus (nicht BIOS) laufen. Viele Lösungen und Artikel enthalten keine Informationen zu den Schritten, die für die Behandlung solcher Systeme erforderlich sind, aber eine Vernachlässigung dieser Schritte kann dazu führen, dass das Betriebssystem nach der Konvertierung nicht mehr gestartet werden kann. RHEL und CentOS verwenden unterschiedliche Pfade für die Shim- und Grub2-Bootloader - /boot/efi/EFI/redhat bzw. /boot/efi/EFI/centos.

Diese Diskrepanz führt zu zwei Problemen. Erstens versucht der Grub2-Bootloader nach der Konvertierung, seine Konfiguration im neuen Pfad zu finden, obwohl er sich noch im Verzeichnis /boot/efi/EFI/redhat befindet. Das zweite Problem sind die Booteinträge in der UEFI-Firmware. Ein RHEL-Eintrag wird weiterhin auf den Bootloader in /boot/efi/EFI/redhat verweisen, der über diesen Pfad nicht mehr zugänglich ist. 

Die meiste UEFI-Firmware implementiert einen Fallback-Modus, in dem der Bootloader weiterhin erkannt und gestartet werden kann. Die Implementierung dieses Modus ist jedoch optional und nicht jede Hardware unterstützt ihn. Dies hat zur Folge, dass das System nach der Migration nicht mehr booten kann. Diese beiden Probleme werden in diesem Schritt automatisch gelöst.

Außerdem stellt das Skript bei diesem Schritt sicher, dass die Bootloader Shim und Grub2 sowie der Kernel aus dem CentOS-Repository installiert werden. Wenn eines dieser Pakete von RHEL übrig bleibt, kann das System nicht im Secure Boot-Modus booten. Solche Pakete werden erkannt und aus den CentOS-Repositories neu installiert.

 

9. Einstellen des Standard-GRUB-Datensatzes

In der Regel haben RHEL-Systeme mehrere aktuelle Kernel installiert. Daher macht das Skript im letzten Schritt den Kernel von CentOS zum Standardkernel für den nächsten Boot-Schritt. Dieser Schritt ist auch für Systeme erforderlich, die im Secure Boot-Modus laufen.

 

RHEL 7 zu CentOS 7: Schritt-für-Schritt-Prozess

1. Erstellen Sie eine Sicherungskopie des Systems 

Bevor Sie mit dem Migrationsprozess beginnen, empfehlen wir Ihnen, ein vollständiges Backup Ihres RHEL 7-Systems zu erstellen. 

 

2. Laden Sie das Skript herunter

Das Python-Skript zur Migration von RHEL 7 auf CentOS 7 ist auf GitHub verfügbar:

https://github.com/cloudlinux/rhel2centos

Sie können diesen Befehl ausführen, um das Skript auf Ihren Computer herunterzuladen.

$ curl -O https://raw.githubusercontent.com/cloudlinux/rhel2centos/main/migrate_7.py

 

3. Führen Sie das Skript aus

Sobald die Datei heruntergeladen ist, führen Sie das Skript mit dem Python-Befehl aus. 

$ sudo python migrate_7.py

Ausgabe:

Das System wird auf CentOS 7 migriert.

 

4. Überprüfen Sie die Migration

Um zu überprüfen, ob die Migration erfolgreich war, führen Sie den folgenden Befehl aus, um die Freigabedatei zu überprüfen.

$ cat /etc/redhat-release

Ausgabe:

CentOS Linux Version 7.9.2009 (Core)

Prüfen Sie, ob das System standardmäßig den CentOS-Kernel bootet.

$ sudo grubby -info DEFAULT | grep CentOS

Ausgabe:

title=CentOS Linux (3.10.0-1160.31.1.el7.x86_64) 7 (Core)

Hinweis: Die Versionsnummern können sich mit der Veröffentlichung neuer Updates ändern.

 

RHEL 7 vs. CentOS 

RHEL 7 ist eine kommerzielle Distribution, die von Red Hat, einem bekannten Unternehmenssoftwarehersteller, entwickelt wurde, während CentOS 7 eine von der Community betriebene Distribution ist, die aus dem Quellcode von Red Hat Enterprise Linux (RHEL) entwickelt wurde. 

Während RHEL 7 speziell auf die Bedürfnisse von Unternehmensumgebungen zugeschnitten ist, die robuste Sicherheit, Stabilität und Support benötigen, ist CentOS 7 bei Einzelanwendern und kleineren Organisationen beliebt, die eine freie und quelloffene Alternative zu RHEL suchen.

Sowohl RHEL 7 als auch CentOS 7 wird ein gutes Sicherheitsniveau bescheinigt. Mit dem Support auf Unternehmensebene und dem Zugang zu proprietären Sicherheitstools hat RHEL 7 jedoch einen leichten Vorteil gegenüber CentOS. Aus diesem Grund ist RHEL 7 die bessere Wahl für Unternehmen, die ein hohes Maß an Sicherheit benötigen. 

CentOS 7 hingegen ist die richtige Wahl, wenn Sie einen freien und quelloffenen Ersatz mit einer großen Auswahl an Paketen suchen. Unabhängig davon, für welche Version Sie sich entscheiden, sind RHEL 7 und CentOS 7 beides äußerst sichere und zuverlässige Betriebssysteme, die die Anforderungen der meisten Benutzer erfüllen können.

Es ist auch wichtig zu wissen, dass der Wartungssupport für RHEL 7 am 30. Juni 2024 ausläuft und auch CentOS 7 an diesem Datum das Ende seiner Lebensdauer erreicht. Da nur noch etwas mehr als ein Jahr verbleibt, wird Benutzern und Administratoren empfohlen mit der Planung ihrer Migration zu beginnen.

Wenn Sie unsicher sind, was die Migration zu alternative Distroskönnen Sie sich für den erweiterten Support von TuxCare's EOL-Support für CentOS 7in Anspruch nehmen, der einen erweiterten Lebenszyklus-Support von vier Jahren bietet.

 

Die Quintessenz

Zusammenfassend lässt sich sagen, dass der Umstieg von RHEL 7 auf CentOS 7 eine anspruchsvolle Aufgabe sein kann. Sie kann jedoch leicht und ohne negative Auswirkungen auf das System durchgeführt werden, solange sie mit sorgfältiger Planung und Ausführung durchgeführt wird. 

Wir hoffen, dass diese Anleitung Ihnen bei der Umstellung Ihres RHEL 7-Systems auf CentOS 7 hilft!

Zusammenfassung
Skript zur Konvertierung von RHEL 7 nach CentOS 7
Artikel Name
Skript zur Konvertierung von RHEL 7 nach CentOS 7
Beschreibung
Möchten Sie erfahren, wie Sie mit dem Konvertierungsskript ganz einfach von RHEL 7 auf CentOS 7 migrieren können? Lesen Sie diesen Blog-Beitrag
Autor
Name des Herausgebers
TuxCare
Logo des Herausgebers

Möchten Sie das Patchen von Sicherheitslücken ohne Kernel-Neustart, Systemausfallzeiten oder geplante Wartungsfenster automatisieren?

Werden Sie ein TuxCare-Gastautor

E-Mail

Beitreten

4,500

Linux & Open Source
Fachleute!

Abonnieren Sie
unseren Newsletter