Aktualisieren des CentOS-Kernels auf die neueste Version
Diese Anleitung erklärt, wie Sie unter CentOS 7 mithilfe des ELRepo-Repositorys einen neueren Kernel installieren.
ELRepo hat die Unterstützung für el7 im Juli 2024 eingestellt. Das in dieser Anleitung beschriebene Verfahren funktioniert nicht mehr. Diese Anleitung wird als Archivmaterial aufbewahrt.
Wenn Sie weiterhin CentOS 7 verwenden, sollten Sie eine Migration auf AlmaLinux 8 mithilfe des Tools Elevate in Betracht ziehen.
Kernel-Variante auswählen
ELRepo stellt zwei Kernel-Varianten bereit:
kernel-ml installiert den Mainline-Kernel, der den neuesten Upstream-Linux-Releases folgt. Er erhält schnell neue Funktionen und Verbesserungen, kann jedoch Kompatibilitätsprobleme mit Treibern oder Produktions-Workloads verursachen.
kernel-lt installiert einen Kernel mit Long-Term-Support, bei dem Stabilität gegenüber neuen Funktionen priorisiert wird. Dies ist die empfohlene Option für Produktionsserver.
System aktualisieren und ELRepo installieren
Aktualisieren Sie die installierten Pakete:
yum -y update
Importieren Sie den ELRepo-GPG-Schlüssel und installieren Sie das Repository:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
Überprüfen Sie, ob das Repository erfolgreich hinzugefügt wurde:
yum repolist | grep elrepo
Löschen Sie den yum-Cache:
yum clean all
Den neuen Kernel installieren
Um den Long-Term-Support-Kernel zu installieren (für Produktionsumgebungen empfohlen):
yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-headers kernel-lt-tools kernel-lt-tools-libs
Um stattdessen den Mainline-Kernel zu installieren:
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-headers kernel-ml-tools kernel-ml-tools-libs
Überprüfen Sie, ob die Kernel-Pakete installiert wurden:
rpm -qa | grep '^kernel-'
Den neuen Kernel als Standard festlegen
Listen Sie alle installierten Kernel zusammen mit ihrer Boot-Reihenfolge auf:
grubby --info=ALL | grep -E 'title|kernel'
Dem neuesten Kernel wird normalerweise der Index 0 zugewiesen. Überprüfen Sie jedoch die Reihenfolge, bevor Sie ihn als Standard festlegen. Legen Sie den Standard-Kernel anhand des Index fest:
grubby --set-default=0
Oder aus Gründen der Zuverlässigkeit anhand des vollständigen Kernel-Pfads:
grubby --set-default /boot/vmlinuz-<version>
Ersetzen Sie <version> durch die tatsächliche Versionszeichenfolge aus der Ausgabe von grubby --info=ALL.
Überprüfen Sie den Standard-Kernel:
grubby --default-kernel grub2-editenv list
Wenn Secure Boot im BIOS/UEFI aktiviert ist, können Kernel von Drittanbietern aus ELRepo möglicherweise nicht gestartet werden. Deaktivieren Sie Secure Boot vor dem Neustart.
Neustarten und überprüfen
Starten Sie den Server neu:
reboot
Nachdem das System wieder hochgefahren ist, überprüfen Sie die Version des aktuell ausgeführten Kernels:
uname -r
Alte Kernel entfernen
Sobald bestätigt wurde, dass der neue Kernel ordnungsgemäß funktioniert, können Sie ältere Versionen entfernen, um Speicherplatz freizugeben. Die Option --count=2 behält die beiden neuesten Kernel als Fallback bei:
yum install -y yum-utils package-cleanup --oldkernels --count=2
Notfall-Rollback
Wenn der neue Kernel nicht startet, wählen Sie während des Systemstarts den vorherigen Kernel aus dem GRUB-Menü aus. Nachdem Sie mit dem alten Kernel gestartet haben, legen Sie ihn wieder als Standard fest:
grubby --set-default=1 reboot
Ersetzen Sie 1 durch den Index des funktionierenden Kernels aus der Ausgabe von grubby --info=ALL.