Búsqueda de sitios web

Cómo instalar encabezados de kernel en CentOS 7


Cuando compila un módulo de kernel personalizado, como un controlador de dispositivo, en un sistema CentOS, necesita tener archivos de encabezado del kernel instalados en el sistema, que incluyen los archivos de encabezado C para el núcleo de Linux. Los archivos de encabezado del kernel proporcionan diferentes tipos de definiciones de funciones y estructuras necesarias al instalar o compilar cualquier código que interactúe con el kernel.

Cuando instale encabezados del kernel, asegúrese de que coincida con la versión del kernel actualmente instalada en el sistema. Si su versión de Kernel viene con la instalación de distribución predeterminada o ha actualizado su Kernel usando el administrador de paquetes yum desde los repositorios base del sistema, entonces debe instalar los encabezados del kernel coincidentes usando el administrador de paquetes únicamente. Si ha compilado Kernel a partir de fuentes, puede instalar encabezados del kernel únicamente desde fuentes.

Lea también: Cómo instalar encabezados de kernel en Ubuntu y Debian

En este artículo, explicaremos cómo instalar encabezados del kernel en distribuciones CentOS/RHEL 7 y Fedora utilizando el administrador de paquetes predeterminado.

Instalar encabezados de kernel en CentOS 7

Primero confirme que los encabezados del kernel correspondientes ya estén instalados en la ubicación /usr/src/kernels/ de su sistema utilizando los siguientes comandos.

cd /usr/src/kernels/
ls -l

Si no se encuentran encabezados del kernel coincidentes en el directorio /usr/src/kernels/, continúe e instale los encabezados del kernel, que proporciona el paquete kernel-devel que puede instalarse usando el administrador de paquetes predeterminado como se muestra.

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

Después de instalar el paquete kernel-devel, puede encontrar todos los archivos de encabezados del kernel en el directorio /usr/src/kernels usando el siguiente comando.

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

Tenga en cuenta que en un VPS (por ejemplo, un VPS Linode), un kernel puede tener un nombre de versión personalizado; en tal escenario, debe identificar la versión del kernel manualmente y verificar los archivos de encabezado del kernel instalados usando los siguientes comandos .

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

Salida de muestra
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

Además, si necesita archivos de encabezado para que glibc los utilice el kernel de Linux, instale el paquete kernel-header usando el siguiente comando.

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

Ahora está listo para comenzar a compilar sus propios módulos de kernel o los existentes para software como VirtualBox y muchos más.

¡Eso es todo! En este artículo, hemos explicado cómo instalar los paquetes kernel-devel y kernel-header en CentOS/RHEL 7 y Fedora sistemas. Recuerde que antes de poder compilar módulos del kernel, como el controlador de dispositivo, en un sistema Linux, debe tener instalados los archivos de encabezado del kernel necesarios. Si tiene consultas, utilice el formulario de comentarios a continuación para comunicarse con nosotros.