CentOS 7 auf CentOS 8 upgraden — In‑place Anleitung
Wichtig: CentOS 8 wurde am 23. September 2019 veröffentlicht. Es gibt keine offizielle, voll unterstützte In‑Place‑Upgrade‑Methode für alle Setups. Verwenden Sie diese Anleitung nur in Testumgebungen oder nach ausreichender Risikoanalyse.

Ziel und Reichweite
Ziel: Ein funktionierendes In‑Place Upgrade von CentOS 7 auf CentOS 8 auf einem x86_64 System.
Einschränkungen: Nicht alle Drittanbieter‑Pakete, Kernel‑Module oder proprietäre Repositories werden kompatibel sein. Minimal‑ISO (≈800 MB statt 6 GB) wurde zur Zeit der Veröffentlichung nicht offiziell angeboten.
Voraussetzungen
- Vollständiges, getestetes Backup (Festplatten‑Image, Konfigurationsdateien, Datenbanken). Eine schnelle Wiederherstellung muss möglich sein.
- Konsolen‑ oder IPMI/Zabbix‑KVM‑Zugriff falls grafische Konsole nicht verfügbar ist.
- Root‑Zugriff oder sudo.
- Mindestens 10–20 % freien Speicherplatz in /boot und auf der Root‑Partition.
- Kenntnis installierter Drittanbieter‑Repos (EPEL, Remi, IUS etc.).
Vorbereiten: Repositories und Tools
- EPEL für CentOS 7 installieren:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm- Hilfsprogramme installieren:
yum -y install rpmconf yum-utils- Konflikte in Konfigurationsdateien prüfen und bereinigen:
rpmconf -a
Wählen Sie bei Abfragen meist “Keep Default” wenn Sie unsicher sind. Ziel ist, Konfigurationsdateien nicht unabsichtlich zu überschreiben.
- Unnötige Pakete auflisten und entfernen:
package-cleanup --leaves
package-cleanup --orphans- DNF (RPM‑basiertes Paketwerkzeug) installieren:
yum -y install dnf- Yum entfernen und alte YUM‑Konfiguration löschen:
dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yumHinweis: Entfernen von yum ist optional, erleichtert aber sauberen Wechsel zu DNF.
System aktualisieren und Release‑Pakete installieren
- System mit DNF aktualisieren:
sudo dnf -y upgrade- CentOS 8 Release‑RPM einspielen:
dnf -y upgrade http://mirror.bytemark.co.uk/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm- EPEL für CentOS 8 aktualisieren:
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm- Repository‑Cache bereinigen:
dnf clean all- Alte Kernel und problematische Pakete entfernen:
rpm -e `rpm -q kernel`und bei Paketen, die Konflikte verursachen:
rpm -e --nodeps sysvinit-toolsDas Upgrade ausführen
Führen Sie das eigentliche DNF‑Sync mit Releaseveränderung aus:
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-syncAnschließend Konfigurationsdateien erneut prüfen:
rpmconf -aInstallieren und prüfen Sie den neuen Kernel:
rpm -e kernel-core
dnf -y install kernel-coreStellen Sie sicher, dass GRUB im richtigen Gerät installiert ist:
ROOTDEV=`ls /dev/*da|head -1`;
echo "Detected root as $ROOTDEV..."
grub2-install $ROOTDEVInstallieren Sie das minimale Paketset (Core + Minimal Install):
dnf -y groupupdate "Core" "Minimal Install"Überprüfen Sie die Version:
cat /etc/centos-release
Abnahmekriterien
- System bootet erfolgreich mit dem neuen Kernel und landet in einem Multi‑User Target.
- Wichtige Dienste (SSH, Web‑Server, Datenbank) starten ohne Fehlermeldungen.
- Konfigurationsdateien sind geprüft und angepasst (z. B. systemd‑Units, NetworkManager).
- Backups sind intakt und Rückspielung möglich.
Häufige Fehler und Lösungen
- Paketkonflikte: Entfernen Sie problematische Drittanbieter‑Pakete oder suchen Sie nach passenden CentOS‑8‑Replacements.
- GRUB nicht aktualisiert: Prüfen Sie ROOTDEV und führen Sie grub2‑install erneut aus.
- Kernel fehlt: dnf -y install kernel-core erzwingen.
- Dienste starten nicht: journalctl -b –priority=err und systemctl status
prüfen.
Rollback‑ und Notfallplan
- Vor dem Upgrade: Vollständiges Image‑Backup (dd, Clonezilla, Snapshot) anfertigen.
- Falls Bootfehler auftreten: Booten von Rescue‑Medium, Mounten der Root‑Partition und Restore des Backups.
- Alternativ: Paketstatus mit rpm‑Dumps notieren, um gezielt Pakete zu downgraden.
Wann kein In‑Place Upgrade verwenden
- Produktive Systeme mit strengen SLAs.
- Systeme mit vielen proprietären Kernel‑Modulen oder Drittanbieter‑Repos.
- Wenn Zeit für Tests und Rollback nicht eingeplant ist.
Alternative Ansätze
- Frische Neuinstallation von CentOS 8 und Migration der Daten und Konfigurationen.
- Parallele Migration: Neues System parallel aufsetzen, Daten synchronisieren, DNS/LoadBalancer umschalten.
- Verwenden von Red Hat/official tools (z. B. Leapp) wenn die Distribution dies unterstützt.
Kompatibilität und Migrationstipps
- Prüfen Sie Drittanbieter‑Repo‑Kompatibilität (EPEL8, Remi für PHP, IUS etc.).
- Systemd‑Änderungen: Überprüfen Sie Unit‑Files und nutzen Sie systemctl daemon‑reload.
- Netzwerk: NetworkManager ersetzt teilweise legacy network scripts.
Checkliste für Rollen
- Systemadministrator: Backup verifizieren, Paketlisten speichern, GRUB prüfen.
- DevOps: CI‑Tests gegen CentOS 8 Images ausführen, Container/Images prüfen.
- IT‑Manager: Wartungsfenster kommunizieren, Rollback‑Plan freigeben.
Kurzglossar
- DNF: Neuer Paketmanager (Dandified Yum).
- RPM: Paketformat und Paketverwaltung.
- EPEL: Extra Packages for Enterprise Linux.
Zusammenfassung
Dieses Dokument beschreibt einen praktischen Ablauf für ein In‑Place Upgrade von CentOS 7 auf CentOS 8. Führen Sie umfangreiche Backups und Tests durch. In vielen Produktionsszenarien ist eine Neuinstallation und Migration die sicherere Option.
Wichtig: Testen Sie jeden Schritt zuerst in einer isolierten Umgebung.
Ähnliche Materialien
Podman auf Debian 11 installieren und nutzen
Apt-Pinning: Kurze Einführung für Debian
FSR 4 in jedem Spiel mit OptiScaler
DansGuardian + Squid (NTLM) auf Debian Etch installieren
App-Installationsfehler auf SD-Karte (Error -18) beheben