Миграция с CentOS 7 на AlmaLinux 8 / 9 / 10
Введение
Начиная с 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, сеть и файрвол;
- Сбой всех установленных сервисов и проектов;
- Невозможность восстановить данные без резервной копии;
- Неисправимые ошибки после обновления, которые потребуют переустановки системы.
Если у вас есть нестандартные настройки, кастомные сервисы, базы данных или веб-проекты - особенно внимательно проверяйте рекомендации отчёта.
Миграция с CentOS 7 на AlmaLinux 8
После того как вы внимательно изучили отчёт preupgrade и убедились, что нет критических проблем, можно приступать к непосредственной миграции.
1) Запуск миграции
sudo leapp upgrade
Эта команда:
- заменяет репозитории CentOS на репозитории AlmaLinux 8;
- обновляет пакеты ядра и системные библиотеки;
- применяет изменения к конфигурации системы;
- сохраняет пользовательские данные и большинство настроек.
Процесс займет минут 20. Не прерывайте его!
2) Перезагрузка сервера
После выполнения leapp upgrade система требует перезагрузки:
sudo reboot
Особенности перезагрузки:
- SSH-соединение будет потеряно.
- Во время загрузки появится специальный пункт загрузки Leapp (Leapp Upgrade Boot Entry).
- Leapp автоматически применит все обновления ядра и системных пакетов.
- После завершения процесс снова перезагрузится для запуска уже обновлённой AlmaLinux 8.
Обновление займет 20-40 минут. Не вмешивайтесь и не выключайте сервер во время этого процесса.
3) Проверка версии ОС
После успешной перезагрузки и входа на сервер, убедитесь, что система обновлена:
cat /etc/os-release
Ожидаемый результат (пример для AlmaLinux 8.10):
Это подтверждение, что миграция прошла успешно и AlmaLinux работает.
После миграции
Проверьте все сервисы (SSH, веб-серверы, базы данных, контейнеры) — они должны работать корректно. Если были выгружены старые драйверы (floppy, pata_acpi) - убедитесь, что это не повлияло на доступ к дискам и периферии.
Выполните полное обновление AlmaLinux 8:
sudo dnf update -y
Обновите список установленных пакетов:
sudo dnf list installed
Заключение
Сервер успешно обновлён с CentOS 7 до AlmaLinux 8. Система теперь работает на актуальной поддерживаемой версии.








