Миграция с AlmaLinux 8 на AlmaLinux 9
| Уровень сложности | Средний |
| Права root | Требуются |
| Требования | Терминал Linux, VNC/IPMI |
| Категория | Обновление/Миграция |
| Совместимость с ОС | AlmaLinux 8 |
| Примерное время чтения | 1 час |
Введение
AlmaLinux 8 будет получать обновления безопасности до 31 мая 2029 года, однако активная поддержка завершилась 31 мая 2024 года. Чтобы сохранить доступ к актуальным функциям, улучшениям и полноценной поддержке, рекомендуется выполнить обновление до более новой версии AlmaLinux.AlmaLinux 9.
Обновление
Перед началом обновления необходимо очистить систему от остатков предыдущих миграций и устаревших пакетов.
1. Проверка и очистка конфигурации yum
Откройте файл конфигурации yum и убедитесь, что в строке exclude нет параметров, связанных с elevate или leapp, оставшихся после предыдущих обновлений.
sudo nano /etc/yum.conf
Если при редактировании конфигурационных файлов возникает ошибка из-за отсутствия редактора nano, вы можете установить его командой sudo dnf install nano либо использовать уже установленный редактор vim для внесения изменений.
Если строка exclude присутствует, то удалите из неё все лишние значения либо очистите её полностью.
2. Проверка конфигурации dnf
Аналогичные изменения нужно выполнить и для dnf.
sudo nano /etc/dnf/dnf.conf
Если есть строка exclude, содержащая leapp, elevate или другие устаревшие записи - удалите их.
3. Поиск пакетов, оставшихся от CentOS 7
Проверьте, остались ли в системе пакеты, собранные под CentOS 7:
rpm -qa | grep '\.el7'
Если вывод не пустой - значит в системе присутствуют устаревшие пакеты.
Перед удалением рекомендуется посмотреть, используются ли они другими пакетами:
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
7. Отключение SELinux
Для перехода с AlmaLinux 8 на AlmaLinux 9 рекомендуется временно отключить SELinux.
Откройте файл конфигурации:
sudo nano /etc/sysconfig/selinux
Измените параметр:
SELINUX=disabled
После этого перезагрузите систему:
sudo reboot
8. Отключение ZoneDrifting в firewalld
После перезагрузки отредактируйте конфигурацию firewalld:
sudo nano /etc/firewalld/firewalld.conf
Установите параметр:
AllowZoneDrifting=no
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
Процесс может занять продолжительное время. По завершении выполните перезагрузку:
sudo reboot
Особенности перезагрузки:
- SSH-соединение будет потеряно.
- Во время загрузки появится специальный пункт загрузки Leapp (Leapp Upgrade Boot Entry).
- Leapp автоматически применит все обновления ядра и системных пакетов.
- После завершения процесс снова перезагрузится для запуска уже обновлённой AlmaLinux 9.
14. Проверка версии системы после обновления
После входа в систему проверьте текущую версию ОС:
cat /etc/os-release
Ожидаемый результат (пример для AlmaLinux 9.7):
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 обновление проходит с минимальными рисками и без серьёзных простоев.










