Website-Suche

So installieren oder aktualisieren Sie Kernel 5.0 in CentOS 7


Obwohl manche Leute das Wort Linux verwenden, um das Betriebssystem als Ganzes zu bezeichnen, ist es wichtig zu beachten, dass Linux streng genommen nur der Kernel ist. Andererseits ist eine Distribution ein voll funktionsfähiges System, das auf dem Kernel aufbaut und über eine Vielzahl von Anwendungstools und Bibliotheken verfügt.

Im Normalbetrieb ist der Kernel für die Ausführung von zwei wichtigen Aufgaben verantwortlich:

  1. Fungiert als Schnittstelle zwischen der Hardware und der auf dem System ausgeführten Software.
  2. Systemressourcen so effizient wie möglich verwalten.

Dazu kommuniziert der Kernel mit der Hardware über die darin integrierten oder nachträglich als Modul installierbaren Treiber.

Wenn beispielsweise eine auf Ihrem Computer ausgeführte Anwendung eine Verbindung zu einem drahtlosen Netzwerk herstellen möchte, sendet sie diese Anfrage an den Kernel, der wiederum den richtigen Treiber verwendet, um eine Verbindung zum Netzwerk herzustellen.

Empfohlene Lektüre: So aktualisieren Sie den Kernel in Ubuntu

Da regelmäßig neue Geräte und Technologien auf den Markt kommen, ist es wichtig, unseren Kernel auf dem neuesten Stand zu halten, wenn wir das Beste daraus machen wollen. Darüber hinaus hilft uns die Aktualisierung unseres Kernels, neue Kernelfunktionen zu nutzen und uns vor Schwachstellen zu schützen, die in früheren Versionen entdeckt wurden.

Sind Sie bereit, Ihren Kernel auf CentOS 7 oder eines seiner Derivate wie RHEL 7 und Fedora zu aktualisieren? Wenn ja, lesen Sie weiter!

Schritt 1: Überprüfen der installierten Kernel-Version

Wenn wir eine Distribution installieren, enthält diese eine bestimmte Version des Linux-Kernels. Um die aktuell auf unserem System installierte Version anzuzeigen, können wir Folgendes tun:

uname -sr

Das folgende Bild zeigt die Ausgabe des obigen Befehls auf einem CentOS 7-Server:

Wenn wir jetzt zu https://www.kernel.org/ gehen, werden wir sehen, dass die neueste Kernel-Version zum Zeitpunkt des Verfassens dieses Artikels 5.0 ist (andere Versionen sind auf derselben Website verfügbar).

Diese neue Kernel 5.0-Version ist eine Langzeitversion und wird 6 Jahre lang unterstützt. Bisher wurden alle Linux-Kernel-Versionen nur 2 Jahre lang unterstützt.

Eine wichtige Sache, die es zu berücksichtigen gilt, ist der Lebenszyklus einer Kernel-Version – wenn sich die Version, die Sie derzeit verwenden, dem Ende ihrer Lebensdauer nähert, werden nach diesem Datum keine Fehlerbehebungen mehr bereitgestellt. Weitere Informationen finden Sie auf der Seite „Kernel-Releases“.

Schritt 2: Kernel in CentOS 7 aktualisieren

Die meisten modernen Distributionen bieten eine Möglichkeit, den Kernel mithilfe eines Paketverwaltungssystems wie yum und eines offiziell unterstützten Repositorys zu aktualisieren.

Wichtig: Wenn Sie einen benutzerdefinierten kompilierten Kernel ausführen möchten, sollten Sie unseren Artikel lesen, in dem erklärt wird, wie man den Linux-Kernel unter CentOS 7 aus Quellen kompiliert.

Dadurch wird jedoch nur das Upgrade auf die neueste Version durchgeführt, die in den Repositorys der Distribution verfügbar ist – nicht auf die neueste Version, die unter https://www.kernel.org/ verfügbar ist. Leider erlaubt Red Hat ein Upgrade des Kernels nur mit der ersteren Option.

Im Gegensatz zu Red Hat ermöglicht CentOS die Verwendung von ELRepo, einem Drittanbieter-Repository, das das Upgrade auf eine aktuelle Version eines Kernels ermöglicht.

Um das ELRepo-Repository unter CentOS 7 zu aktivieren, gehen Sie wie folgt vor:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 

