Как установить заголовки ядра в CentOS 7
Когда вы компилируете собственный модуль ядра, такой как драйвер устройства, в системе CentOS, вам необходимо установить в системе файлы заголовков ядра, которые включают файлы заголовков C для ядро Linux. Файлы заголовков ядра предоставляют различные виды определений функций и структур, необходимые при установке или компиляции любого кода, взаимодействующего с ядром.
При установке Заголовков ядра убедитесь, что они соответствуют текущей версии ядра, установленной в системе. Если ваша версия ядра поставляется с дистрибутивом по умолчанию или вы обновили ядро с помощью менеджера пакетов yum из базовых репозиториев системы, то вам необходимо установить соответствующие заголовки ядра только с помощью менеджера пакетов. Если вы скомпилировали ядро из исходников, вы можете устанавливать заголовки ядра только из исходников.
Читайте также: как установить заголовки ядра в Ubuntu и Debian
В этой статье мы объясним, как установить Заголовки ядра в дистрибутивах CentOS/RHEL 7 и Fedora с помощью диспетчера пакетов по умолчанию.
Установите заголовки ядра в CentOS 7
Сначала убедитесь, что соответствующие заголовки ядра уже установлены в папке /usr/src/kernels/ в вашей системе, используя следующие команды.
cd /usr/src/kernels/
ls -l
Если в каталоге /usr/src/kernels/ нет соответствующих заголовков ядра, установите заголовки ядра, которые предоставляются пакетом kernel-devel, который может установить с помощью менеджера пакетов по умолчанию, как показано.
yum install kernel-devel [On CentOS/RHEL 7]
dnf install kernel-devel [On Fedora 22+]
После установки пакета kernel-devel вы можете найти все файлы заголовков ядра в каталоге /usr/src/kernels, используя следующую команду.
ls -l /usr/src/kernels/$(uname -r)
Обратите внимание, что на VPS (например, Linode VPS) ядро может иметь индивидуальное имя версии. В таком случае вам придется вручную определить версию ядра и проверить установленные заголовочные файлы ядра, используя следующие команды. .
uname -r
ls -l /usr/src/kernels/3.10.0-862.2.3.el7.x86_64
Пример вывода
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
Кроме того, если вам нужны файлы заголовков для ядра Linux для использования glibc, установите пакет kernel-header, используя следующую команду.
yum install kernel-headers [On CentOS/RHEL 7]
dnf install kernel-headers [On Fedora 22+]
Теперь вы можете приступить к компиляции собственных или существующих модулей ядра для такого программного обеспечения, как VirtualBox и многих других.
Вот и все! В этой статье мы объяснили, как установить пакеты kernel-devel и kernel-header в CentOS/RHEL 7 и Fedora<. системы. Помните, что прежде чем вы сможете скомпилировать модули ядра, такие как драйвер устройства, в системе Linux, у вас должны быть установлены необходимые файлы заголовков ядра. Если у вас есть вопросы, пожалуйста, используйте форму комментариев ниже, чтобы связаться с нами.