Пакеты Linux

Пакеты 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-<package version>
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

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

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

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

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

  • У машины нет активной подписки на Red Hat или подключения к Интернету.

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

  • Необходимые пакеты имеются в локальной сети, и вы не хотите тратить время на автоматический поиск и загрузку.

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

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

    rpm -ivh ФАЙЛ_ПАКЕТА1 ФАЙЛ_ПАКЕТА2 ФАЙЛ_ПАКЕТА3
    
  • В Ubuntu выполните следующую команду:

    sudo dpkg -i ФАЙЛ_ПАКЕТА1 ФАЙЛ_ПАКЕТА2 ФАЙЛ_ПАКЕТА3