Миграция с CentOS 7 на AlmaLinux 8 / AlmaLinux 9
Введение
Начиная с 30 июня 2024 года, операционная система CentOS 7 официально достигла конца срока поддержки (EOL, End of Life). Это означает, что она больше не получает обновления, исправления ошибок, критические патчи безопасности и новые функции. Использование CentOS 7 после этой даты создаёт серьёзные риски для безопасности и стабильности системы.
Чтобы сохранить работоспособность и безопасность серверов, настоятельно рекомендуется выполнить миграцию на поддерживаемую операционную систему. Одним из лучших вариантов является AlmaLinux.
Почему стоить выбрать именно AlmaLinux:
- корпоративный Linux-дистрибутив, управляемый сообществом;
- бинарно совместим с Red Hat Enterprise Linux (RHEL);
- бесплатный и с открытым исходным кодом;
- максимально близок по окружению и логике работы к CentOS.
В этой инструкции рассматривается процесс миграции с CentOS 7 на AlmaLinux 8 или AlmaLinux 9.
Шаг 1: Резервное копирование данных
Перед выполнением такого крупного обновления обязательно сделайте полный бэкап системы. Это критически важный шаг, который позволит восстановить сервер в случае ошибки или сбоя во время миграции.
Рекомендуется хранить резервные копии:
-
на отдельном диске;
-
на внешнем носителе;
-
на удалённом сервере резервного копирования.
Рекомендуемый список данных для резервного копирования:
-
Конфигурационные файлы системы (
/etc) -
Данные пользователей (
/home) -
Данные приложений
(базы данных, файлы веб-сайтов, данные CMS и т.д.) -
Пользовательские скрипты и задания cron
-
Конфигурации сервисов
-
Список установленных пакетов
-
Важные журналы логов (
/var/log) -
SSH-ключи и конфигурация SSH
-
Пользовательские сетевые настройки
-
Виртуальные хосты и контейнеры
-
Конфигурация почтового сервера
-
Настройки файрвола и системы безопасности
Чем полнее будет резервная копия, тем проще и быстрее будет восстановление системы при необходимости.
Шаг 2: Миграция
Обновление системы CentOS 7
Перед началом миграции необходимо убедиться, что система CentOS 7 полностью обновлена и использует актуальное ядро. Это снижает риск ошибок и конфликтов пакетов во время перехода на AlmaLinux.
Для начала убедимся, что на сервере действительно установлена CentOS 7.
Выполните команду:
cat /etc/centos-release
В выводе должно быть указано что-то вроде:
Если версия отличается, не продолжайте миграцию, так как данная инструкция предназначена именно для CentOS 7.
Обновление системы
1. Сделать резервную копию репозиториев (обязательно)
sudo mkdir -p /root/centos-repo-backup
sudo cp -a /etc/yum.repos.d/*.repo /root/centos-repo-backup/
2. Отключить mirrorlist и указать vault.centos.org
Отредактируйте все repo-файлы CentOS:
sudo sed -i \
-e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' \
/etc/yum.repos.d/CentOS-*.repo
Обратите внимание: используется именно vault.centos.org, а не mirror.centos.org.
3. Очистить кэш yum
sudo yum clean all
sudo yum makecache
4. Повторить обновление системы
sudo yum update -y
Если всё сделано правильно, обновление начнётся без ошибок.
Во время выполнения обновления не прерывайте процесс и дождитесь его полного завершения.
После завершения обновления обязательно выполните перезагрузку, чтобы система начала использовать последнюю версию ядра:
reboot
Установка репозитория EPEL
Для корректного выполнения процесса миграции требуется наличие репозитория EPEL (Extra Packages for Enterprise Linux). В нём содержатся дополнительные пакеты, которые могут понадобиться во время обновления и перехода на AlmaLinux.
sudo yum install epel-release -y
Установка скрипта миграции (Elevate)
На этом этапе мы установим инструмент Elevate, который используется для миграции с CentOS 7 на AlmaLinux.
Elevate основан на утилите Leapp и автоматизирует большую часть процесса обновления.
В процессе миграции Elevate:
- заменяет репозитории CentOS 7 на репозитории AlmaLinux 8;
- управляет установкой и удалением пакетов;
- адаптирует системные конфигурации под новую ОС;
- сохраняет пользовательские данные, что позволяет избежать или минимизировать ручную перенастройку системы после миграции.
1) Установка репозитория Elevate
Для начала установим пакет elevate-release, который добавляет официальный репозиторий проекта и его GPG-ключ:
sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm -E %rhel).noarch.rpm
2) Установка Leapp и данных для AlmaLinux
Теперь установим необходимые пакеты для миграции на AlmaLinux:
sudo yum install -y leapp-upgrade leapp-data-almalinux
Эти пакеты:
- предоставляют утилиту leapp;
- содержат правила и данные, необходимые именно для миграции на AlmaLinux.
3) Предварительная проверка перед обновлением (pre-upgrade)
Перед началом реального обновления обязательно нужно выполнить предварительную проверку системы.
Запустите команду:
Данная процедура займет 10-15 минут.
sudo leapp preupgrade
Что происходит на этом этапе
- утилита не устанавливает и не удаляет пакеты;
- выполняется анализ системы;
- выявляются потенциальные проблемы и несовместимости;
- формируется отчёт и рекомендации по исправлению.
Отчёт сохраняется в файле:
/var/log/leapp/leapp-report.txt
Обязательно внимательно изучите отчёт, особенно если на сервере есть:
- нестандартные конфигурации;
- сторонние пакеты;
- самописные сервисы.
В конце проверки вы можете увидеть предупреждение о пакете, который не существует в AlmaLinux, например связанном с PAM-модулем.
Чтобы увидеть детали, откройте файл ответов:
sudo cat /var/log/leapp/answerfile
В нашем случае видно, что модуль pam_pkcs11 больше не поддерживается в новых версиях ОС, так как был заменён на SSSD.
Оставление этого пакета в системе может привести к проблемам при обновлении.
Для продолжения миграции необходимо подтвердить удаление данного модуля:
sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
После внесения изменений обязательно запустите предварительную проверку ещё раз:
sudo leapp preupgrade
Убедитесь, что:
- критических ошибок больше нет;
- все необходимые подтверждения заданы;
- система готова к фактическому обновлению.
⚠️ ОЧЕНЬ ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ ⚠️
Прежде чем продолжать миграцию, обязательно тщательно изучите файл отчёта:
/var/log/leapp/leapp-report.txt
Игнорирование этого шага может привести к катастрофическим последствиям, включая:
- Полную потерю доступа к серверу;
- Повреждение системных конфигураций, включая PAM, сеть и файрвол;
- Сбой всех установленных сервисов и проектов;
- Невозможность восстановить данные без резервной копии;
- Неисправимые ошибки после обновления, которые потребуют переустановки системы.
Если у вас есть нестандартные настройки, кастомные сервисы, базы данных или веб-проекты - особенно внимательно проверяйте рекомендации отчёта.