Sobald das Repository aktiviert wurde, können Sie den folgenden Befehl verwenden, um die verfügbaren kernel.bezogenen Pakete aufzulisten:


yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo-kernel: mirror-hk.koddos.net
Available Packages
kernel-lt.x86_64                        4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-devel.x86_64                  4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-doc.noarch                    4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-headers.x86_64                4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools.x86_64                  4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools-libs.x86_64             4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools-libs-devel.x86_64       4.4.176-1.el7.elrepo        elrepo-kernel
kernel-ml.x86_64                        5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-devel.x86_64                  5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-doc.noarch                    5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-headers.x86_64                5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools.x86_64                  5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools-libs.x86_64             5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools-libs-devel.x86_64       5.0.0-1.el7.elrepo          elrepo-kernel
perf.x86_64                             5.0.0-1.el7.elrepo          elrepo-kernel
python-perf.x86_64                      5.0.0-1.el7.elrepo          elrepo-kernel

Als nächstes installieren Sie den neuesten stabilen Mainline-Kernel:


yum --enablerepo=elrepo-kernel install kernel-ml

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirror.net.in
 * elrepo: mirror-hk.koddos.net
 * elrepo-kernel: mirror-hk.koddos.net
 * epel: repos.del.extreme-ix.org
 * extras: centos.mirror.net.in
 * updates: centos.mirror.net.in
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:5.0.0-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================
 Package                Arch        Version                 Repository        Size
====================================================================================
Installing:
 kernel-ml              x86_64      5.0.0-1.el7.elrepo      elrepo-kernel     47 M

Transaction Summary
====================================================================================
Install  1 Package

Total download size: 47 M
Installed size: 215 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-5.0.0-1.el7.elrepo.x86_64.rpm                           |  47 MB  00:01:21     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-ml-5.0.0-1.el7.elrepo.x86_64                1/1 
  Verifying  : kernel-ml-5.0.0-1.el7.elrepo.x86_64                1/1 

Installed:
  kernel-ml.x86_64 0:5.0.0-1.el7.elrepo                                                                                                                                                                            

Complete!

Abschließend starten Sie Ihren Computer neu, um den neuesten Kernel anzuwenden, und wählen Sie dann wie gezeigt den neuesten Kernel aus dem Menü aus.

Melden Sie sich als Root an und führen Sie den folgenden Befehl aus, um die Kernel-Version zu überprüfen:

uname -sr

Schritt 3: Legen Sie die Standardkernelversion in GRUB fest

Um die neu installierte Version zur Standard-Boot-Option zu machen, müssen Sie die GRUB-Konfiguration wie folgt ändern:

Öffnen und bearbeiten Sie die Datei /etc/default/grub und legen Sie GRUB_DEFAULT=0 fest. Dies bedeutet, dass der erste Kernel im GRUB-Startbildschirm als Standard verwendet wird.

GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Führen Sie als Nächstes den folgenden Befehl aus, um die Kernelkonfiguration neu zu erstellen.


grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.0.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.20.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.20.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.11-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.11-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.1.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.1.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1e2b46dbc0c04b05b592c837c366bb76
Found initrd image: /boot/initramfs-0-rescue-1e2b46dbc0c04b05b592c837c366bb76.img
done

Starten Sie neu und stellen Sie sicher, dass jetzt standardmäßig der neueste Kernel verwendet wird.

Glückwunsch! Sie haben Ihren Kernel in CentOS 7 aktualisiert!

Zusammenfassung

In diesem Artikel haben wir erklärt, wie Sie den Linux-Kernel auf Ihrem System einfach aktualisieren können. Es gibt noch eine weitere Methode, die wir nicht behandelt haben, da sie das Kompilieren des Kernels aus dem Quellcode beinhaltet, was ein ganzes Buch verdienen würde und auf Produktionssystemen nicht empfohlen wird.

Obwohl es eine der besten Lernerfahrungen darstellt und eine feinkörnige Konfiguration des Kernels ermöglicht, kann es sein, dass Sie Ihr System unbrauchbar machen und es möglicherweise von Grund auf neu installieren müssen.

Wenn Sie immer noch daran interessiert sind, den Kernel als Lernerfahrung zu erstellen, finden Sie Anweisungen dazu auf der Seite „Kernel-Neulinge“.

Wenn Sie Fragen oder Kommentare zu diesem Artikel haben, können Sie wie immer gerne das untenstehende Formular verwenden.