Пакеты 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 пакеты обычно устанавливаются программой установки. В других дистрибутивах вы должны сами установить пакеты, если они не установлены или это не те версии, которые требуются.

Установлены ли необходимые пакеты?

Чтобы проверить, установлены ли пакеты, сделайте следующее:

  1. Выполните следующую команду, чтобы узнать версию ядра и необходимую версию GCC:

    $ cat /proc/version

    Эта команда возвращает примерно такие строки: Linux version 2.6.35.6 и gcc version 4.5.1

  2. Выполните следующие команды, чтобы узнать, установлен ли инструмент Make и компилятор GCC:

    $ make -v
    $ gcc -v

    Для gcc убедитесь, что команда возвращает ту же версию, что и в параметре версия gcc в шаге 1. Для инструмента make просто проверьте, что команда выполняется.

  3. Проверьте, установлена ли соответствующая версия пакетов для создания модулей ядра.

    • В Red Hat Enterprise Linux, CentOS и Fedora выполните следующую команду:

      $ yum list installed | grep kernel-devel
    • В Ubuntu выполните следующие команды:

      $ dpkg --get-selections | grep linux-headers
      $ dpkg --get-selections | grep linux-image

    В каждом из этих случаев убедитесь в том, что версии такие же, как в параметре Linux version в шаге 1.

  4. Чтобы выяснить, установлен ли интерпретатор Perl, выполните следующую команду:

    $ perl --version

    Если на экране отображаются сведения о версии Perl, это означает, что интерпретатор установлен.

  5. В Red Hat Enterprise Linux, CentOS и Fedora выполните следующую команду, чтобы проверить, установлена ли библиотека elfutils-libelf-devel:

    $ yum list installed | grep elfutils-libelf-devel

    Если на экране отображаются сведения о версии библиотеки, это означает, что библиотека установлена.

Установка пакетов из репозитория

В следующей таблице указано, как установить необходимые пакеты в различных дистрибутивах Linux.

Дистрибутив Linux Имена пакетов Как установить

Red Hat Enterprise Linux

kernel-devel
gcc
make
elfutils-libelf-devel

Программа установки загрузит и установит пакеты автоматически по вашей подписке на Red Hat.

perl

Выполните следующую команду:

$ yum install perl

CentOS
Fedora

kernel-devel
gcc
make
elfutils-libelf-devel

Программа установки загрузит и установит пакеты автоматически.

perl

Выполните следующую команду:

$ yum install perl

Ubuntu
Debian

linux-headers
linux-image
gcc
make
perl

Выполните следующие команды:

$ 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

SUSE Linux
OpenSUSE

kernel-source
gcc
make
perl

Выполните следующие команды:

$ sudo zypper install kernel-source
$ sudo zypper install gcc
$ sudo zypper install make
$ sudo zypper install perl

Astra Linux

rpm
gcc
make
linux-headers

Дополнительно для ядер версии 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.

ALT Linux

kernel-source
kernel-headers-modules
gcc
make

Выполните следующие команды:

$ su -
# apt-get install kernel-source-<x.x>
(где <x.x> – версия ядра)
# 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

И перезагрузите систему.

РЕД ОС 7

kernel-lt-devel
kernel-lt-headers

Выполните следующие команды:

$ sudo yum install kernel-lt-devel
$ sudo yum install kernel-lt-headers
$ sudo yum install gcc
$ sudo yum install make

Желательно также полностью обновить систему:

$ sudo yum update

И затем перезагрузить ее.

Пакеты будут загружены из репозитория дистрибутива и установлены.

Для других дистрибутивов Linux обратитесь к документации по дистрибутиву, чтобы выяснить точные имена необходимых пакетов и способы их установки.

Установка пакетов вручную

Возможно, необходимо будет установить пакеты вручную, если:

  • У машины нет активной подписки на Red Hat или подключения к Интернету.
  • Программе установки не удается найти версию kernel-devel или gcc, соответствующую версии ядра. Если доступная версия kernel-devel новее версии ядра, необходимо обновить ядро или установить соответствующую версию kernel-devel вручную.
  • Необходимые пакеты имеются в локальной сети, и вы не хотите тратить время на автоматический поиск и загрузку.

Загрузите пакеты из своей локальной сети или с веб-сайта надежного третьего поставщика и установите, как описано ниже.

  • В Red Hat Enterprise Linux, CentOS и Fedora выполните следующую команду как привилегированный пользователь:

    $ rpm -ivh PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
  • В Ubuntu выполните следующую команду:

    $ sudo dpkg -i PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3

Пример: Установка пакетов вручную в Fedora 14

Для установки необходимых пакетов в Fedora 14 на 32-разрядной машине выполните следующие шаги.

  1. Выполните следующую команду, чтобы узнать версию ядра и необходимую версию GCC:

    $ cat /proc/version

    Выходные данные этой команды включают следующее:

    Linux version 2.6.35.6-45.fc14.i686
    gcc version 4.5.1
  2. Получите пакеты kernel-devel и gcc, которые соответствуют этой версии ядра:

    kernel-devel-2.6.35.6-45.fc14.i686.rpm
    gcc-4.5.1-4.fc14.i686.rpm
  3. Получите пакет make для Fedora 14:

    make-3.82-3.fc14.i686
  4. Установите пакеты, выполнив следующую команду как привилегированный пользователь:

    $ 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

    Все эти пакеты можно указать в одной команде rpm. Установка этих пакетов может потребовать установки дополнительных пакетов для разрешения зависимостей.