- kernel-devel.x86_64 on Rocky Linux 9
- 2. Uninstall / Remove kernel-devel.x86_64 package
- 3. Details of kernel-devel.x86_64 package
- 4. References on Rocky Linux 9
- Пакеты Linux
- Установлены ли необходимые пакеты?
- Установка пакетов из репозитория
- Установка пакетов вручную
- Пример: Установка пакетов вручную в Fedora
- Пакеты Linux
- Установлены ли необходимые пакеты?
- Установка пакетов из репозитория
- Установка пакетов вручную
- Пример: Установка пакетов вручную в Fedora 14
- Объясните простым языком, для чего нужен kernel-devel и почему Virtual Box без него не может нормально работать?
- Немного другой вопрос
kernel-devel.x86_64 on Rocky Linux 9
This guide let you learn how to install kernel-devel.x86_64 package:
2. Uninstall / Remove kernel-devel.x86_64 package
Here is a brief guide to show you how to uninstall kernel-devel.x86_64 package:
3. Details of kernel-devel.x86_64 package
Last metadata expiration check: 0:55:11 ago on Tue Sep 13 04:19:08 2022.
Available Packages
Name : kernel-devel
Version : 5.14.0
Release : 70.22.1.el9_0
Architecture : x86_64
Size : 15 M
Source : kernel-5.14.0-70.22.1.el9_0.src.rpm
Repository : appstream
Summary : Development package for building kernel modules to match the kernel
URL : https://www.kernel.org/
License : GPLv2 and Redistributable, no modification permitted
Description : This package provides kernel headers and makefiles sufficient to build modules
: against the kernel package.
4. References on Rocky Linux 9
python3-productmd.noarch (1.31)
gaupol.x86_64 (1.11)
texlive-texlive-common-doc.noarch (20200406)
php-seld-phar-utils.noarch (1.2.1)
perl-NTLM.noarch (1.09)
python3-justbases.noarch (0.15)
marble-widget-qt5.x86_64 (21.04.3)
python3-azure-sdk-tools.noarch (0.0.0~git.4.67d46b9)
ghc9.2-ghci-prof.x86_64 (9.2.4)
mysql-errmsg.x86_64 (8.0.28)
perl-Test-UseAllModules.noarch (0.17)
python3-portend.noarch (3.1.0)
opendbx-postgresql.x86_64 (1.4.6)
AMF-samples.noarch (1.4.24)
perl-HTTP-ProxyAutoConfig.noarch (0.3)
libdwarf-static.x86_64 (0.3.4)
Пакеты Linux
Чтобы добавить необходимые модули к ядру Linux, программе установки требуются перечисленные ниже пакеты Linux.
- Пакет с заголовками или исходными кодами ядра. Версия пакета должна соответствовать версии ядра.
- Набор компиляторов GNU Compiler Collection (GCC). Версия GCC должна быть той же, с которой было скомпилировано ядро.
- Инструмент Make.
- Интерпретатор Perl.
- Библиотеки libelf-dev , libelf-devel или elfutils-libelf-devel для сборки ядер не ниже 4.15 и настроены с параметром CONFIG_UNWINDER_ORC=y. Для некоторых дистрибутивов, например Fedora 28, их необходимо установить отдельно от заголовков ядра.
Имена этих пакетов зависят от используемого дистрибутива Linux.
В ОС Red Hat Enterprise Linux, CentOS и Fedora пакеты обычно устанавливаются программой установки. В других дистрибутивах вы должны сами установить пакеты, если они не установлены или это не те версии, которые требуются.
Установлены ли необходимые пакеты?
Чтобы проверить, установлены ли пакеты, сделайте следующее:
- Выполните следующую команду, чтобы узнать версию ядра и необходимую версию GCC:
$ yum list installed | grep kernel-devel
$ dpkg --get-selections | grep linux-headers
$ dpkg --get-selections | grep linux-image
В каждом из этих случаев убедитесь в том, что версии такие же, как в параметре Linux version в шаге 1.
$ yum list installed | grep elfutils-libelf-devel
Установка пакетов из репозитория
В следующей таблице указано, как установить необходимые пакеты в различных дистрибутивах Linux.
Программа установки загрузит и установит пакеты автоматически по вашей подписке на Red Hat.
Выполните следующую команду:
Программа установки загрузит и установит пакеты автоматически.
Выполните следующую команду:
Выполните следующие команды:
$ sudo apt-get update
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get install linux-image-$(uname -r)
$ sudo apt-get install gcc-
$ sudo apt-get install make
$ sudo apt-get install perl
Выполните следующие команды:
$ sudo zypper install kernel-source
$ sudo zypper install gcc
$ sudo zypper install make
$ sudo zypper install perl
Дополнительно для ядер версии 5.10 и новее:
flex
bison
Выполните следующие команды:
$ sudo apt install rpm
$ sudo apt install gcc
$ sudo apt install make
$ sudo apt-get install linux-headers-`uname -r`
$ sudo apt install flex
$ sudo apt install bison
Если используется Astra SE, пакеты необходимо установить с диска разработчика для текущей версии Astra.
Выполните следующие команды:
$ su -
# apt-get install kernel-source-
(где – версия ядра)
# apt-get install kernel-headers-modules-std-def
# apt-get install gcc
# apt-get install make
Если версия пакетов в репозитории новее версии текущего ядра, необходимо также обновить ядро:
$ su -
# apt-get update
# apt-get dist-upgrade
# update-kernel
Выполните следующие команды:
$ sudo yum install kernel-lt-devel
$ sudo yum install kernel-lt-headers
$ sudo yum install gcc
$ sudo yum install make
Желательно также полностью обновить систему:
Пакеты будут загружены из репозитория дистрибутива и установлены.
Для других дистрибутивов Linux обратитесь к документации по дистрибутиву, чтобы выяснить точные имена необходимых пакетов и способы их установки.
Установка пакетов вручную
Возможно, необходимо будет установить пакеты вручную, если:
- У машины нет активной подписки на Red Hat или подключения к Интернету.
- Программе установки не удается найти версию kernel-devel или gcc , соответствующую версии ядра. Если доступная версия kernel-devel новее версии ядра, необходимо обновить ядро или установить соответствующую версию kernel-devel вручную.
- Необходимые пакеты имеются в локальной сети, и вы не хотите тратить время на автоматический поиск и загрузку.
Загрузите пакеты из своей локальной сети или с веб-сайта надежного третьего поставщика и установите, как описано ниже.
- В Red Hat Enterprise Linux, CentOS и Fedora выполните следующую команду как привилегированный пользователь:
$ rpm -ivh PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
$ sudo dpkg -i PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
Пример: Установка пакетов вручную в Fedora
Для установки необходимых пакетов в Fedora выполните следующие шаги.
- Узнайте версии ядра и GCC. Например:
$ cat /proc/version
Linux version 2.6.35.6-45.fc14.i686
gcc version 4.5.1
kernel-devel-2.6.35.6-45.fc14.i686.rpm
gcc-4.5.1-4.fc14.i686.rpm
$ rpm -ivh kernel-devel-2.6.35.6-45.fc14.i686.rpm
$ rpm -ivh gcc-4.5.1.fc14.i686.rpm
$ rpm -ivh make-3.82-3.fc14.i686
Редакция от 28 июня 2023 г.
Пакеты Linux
Чтобы добавить необходимые модули к ядру Linux, программе установки требуются перечисленные ниже пакеты Linux.
- Пакет с заголовками или исходными кодами ядра. Версия пакета должна соответствовать версии ядра.
- Набор компиляторов GNU Compiler Collection (GCC). Версия GCC должна быть той же, с которой было скомпилировано ядро.
- Инструмент Make.
- Интерпретатор Perl.
- Библиотеки libelf-dev , libelf-devel или elfutils-libelf-devel для сборки ядер не ниже 4.15 и настроены с параметром CONFIG_UNWINDER_ORC=y. Для некоторых дистрибутивов, например Fedora 28, их необходимо установить отдельно от заголовков ядра.
Имена этих пакетов зависят от используемого дистрибутива Linux.
В ОС Red Hat Enterprise Linux, CentOS и Fedora пакеты обычно устанавливаются программой установки. В других дистрибутивах вы должны сами установить пакеты, если они не установлены или это не те версии, которые требуются.
Установлены ли необходимые пакеты?
Чтобы проверить, установлены ли пакеты, сделайте следующее:
- Выполните следующую команду, чтобы узнать версию ядра и необходимую версию GCC:
$ yum list installed | grep kernel-devel
$ dpkg --get-selections | grep linux-headers
$ dpkg --get-selections | grep linux-image
В каждом из этих случаев убедитесь в том, что версии такие же, как в параметре Linux version в шаге 1.
$ yum list installed | grep elfutils-libelf-devel
Установка пакетов из репозитория
В следующей таблице указано, как установить необходимые пакеты в различных дистрибутивах Linux.
Программа установки загрузит и установит пакеты автоматически по вашей подписке на Red Hat.
Выполните следующую команду:
Программа установки загрузит и установит пакеты автоматически.
Выполните следующую команду:
Выполните следующие команды:
$ sudo apt-get update
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get install linux-image-$(uname -r)
$ sudo apt-get install gcc-
$ sudo apt-get install make
$ sudo apt-get install perl
Выполните следующие команды:
$ sudo zypper install kernel-source
$ sudo zypper install gcc
$ sudo zypper install make
$ sudo zypper install perl
Дополнительно для ядер версии 5.10 и новее:
flex
bison
Выполните следующие команды:
$ sudo apt install rpm
$ sudo apt install gcc
$ sudo apt install make
$ sudo apt-get install linux-headers-`uname -r`
$ sudo apt install flex
$ sudo apt install bison
Если используется Astra SE, пакеты необходимо установить с диска разработчика для текущей версии Astra.
Выполните следующие команды:
$ su -
# apt-get install kernel-source-
(где – версия ядра)
# apt-get install kernel-headers-modules-std-def
# apt-get install gcc
# apt-get install make
Если версия пакетов в репозитории новее версии текущего ядра, необходимо также обновить ядро:
$ su -
# apt-get update
# apt-get dist-upgrade
# update-kernel
Выполните следующие команды:
$ sudo yum install kernel-lt-devel
$ sudo yum install kernel-lt-headers
$ sudo yum install gcc
$ sudo yum install make
Желательно также полностью обновить систему:
Пакеты будут загружены из репозитория дистрибутива и установлены.
Для других дистрибутивов Linux обратитесь к документации по дистрибутиву, чтобы выяснить точные имена необходимых пакетов и способы их установки.
Установка пакетов вручную
Возможно, необходимо будет установить пакеты вручную, если:
- У машины нет активной подписки на Red Hat или подключения к Интернету.
- Программе установки не удается найти версию kernel-devel или gcc , соответствующую версии ядра. Если доступная версия kernel-devel новее версии ядра, необходимо обновить ядро или установить соответствующую версию kernel-devel вручную.
- Необходимые пакеты имеются в локальной сети, и вы не хотите тратить время на автоматический поиск и загрузку.
Загрузите пакеты из своей локальной сети или с веб-сайта надежного третьего поставщика и установите, как описано ниже.
- В Red Hat Enterprise Linux, CentOS и Fedora выполните следующую команду как привилегированный пользователь:
$ rpm -ivh PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
$ sudo dpkg -i PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
Пример: Установка пакетов вручную в Fedora 14
Для установки необходимых пакетов в Fedora 14 на 32-разрядной машине выполните следующие шаги.
- Выполните следующую команду, чтобы узнать версию ядра и необходимую версию GCC:
Linux version 2.6.35.6-45.fc14.i686
gcc version 4.5.1
kernel-devel-2.6.35.6-45.fc14.i686.rpm
gcc-4.5.1-4.fc14.i686.rpm
$ rpm -ivh kernel-devel-2.6.35.6-45.fc14.i686.rpm
$ rpm -ivh gcc-4.5.1.fc14.i686.rpm
$ rpm -ivh make-3.82-3.fc14.i686
Редакция от 11 июля 2023 г.
Объясните простым языком, для чего нужен kernel-devel и почему Virtual Box без него не может нормально работать?
Как я понимаю, VBox как-то интегрируется в ядро, а kernel-devel нужен чтобы эту интеграцию осуществить?
Перемещено mono из talks
Это набор хедеров, которые нужны для сборки модулей ядра VirtualBox конкретно под твою версию ядра.
чтобы модули для ядра собрать
во многих дистрах все собрано и не нужны пользователю эти devel пакеты.
…в принципе, как и сам vbox…
Я же просил простым языком:) Что такое хедеры? Т.е. более низкоуровневое определение можно?
заголовочные файлы языка С
Это набор каких-то инструкций, правил по которым модули ядра собираются конкретно под мою версию ядра?
Это описания функций и данных, которые необходимы исходному коду ядра.
Модули VBox должны быть собраны под конкретное ядро. kernel-devel — исходники для сборки модулей ядра, которые требуются для такой сборки.
Поломался vbox? Не можешь установить? Не хватает linux-headers после apt-get upgrade?
А зачем вообще виртуалбоксу ядрёный модуль? Почему бы ему не работать через kvm?
Хотя бы потому, что KVM есть только под Линукс.
Потому, что согласно линакс-way «stable API is nonsense», а уж ABI — тем более, и поэтому, надо ломать его с каждой новой версией. Соответственно, для каждой версии ведра нужно собирать свои драйвера, и хорошо, если собирать, а не переписывать. Такое вот «defective by design».
thunar ★★★★★ ( 30.08.16 17:14:29 MSK )
Последнее исправление: thunar 30.08.16 17:18:17 MSK (всего исправлений: 4)
Немного другой вопрос
Почему вообще обязательно иметь kernel space шляпу для виртуализации, нельзя ли как-то обойтись юзерспейсом?
Сомневаюсь, что ядерный модуль линукса просто так скомпилируется, скажем, для windows, для него всё равно придётся писать отдельный драйвер
а какой у bochs перфоманс? Я недавно запускал qemu без драйверов на залоченной винде, там всё было очень печально, к сожалению 🙁
А это как вообще? Когда нельзя в ring0 ничего выполнить? Так это все ломается, было бы желание