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

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

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

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

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

Введение

AlmaLinux 8 будет получать обновления безопасности до 31 мая 2029 года, однако активная поддержка завершилась 31 мая 2024 года. Чтобы сохранить доступ к актуальным функциям, улучшениям и полноценной поддержке, рекомендуется выполнить обновление до более новой версии AlmaLinux 9.

Обновление

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

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

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

sudo nano /etc/yum.conf

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

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

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

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

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

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

sudo nano /etc/dnf/dnf.conf

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

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

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

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

rpm -qa | grep '\.el7'

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

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

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

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

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

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

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

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

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

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

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

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

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

sudo yum install -y leapp-upgrade leapp-data-almalinux

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

7. Отключение SELinux

Для перехода с AlmaLinux 8 на AlmaLinux 9 рекомендуется временно отключить SELinux.

Откройте файл конфигурации:

sudo nano /etc/sysconfig/selinux

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

Измените параметр:

SELINUX=disabled

После этого перезагрузите систему:

sudo reboot
8. Отключение ZoneDrifting в firewalld

После перезагрузки отредактируйте конфигурацию firewalld:

sudo nano /etc/firewalld/firewalld.conf

Установите параметр:

AllowZoneDrifting=no

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

9. Предварительная проверка перед обновлением

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

sudo leapp preupgrade
10. Подтверждение автоматических ответов leapp

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

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

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

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

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

Если в отчёте требуется подтверждение связного с использованием VDO, выполните:

sudo leapp answer --section check_vdo.no_vdo_devices=True
11. Исправление проблем с сетевой конфигурацией

В отчёте leapp может появиться ошибка вида:

Network configuration for unsupported device types detected

RHEL 9 не поддерживает устаревшие network-scripts, поэтому рекомендуется удалить соответствующие файлы конфигурации, например:

sudo rm /etc/sysconfig/network-scripts/ifcfg-enp0s3

Имя файла может отличаться, ориентируйтесь на данные из отчёта leapp.

12. Удаление конфликтующих пакетов

Пакет make-devel часто вызывает проблемы при обновлении и рекомендуется к удалению:

sudo dnf remove make-devel
13. Запуск обновления

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

sudo leapp upgrade

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

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

sudo reboot

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

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

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

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

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

cat /etc/os-release

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

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

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

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

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

В процессе подготовки и выполнения обновления временно отключались или изменялись некоторые компоненты системы (например, SELinux, отдельные параметры firewalld, настройки SSH и другие службы). После завершения обновления и успешной проверки работоспособности системы необходимо вернуть все ранее отключённые или изменённые параметры в исходное состояние. Это требуется для восстановления штатного уровня безопасности и корректной работы системы.

Заключение

Обновление с устаревшей версий AlmaLinux 8 до актуальной AlmaLinux 9 позволяет сохранить безопасность, поддержку и совместимость системы. При корректной подготовке и внимательном анализе отчётов leapp обновление проходит с минимальными рисками и без серьёзных простоев.