Cum se instalează anteturile kernelului în CentOS 7


Când compilați un modul de kernel personalizat, cum ar fi un driver de dispozitiv pe un sistem CentOS, trebuie să aveți fișiere de antet de kernel instalate pe sistem, care includ fișierele de antet C pentru nucleul Linux. Fișierele antet kernel oferă diferite tipuri de definiții de funcție și structură necesare la instalarea sau compilarea oricărui cod care interfață cu nucleul.

Când instalați Kernel Headers, asigurați-vă că se potrivește cu versiunea de kernel instalată în prezent pe sistem. Dacă versiunea dvs. de kernel vine cu instalarea implicită de distribuție sau ați actualizat kernel-ul utilizând managerul de pachete yum din depozitele de bază de sistem, atunci trebuie să instalați anteturile nucleului corespunzătoare folosind doar managerul de pachete. Dacă ați compilat nucleul din surse, puteți instala antetele nucleului numai din surse.

Citiți și: Cum să instalați anteturile kernelului în Ubuntu și Debian

În acest articol, vom explica cum să instalați Antetele kernelului în distribuțiile CentOS/RHEL 7 și Fedora folosind managerul de pachete implicit.

Instalați anteturile kernelului în CentOS 7

Mai întâi, confirmați că anteturile nucleului potrivite sunt deja instalate în locația /usr/src/kernels/ de pe sistemul dvs. utilizând următoarele comenzi.

cd /usr/src/kernels/
ls -l

Dacă în directorul /usr/src/kernels/ nu există antete de nucleu care se potrivesc, instalați antete de nucleu, care sunt furnizate de pachetul kernel-devel care poate fi instalat folosind managerul de pachete implicit, așa cum se arată.

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

După instalarea pachetului kernel-devel, puteți găsi toate fișierele antete ale nucleului în directorul /usr/src/kernels folosind următoarea comandă.

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

Notă pe un VPS (de exemplu, un VPS Linode), un nucleu poate avea un nume de versiune personalizat, în acest caz, trebuie să identificați manual versiunea kernel-ului și să verificați fișierele de antet ale nucleului instalate folosind următoarele comenzi .

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

Ieșire eșantion
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

În plus, dacă aveți nevoie de fișiere antet pentru nucleul Linux pentru a fi utilizate de către glibc, instalați pachetul kernel-header folosind următoarea comandă.

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

Acum sunteți bine să vă compilați modulele kernel proprii sau existente pentru software precum VirtualBox și multe altele.

Asta este! În acest articol, am explicat cum să instalați pachetele kernel-devel și kernel-header în CentOS/RHEL 7 și Fedora< sisteme. Amintiți-vă că, înainte de a putea compila module de kernel, cum ar fi driverul de dispozitiv pe un sistem Linux, ar trebui să aveți instalate fișierele de antet kernel necesare. Dacă aveți întrebări, vă rugăm să folosiți formularul de comentarii de mai jos pentru a ne contacta.