Обновление ядра и управление GRUB: безопасное руководство
Обновление ядра с apt/yum, проверка текущей версии ядра, настройка GRUB, откат к предыдущему ядру и безопасное управление ядром на Linux-серверах.
Содержание
Обновление ядра и управление GRUB: безопасное руководство
Ядро Linux — это основа операционной системы, связывающая аппаратное и программное обеспечение. Обновления ядра закрывают уязвимости безопасности, добавляют поддержку нового оборудования и улучшают производительность. В этом руководстве рассматривается процесс обновления ядра, настройка GRUB и откат к предыдущей версии ядра при возникновении проблем.
Проверка текущей версии ядра
# Просмотр запущенной версии ядра
uname -r
# Подробная информация о ядре
uname -a
# Список всех установленных версий ядра (Ubuntu/Debian)
dpkg --list | grep linux-image
# RHEL/CentOS/AlmaLinux
rpm -qa | grep kernel
Обновление ядра
Обновление ядра на Ubuntu/Debian
# Обновить список пакетов
sudo apt update
# Список доступных обновлений
apt list --upgradable | grep linux
# Обновить всю систему (включая ядро)
sudo apt upgrade -y
# Обновить только ядро
sudo apt install linux-image-generic linux-headers-generic
# Установить конкретную версию ядра
sudo apt install linux-image-5.15.0-91-generic
# Перезагрузить после обновления
sudo reboot
Обновление ядра на RHEL/CentOS/AlmaLinux
# Обновить список пакетов
sudo dnf update
# Обновить только ядро
sudo dnf update kernel
# Список установленных версий ядра
sudo dnf list installed kernel
# Перезагрузить после обновления
sudo reboot
После обновления ядра требуется перезагрузка. Сохраните все важные данные и запишите запущенные службы перед перезагрузкой.
Проверка после обновления
# Проверить новую версию ядра
uname -r
# Проверить системные журналы
sudo journalctl -b | head -50
# Проверить критические службы
sudo systemctl status nginx
sudo systemctl status mysql
Настройка GRUB
GRUB (Grand Unified Bootloader) — загрузчик в Linux-системах. Управляет тем, какое ядро загружается при наличии нескольких установленных версий.
Просмотр меню GRUB
# Список записей меню GRUB
grep -E "^menuentry|^submenu" /boot/grub/grub.cfg
# Читаемый формат
grep -E "menuentry '" /boot/grub/grub.cfg | head -20
# Текущее ядро по умолчанию
grub-editenv list
Файл конфигурации GRUB
# Редактировать основной файл конфигурации GRUB
sudo nano /etc/default/grub
# Важные параметры GRUB:
# Выбор ядра по умолчанию (0 = первое, 1 = второе и т.д.)
GRUB_DEFAULT=0
# Время ожидания меню (секунды)
GRUB_TIMEOUT=5
# Всегда показывать меню
GRUB_TIMEOUT_STYLE=menu
# Параметры ядра
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
# Обновить конфигурацию GRUB
sudo update-grub # Ubuntu/Debian
sudo grub2-mkconfig -o /boot/grub2/grub.cfg # RHEL/CentOS
Изменение ядра по умолчанию
# Список записей меню GRUB с номерами
awk -F\' '/menuentry / {print i++" : "$2}' /boot/grub/grub.cfg
# Изменить ядро по умолчанию (индекс с 0)
sudo grub-set-default 1
# Проверить изменение
grub-editenv list
# Обновить GRUB
sudo update-grub
Откат к предыдущей версии ядра
Метод 1: Ручной выбор из меню GRUB
При перезагрузке сервера в меню GRUB:
- Выберите Дополнительные параметры для Ubuntu
- Выберите старую версию ядра из списка
- Нажмите Enter для загрузки
Для удалённых серверов используйте функцию KVM/VNC-консоли в панели управления REXE для доступа к меню GRUB.
Метод 2: Установка старой версии ядра по умолчанию
# Список установленных версий ядра
dpkg --list | grep linux-image | grep -v meta
# Найти полное имя записи меню
grep "menuentry '" /boot/grub/grub.cfg | grep "5.15.0-88"
# Установить по умолчанию
sudo grub-set-default "Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-88-generic"
# Обновить GRUB
sudo update-grub
# Перезагрузить
sudo reboot
Метод 3: Удаление проблемного ядра
# Удалить проблемную версию ядра (Ubuntu/Debian)
sudo apt remove linux-image-5.15.0-91-generic
sudo apt autoremove
# Обновить GRUB
sudo update-grub
Параметры ядра
# Просмотр текущих параметров ядра
cat /proc/cmdline
# Изменить параметр во время выполнения (временно)
sudo sysctl -w net.ipv4.ip_forward=1
# Постоянное изменение параметра
sudo nano /etc/sysctl.d/99-custom.conf
# Применить изменения
sudo sysctl -p
Распространённые параметры ядра
# Производительность сети
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
# Управление памятью
vm.swappiness = 10
vm.dirty_ratio = 15
# Файловая система
fs.file-max = 2097152
Безопасная стратегия обновления для производственных серверов
# 1. Создать резервную копию
rsync -avz /var/www/ backup-server:/backup/
# 2. Сначала протестировать в тестовой среде
# 3. Запланировать окно обслуживания
# Обновлять в часы низкого трафика
# 4. Обновить и перезагрузить
sudo apt update && sudo apt upgrade -y
sudo reboot
# 5. Проверить службы
sudo systemctl status nginx mysql
Не применяйте обновления ядра на производственных серверах немедленно — сначала протестируйте их в тестовой среде. Для критических систем планируйте окно обслуживания.
Устранение неполадок
Система не загружается после обновления ядра
# Доступ к меню GRUB через KVM-консоль REXE
# Выбрать старое ядро в дополнительных параметрах
# После загрузки со старым ядром удалить проблемное
sudo apt remove linux-image-[проблемная-версия]
sudo update-grub
Модуль ядра не загружается
# Список загруженных модулей
lsmod
# Загрузить модуль
sudo modprobe имя-модуля
# Проверить журналы ядра
sudo dmesg | tail -50
Заключение
Обновления ядра критически важны для безопасности и производительности Linux-серверов. Регулярные обновления ядра закрывают уязвимости и позволяют использовать новые функции. Понимание конфигурации GRUB позволяет быстро откатиться к предыдущей версии ядра при возникновении проблем.
Связанные статьи
Подключение к VDS по SSH: PuTTY, терминал и SSH-ключи
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Подключение к Windows VDS по RDP: полное руководство
Пошаговое руководство по RDP-подключению к Windows Server VDS: настройка, безопасность NLA, правило фильтрации Path Panel и устранение неполадок.
Смена ОС VDS-сервера: пошаговое руководство (Reinstall)
Смена операционной системы VDS через панель REXE: советы по резервному копированию, поддерживаемые дистрибутивы Linux и версии Windows Server.