Подключение к VDS по SSH: PuTTY, терминал и SSH-ключи
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Обновление ядра с apt/yum, проверка текущей версии ядра, настройка GRUB, откат к предыдущему ядру и безопасное управление ядром на Linux-серверах.
Ядро Linux — это основа операционной системы, связывающая аппаратное и программное обеспечение. Обновления ядра закрывают уязвимости безопасности, добавляют поддержку нового оборудования и улучшают производительность. В этом руководстве рассматривается процесс обновления ядра, настройка GRUB и откат к предыдущей версии ядра при возникновении проблем.
# Просмотр запущенной версии ядра
uname -r
# Подробная информация о ядре
uname -a
# Список всех установленных версий ядра (Ubuntu/Debian)
dpkg --list | grep linux-image
# RHEL/CentOS/AlmaLinux
rpm -qa | grep kernel
# Обновить список пакетов
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
# Обновить список пакетов
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 (Grand Unified Bootloader) — загрузчик в Linux-системах. Управляет тем, какое ядро загружается при наличии нескольких установленных версий.
# Список записей меню GRUB
grep -E "^menuentry|^submenu" /boot/grub/grub.cfg
# Читаемый формат
grep -E "menuentry '" /boot/grub/grub.cfg | head -20
# Текущее ядро по умолчанию
grub-editenv list
# Редактировать основной файл конфигурации 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
При перезагрузке сервера в меню GRUB:
Для удалённых серверов используйте функцию KVM/VNC-консоли в панели управления REXE для доступа к меню GRUB.
# Список установленных версий ядра
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
# Удалить проблемную версию ядра (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 позволяет быстро откатиться к предыдущей версии ядра при возникновении проблем.
Обновления безопасности следует применять как можно скорее после выпуска. Для Ubuntu LTS обновления безопасности можно применять автоматически с 'unattended-upgrades'. Крупные обновления версии ядра следует сначала тестировать в тестовой среде.
Используйте функцию KVM/VNC-консоли в панели управления REXE для доступа к меню GRUB. Выберите старую версию ядра в 'Дополнительных параметрах' для загрузки системы. Затем удалите проблемное ядро и обновите GRUB.
Обычно достаточно хранить 2-3 версии ядра: текущую и предыдущую. Слишком много старых версий ядра занимают место на диске. На Ubuntu 'sudo apt autoremove' автоматически очищает старые версии ядра.
Для удалённых серверов используйте функцию KVM/VNC-консоли в панели управления REXE. Альтернативно увеличьте значение GRUB_TIMEOUT в /etc/default/grub и установите GRUB_TIMEOUT_STYLE=menu, затем выполните 'sudo update-grub'.
Да, модули DKMS (Dynamic Kernel Module Support) автоматически перекомпилируются при обновлении ядра. Однако иногда могут возникать проблемы. Проверьте статус модулей DKMS с 'dkms status'. При проблемах перекомпилируйте с 'dkms install имя-модуля/версия'.
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Пошаговое руководство по RDP-подключению к Windows Server VDS: настройка, безопасность NLA, правило фильтрации Path Panel и устранение неполадок.
Смена операционной системы VDS через панель REXE: советы по резервному копированию, поддерживаемые дистрибутивы Linux и версии Windows Server.