Три способа обновления ядра системы CentOS на промышленных компьютерах
При использовании CentOS обновление ядра неизбежно, но иногда из-за проблем с зависимостями компиляции исходного кода не все программы поддерживают последнюю версию ядра. Поэтому ниже будут рассмотрены три способа обновления ядра.
Примечание:
О типах ядра:
Аббревиатура ml в kernel-ml — это сокращение от [mainline stable] на английском языке, а последняя стабильная версия основной ветки указана в elrepo-kernel.
Аббревиатура lt в kernel-lt — это сокращение от [long term support] на английском языке, а версия с долгосрочной поддержкой указана в elrepo-kernel.
Проверьте версию ядра.
имя -р

Оглавление
1. Установка Yum
1. Импортируйте исходный код репозитория.
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2. Просмотрите устанавливаемые пакеты.
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
kernel-ml.x86_64
3. Выберите версию ML или LT для установки.
Если версия не указана, по умолчанию устанавливается последняя версия.
Установить версию ML
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
Установите версию LT, выберите её для всех приложений Kubernetes.
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. Проверьте текущую последовательность загрузки ядра.
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. Измените элемент загрузки по умолчанию.
xxx — это серийный номер, который указывает, что загрузочным элементом является x-й элемент в списке загрузки, и отсчет по x начинается с 0.
grub2-set-default xxxx
Например, если вы хотите настроить загрузку с ядром 4.4.
Затем введите напрямую "grub2-set-default 0", и при следующем запуске вы сможете начать с версии 4.4.
Проверьте последовательность загрузки ядра.
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)
Установите порядковый номер загрузки.
[root@localhost ~] grub2-set-default 0
Перезагрузить
перезагрузить
Проверьте версию ядра.
имя -р
2. Установка RPM
Проверьте версию ядра.
имя -р
1. Найдите версию
Поскольку исходный код ELRepo содержит последнюю версию, старую версию ядра можно загрузить только вручную.
Найдите историческую версию пакета kernel rpm:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. Вам необходимо загрузить три типа RPM-файлов.
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
headers-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.об/мин
3. Установите ядро.
rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
или
#Установите все в один клик
об/мин -Uvh *.rpm
4. Подтвердите установленную версию ядра.
[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-4.4.215-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64
5. Настройка запуска
Проверьте порядок запуска.
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
Установите порядок загрузки.
[root@localhost ~]# grub2-set-default 0
Для вступления изменений в силу перезагрузите компьютер.
[root@localhost ~]# reboot
3. Установка исходного кода
1. Установите основной пакет программного обеспечения.
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Создайте каталог для компиляции ядра.
Используйте каталог kernelbuild в домашней директории.
mkdir ~/kernelbuild
3. Получите исходный код ядра.
Зеркальный сайт Университета Цинхуа:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
Адрес для загрузки другого установочного пакета исходного кода:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
Оба формата приемлемы, но tar.xz имеет более высокую степень сжатия и меньший размер файла.
Скачать онлайн: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. Распакуйте код ядра.
После распаковки перейдите в каталог с исходным файлом:
tar -xvJf Linux-4.17.11.tar.xz
Чтобы убедиться в полной чистоте дерева ядра, перейдите в каталог ядра и выполните команду make mrproper:
cd linux-4.17.11
сделать чистым и сделать правильным
5. Конфигурация ядра
Скопируйте текущий файл конфигурации ядра.
config-3.10.0-862.el7.x86_64 — это файл конфигурации ядра для моей текущей среды, измените его в соответствии с фактической ситуацией.
cp /boot/config-3.10.0-862.el7.x86_64 .config
Расширенная конфигурация
Параметр y включен, параметр n выключен, а параметр m включается при необходимости.
make menuconfig: старый интерфейс ncurses заменен на nconfig
make nconfig: Новый интерфейс командной строки ncurses
6. Скомпилируйте и установите.
Скомпилируйте ядро.
Если у вас четырехъядерный компьютер, x может быть равно 8.
make -jx
Установите ядро
После компиляции ядра выполните установку: Внимание: Для выполнения команд далее требуются права root, иначе установка завершится неудачей.
make modules_install install
7. Настройка запуска
Проверьте последовательность запуска.
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
Установить порядок загрузки
[root@localhost ~]# grub2-set-default 0
Для вступления изменений в силу перезагрузите компьютер.
[root@localhost ~]# reboot
LET'S TALK ABOUT YOUR PROJECTS
- sinsmarttech@gmail.com
-
3F, Block A, Future Research & Innovation Park, Yuhang District, Hangzhou, Zhejiang, China
Our experts will solve them in no time.

ПК для установки в стойку
Встроенные вычисления
Промышленные портативные компьютеры
Защищенные планшеты
Прочный ноутбук
Промышленный панельный ПК
Прочный портативный
Промышленный ПК Advantech