Website-Suche

So installieren Sie Kernel-Header in CentOS 7


Wenn Sie ein benutzerdefiniertes Kernelmodul wie einen Gerätetreiber auf einem CentOS-System kompilieren, müssen auf dem System Kernel-Header-Dateien installiert sein, darunter die C-Header-Dateien für der Linux-Kernel. Kernel-Header-Dateien stellen verschiedene Arten von Funktions- und Strukturdefinitionen bereit, die beim Installieren oder Kompilieren von Code erforderlich sind, der mit dem Kernel verbunden ist.

Stellen Sie bei der Installation von Kernel Headers sicher, dass diese mit der aktuell auf dem System installierten Kernel-Version übereinstimmen. Wenn Ihre Kernel-Version mit der Standard-Distributionsinstallation geliefert wird oder Sie Ihren Kernel mit dem Yum-Paketmanager aus Systembasis-Repositorys aktualisiert haben, müssen Sie passende Kernel-Header nur mit dem Paketmanager installieren. Wenn Sie den Kernel aus Quellen kompiliert haben, können Sie Kernel-Header nur aus Quellen installieren.

Lesen Sie auch: So installieren Sie Kernel-Header in Ubuntu und Debian

In diesem Artikel erklären wir, wie Sie Kernel Header in CentOS/RHEL 7- und Fedora-Distributionen mit dem Standardpaketmanager installieren.

Installieren Sie Kernel-Header in CentOS 7

Bestätigen Sie zunächst mit den folgenden Befehlen, dass die passenden Kernel-Header bereits unter dem Speicherort /usr/src/kernels/ auf Ihrem System installiert sind.

cd /usr/src/kernels/
ls -l

Wenn sich im Verzeichnis /usr/src/kernels/ keine passenden Kernel-Header befinden, installieren Sie die Kernel-Header, die vom Paket kernel-devel bereitgestellt werden wie gezeigt mit dem Standardpaketmanager installiert werden.

yum install kernel-devel   [On CentOS/RHEL 7]
dnf install kernel-devel   [On Fedora 22+]

Nach der Installation des kernel-devel-Pakets können Sie mit dem folgenden Befehl alle Kernel-Header-Dateien im Verzeichnis /usr/src/kernels finden.

ls -l /usr/src/kernels/$(uname -r) 

Hinweis: Bei einem VPS (z. B. einem Linode VPS) kann ein Kernel einen benutzerdefinierten Versionsnamen haben. In einem solchen Szenario müssen Sie die Kernel-Version manuell identifizieren und die installierten Kernel-Header-Dateien mit den folgenden Befehlen überprüfen .

uname -r	
ls -l /usr/src/kernels/3.10.0-862.2.3.el7.x86_64

Beispielausgabe
total 4544
drwxr-xr-x.  32 root root    4096 May 16 12:48 arch
drwxr-xr-x.   3 root root    4096 May 16 12:48 block
drwxr-xr-x.   4 root root    4096 May 16 12:48 crypto
drwxr-xr-x. 119 root root    4096 May 16 12:48 drivers
drwxr-xr-x.   2 root root    4096 May 16 12:48 firmware
drwxr-xr-x.  75 root root    4096 May 16 12:48 fs
drwxr-xr-x.  28 root root    4096 May 16 12:48 include
drwxr-xr-x.   2 root root    4096 May 16 12:48 init
drwxr-xr-x.   2 root root    4096 May 16 12:48 ipc
-rw-r--r--.   1 root root     505 May  9 19:21 Kconfig
drwxr-xr-x.  12 root root    4096 May 16 12:48 kernel
drwxr-xr-x.  10 root root    4096 May 16 12:48 lib
-rw-r--r--.   1 root root   51205 May  9 19:21 Makefile
-rw-r--r--.   1 root root    2305 May  9 19:21 Makefile.qlock
drwxr-xr-x.   2 root root    4096 May 16 12:48 mm
-rw-r--r--.   1 root root 1093137 May  9 19:21 Module.symvers
drwxr-xr-x.  60 root root    4096 May 16 12:48 net
drwxr-xr-x.  14 root root    4096 May 16 12:48 samples
drwxr-xr-x.  13 root root    4096 May 16 12:48 scripts
drwxr-xr-x.   9 root root    4096 May 16 12:48 security
drwxr-xr-x.  24 root root    4096 May 16 12:48 sound
-rw-r--r--.   1 root root 3409102 May  9 19:21 System.map
drwxr-xr-x.  17 root root    4096 May 16 12:48 tools
drwxr-xr-x.   2 root root    4096 May 16 12:48 usr
drwxr-xr-x.   4 root root    4096 May 16 12:48 virt
-rw-r--r--.   1 root root      41 May  9 19:21 vmlinux.id

Wenn Sie außerdem Header-Dateien für den Linux-Kernel zur Verwendung durch glibc benötigen, installieren Sie das Paket kernel-header mit dem folgenden Befehl.

yum install kernel-headers   [On CentOS/RHEL 7]
dnf install kernel-headers   [On Fedora 22+]

Jetzt können Sie mit dem Kompilieren Ihrer eigenen oder vorhandenen Kernel-Module für Software wie VirtualBox und viele mehr beginnen.

Das ist es! In diesem Artikel haben wir erklärt, wie man die Pakete kernel-devel und kernel-header in CentOS/RHEL 7 und Fedora< installiert Systeme. Denken Sie daran, dass Sie die erforderlichen Kernel-Header-Dateien installiert haben sollten, bevor Sie Kernel-Module wie Gerätetreiber auf einem Linux-System kompilieren können. Wenn Sie Fragen haben, nutzen Sie bitte das Kommentarformular unten, um uns zu erreichen.