Перейти к основному контенту

Миграция с AlmaLinux 9 на AlmaLinux 10

intro-Migrating-AlmaLinux9-to-AlmaLinux10-planetahost.png

Подробности урока

Уровень сложности Средний
Права root Требуются
Требования Терминал Linux, VNC/IPMI
Категория Обновление/Миграция
Совместимость с ОС AlmaLinux 9
Примерное время чтения 1 час

Введение

Обновление до AlmaLinux 10 - это шаг в сторону актуальной платформы с более долгим жизненным циклом, современным ядром и обновлённым стеком системных компонентов. Для серверной инфраструктуры это означает своевременное получение обновлений безопасности, поддержку нового оборудования и соответствие текущим требованиям экосистемы RHEL-совместимых дистрибутивов.

В этой статье мы рассмотрим процесс миграции с AlmaLinux 9 на AlmaLinux 10, а также разберём возможные ограничения и нюансы, с которыми можно столкнуться при обновлении существующей системы.

Обновление

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

1. Проверка и очистка конфигурации yum

Откройте файл конфигурации yum и убедитесь, что в строке exclude нет параметров, связанных с elevate или leapp, оставшихся после предыдущих обновлений.

sudo nano /etc/yum.conf

Если при редактировании конфигурационных файлов возникает ошибка из-за отсутствия редактора nano, вы можете установить его командой sudo dnf install nano либо использовать уже установленный редактор vim для внесения изменений.

изображение.png

Если строка exclude присутствует, то удалите из неё все лишние значения либо очистите её полностью.

2. Проверка конфигурации dnf

Аналогичные изменения нужно выполнить и для dnf.

sudo nano /etc/dnf/dnf.conf

изображение.png

Если есть строка exclude, содержащая leapp, elevate или другие устаревшие записи - удалите их.

3. Поиск пакетов, оставшихся от AlmaLinux 8

Проверьте, остались ли в системе пакеты, собранные под AlmaLinux 8:

rpm -qa | grep '\.el8'

Если вывод не пустой - значит в системе присутствуют устаревшие пакеты.

изображение.png

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

for pkg in $(rpm -qa | grep '\.el8'); do
  rpm -q --whatrequires $pkg
done

изображение.png

Если зависимости отсутствуют или не критичны, удалите найденные пакеты:

sudo rpm -e $(rpm -qa | grep '\.el8')
4. Очистка и проверка пакетного менеджера

После удаления пакетов выполните очистку системы:

sudo dnf clean all
sudo dnf autoremove -y
sudo dnf check

Это освободит место, удалит неиспользуемые зависимости и проверит целостность базы пакетов.

5. Обновление системы

Перед миграцией надо обновить всю систему:

sudo dnf update

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

reboot
6. Установка пакета elevate-release

Подключите официальный репозиторий проекта Elevate:

sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
7. Установка leapp и данных миграции

Установите необходимые пакеты для обновления:

sudo yum install -y leapp-upgrade leapp-data-almalinux
8. Предварительная проверка перед обновлением

Запустите предварительный анализ системы:

sudo leapp preupgrade
9. Изучение отчёта leapp

Прежде чем продолжать обновление, обязательно тщательно изучите файл отчёта:

/var/log/leapp/leapp-report.txt

Игнорирование этого шага может привести к катастрофическим последствиям, включая:

  • Полную потерю доступа к серверу;
  • Повреждение системных конфигураций, включая PAM, сеть и файрвол;
  • Сбой всех установленных сервисов и проектов;
  • Невозможность восстановить данные без резервной копии;
  • Неисправимые ошибки после обновления, которые потребуют переустановки системы.

Если у вас есть нестандартные настройки, кастомные сервисы, базы данных или веб-проекты - особенно внимательно проверяйте рекомендации отчёта.

Вот с какими проблемами мы столкнулись при миграции (у вас может их не быть):

Проблема  с устаревшим network-scripts

На одной из старых машин, которая исторически обновлялась начиная с CentOS 7, сетевой интерфейс всё ещё был описан в формате network-scripts:

/etc/sysconfig/network-scripts/ifcfg-eth0

При подготовке системы к обновлению до AlmaLinux 10 это стало критичным, так как начиная с RHEL 9/10 данный механизм считается устаревшим, а управление сетью полностью должно осуществляться через NetworkManager.

Для корректной миграции была выполнена команда:

sudo nmcli connection migrate /etc/sysconfig/network-scripts/ifcfg-eth0

⚠️ Проблема с DHCP

Leapp выдавал ошибку “Deprecated DHCP plugin configured”, даже после того как были удалены все старые DHCP‑конфигурации, процессы dhclient и интерфейсы переведены на статический IP. Мы проверили множество вариантов исправления, но проблема не исчезла.

После изучения выяснилось, что это известный баг Leapp / RHEL‑upgrade-path (RHEL‑85022): система ошибочно считает, что используется устаревший DHCP‑плагин, даже если его нет. Это не ошибка конфигурации и не проблема конкретной машины, а баг присутствует в самом Leapp при попытке обновления AlmaLinux 9 до 10.

Интересно, что на машинах, где AlmaLinux изначально устанавливался сразу версии 8 или 9, такого поведения не наблюдалось - обновления прошли корректно.

В итоге мы не смогли обновить данную машину, даже используя флаги игнорирования ингибитора. Надо ждать исправления бага.

10. Запуск обновления

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

sudo leapp upgrade

изображение.png

Процесс может занять продолжительное время. По завершении выполните перезагрузку:

sudo reboot

Особенности перезагрузки:

  • SSH-соединение будет потеряно.
  • Во время загрузки появится специальный пункт загрузки Leapp (Leapp Upgrade Boot Entry).
  • Leapp автоматически применит все обновления ядра и системных пакетов.
  • После завершения процесс снова перезагрузится для запуска уже обновлённой AlmaLinux 10.

изображение.png

11. Проверка версии системы после обновления

После входа в систему проверьте текущую версию ОС:

cat /etc/os-release

Ожидаемый результат (пример для AlmaLinux 10.1):

изображение.png

12. Проверка логов и остатков старой версии

Рекомендуется проверить логи и удалить пакеты, оставшиеся от AlmaLinux 9:

rpm -qa | grep el9
sudo cat /var/log/leapp/leapp-report.txt
sudo cat /var/log/leapp/leapp-upgrade.log

Заключение

В результате всех подготовительных работ и устранения выявленных проблем обновление с AlmaLinux 9 до AlmaLinux 10 было успешно выполнено. Система корректно загрузилась, сетевые интерфейсы и основные сервисы работают штатно. Переход на AlmaLinux 10 позволил получить актуальную и поддерживаемую платформу, готовую к дальнейшей эксплуатации и обновлениям.

Теперь вы будете получать обновления и исправления в течение всего жизненного цикла AlmaLinux 10 - с активной поддержкой до 31 мая 2030 года и безопасности до 31 мая 2035 года, что обеспечивает длительную стабильность и актуальность системы в ближайшие годы