Как установить kernel-headers/devel-4.x на CentOS7

Вопрос или проблема

Я не могу понять, как установить kernel-headers/devel-4.x на CentOS7. Я хочу скомпилировать программу, используя заголовки более поздней версии ядра, не обновляя CentOS.

Я использую CentOS 7.9 (ядро: 3.10.0-1160.24.1.el7.x86_64), но этот вопрос относится к любому уровню CentOS7.

Я пробовал:

yum install kernel-devel-4.18.0-240.15.1.el8_3.x86_64

И

yum install https://vault.centos.org/8.3.2011/BaseOS/Source/SPackages/kernel-4.18.0-240.15.1.el8_3.src.rpm

Вот мой список репозиториев:

# yum repolist
Загруженные плагины: fastestmirror, ovl
Загрузка скоростей зеркал из кэшированного файла
epel/x86_64/metalink                                                                                                                                                                   | 4.6 kB  00:00:00
 * base: la.mirrors.clouvider.net
 * epel: mirror.twinlakes.net
 * extras: mirror.keystealth.org
 * updates: centos.mirror.ndchost.com
epel                                                                                                                                                                                   | 4.7 kB  00:00:00
(1/3): epel/x86_64/group_gz                                                                                                                                                            |  96 kB  00:00:00
(2/3): epel/x86_64/updateinfo                                                                                                                                                          | 1.0 MB  00:00:00
(3/3): epel/x86_64/primary_db                                                                                                                                                          | 6.9 MB  00:00:00
repo id                                                                              repo name                                                                                                          status
base/7/x86_64                                                                        CentOS-7 - Base                                                                                                    10072
epel/x86_64                                                                          Дополнительные пакеты для Enterprise Linux 7 - x86_64                                                                     13576
extras/7/x86_64                                                                      CentOS-7 - Extras                                                                                                    468
updates/7/x86_64                                                                     CentOS-7 - Updates                                                                                                  1924
repolist: 26040

Мне нужно добавить репозиторий здесь? Я не смог этого выяснить.

Версия ядра, которую вы рассматриваете, является ядром CentOS 8, которое недоступно на CentOS 7.

Если вы хотите более новое ядро на CentOS7, вы можете получить ядро 5.4 в настоящее время с помощью пакета ELRepo kernel-lt (текущее “долгосрочное” ядро на апрель 2021 года) или ядро 5.11 с пакетом kernel-ml (основное ядро). Каждый из них имеет свои собственные пакеты -devel и связанные.

Я бы предложил пакеты ELrepo вместо того, чтобы пытаться запустить ядро CentOS 8 на CentOS 7.

Ответ или решение

Установка заголовков ядра и пакета разработки ядра (kernel-headers/devel) определённой версии на CentOS 7 требует внимательного подхода, особенно если необходимо использовать заголовки более новой версии ядра, чем та, что установлена в вашей системе. В данном ответе мы рассмотрим основные шаги, необходимые для установки заголовков и разработок ядра на CentOS 7, основываясь на ваших требованиях.

Шаг 1: Проверка текущей версии ядра

Перед началом установки важно убедиться в том, какая версия ядра установлена на вашей системе. Это можно сделать с помощью следующей команды:

uname -r

Если вы видите, что ваша версия ядра — 3.10.0-1160.el7.x86_64, значит, вам нужно установить пакеты для более поздних версий ядра, например, 4.x или даже 5.x.

Шаг 2: Установка ELRepo

CentOS 7 не поддерживает более новые версии ядра, такие как 4 или 5, из официальных репозиториев. Вместо этого, рекомендуем использовать репозиторий ELRepo, который предлагает альтернативные версии ядра.

  1. Сначала установите репозиторий ELRepo:
sudo yum install epel-release
sudo yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
  1. После установки, активируйте репозиторий с ядрами:
sudo yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-devel

или для основной версии ядра:

sudo yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel

Шаг 3: Установка необходимых пакетов

После успешной установки репозитория ELRepo вы можете установить нужные вам пакеты:

sudo yum install kernel-lt-devel # или kernel-ml-devel для основной версии

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

Шаг 4: Перезагрузка системы

После установки нового ядра не забудьте перезагрузить вашу систему для применения изменений:

sudo reboot

Шаг 5: Проверка новой версии ядра

После перезагрузки проверьте, установилась ли новая версия ядра:

uname -r

Убедитесь, что отображается версия нового ядра (например, 5.4.x или 5.11.x).

Шаг 6: Установка других зависимостей

При компиляции вашего программного обеспечения могут потребоваться дополнительные пакеты разработки. Установите их с помощью:

sudo yum groupinstall "Development Tools"

Заключение

В приведённых выше инструкциях вы узнали, как установить заголовки и пакеты разработки для более новых версий ядра на CentOS 7 с помощью репозитория ELRepo. Это решение позволяет вам компилировать программы с использованием более современных возможностей ядра без необходимости обновления самой системы CentOS. Если у вас возникнут дополнительные вопросы по этому процессу, не стесняйтесь задавать их.

Оцените материал
Добавить комментарий

Капча загружается...