К основному содержимому

Миграция с CentOS 8 на Rocky Linux или AlmaLinux

VDS / VPS · 19.04.2026 · 4 мин чтения
Иллюстрация к статье «Миграция с CentOS 8 на Rocky Linux или AlmaLinux»

В декабре 2021 года CentOS 8 достиг конца жизни (EOL). Если ваш сервер до сих пор работает на CentOS 8 — он не получает обновления безопасности. Необходима срочная миграция.

Сравнение преемников CentOS

ДистрибутивСпонсорВерсииEOL (v9)
Rocky LinuxRocky Enterprise Software Foundation8, 92032
AlmaLinuxCloudLinux8, 92032
CentOS StreamRed Hat9, 102027
RHEL (платный)Red Hat8, 92032
💡 Что выбрать: Rocky Linux и AlmaLinux одинаково хороши. Rocky чуть консервативнее, AlmaLinux имеет больший вклад от сообщества. Оба обеспечивают бинарную совместимость с RHEL.

Миграция CentOS 8 → AlmaLinux 8

# Скачать официальный скрипт миграции
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh

# Запустить (обязательно в screen!)
sudo screen -S migration
sudo bash almalinux-deploy.sh

# После завершения — перезагрузка
sudo reboot

# Проверить результат
cat /etc/almalinux-release
rpm -qa | grep almalinux

Миграция CentOS 8 → Rocky Linux 8

# Скачать скрипт migrate2rocky
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
chmod +x migrate2rocky.sh

# Запустить в screen
sudo screen -S migration
sudo bash migrate2rocky.sh -r

# Перезагрузка и проверка
sudo reboot
cat /etc/rocky-release

После миграции

# Обновить все пакеты
sudo dnf update -y

# Проверить репозитории
dnf repolist

# Проверить ядро
uname -r
rpm -q kernel
⚠️ CentOS 7: Достигает EOL в июне 2024 года. Скрипты миграции на AlmaLinux 8 и Rocky Linux 8 также доступны, но требуют особой осторожности — мажорное обновление (7→8) несёт больше рисков. Рекомендуется развернуть новый сервер.

Разбор типичных ошибок миграции

Скрипт almalinux-deploy.sh завершается с ошибкой "Failed to synchronize cache" — обычно означает, что старые репозитории CentOS 8 уже недоступны (mirrorlist.centos.org отключён после EOL), и dnf не может обновить метаданные до подмены репозиториев.

Errors during downloading metadata for repository 'base':
  - Status code: 404 for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=BaseOS
Error: Failed to download metadata for repo 'base'

Решение — сначала вручную переключить репозитории на vault.centos.org (архив), чтобы dnf вообще мог что-то скачать, и только после этого запускать скрипт миграции.

sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

После миграции "dnf update" пишет "Problem: package X requires Y, but none of the providers can be installed" — признак того, что часть пакетов осталась от CentOS (например, ядро или сторонний модуль), а часть уже от AlmaLinux/Rocky, и версии несовместимы.

Problem: package kernel-core-4.18.0-305.el8.x86_64 requires kernel-modules = 4.18.0-305.el8, but none of the providers can be installed

Обычно помогает sudo dnf distro-sync — команда приводит все пакеты к версиям одного дистрибутива, а не просто обновляет их по отдельности.

Способы перехода: сравнение

СпособПростойРискКогда выбирать
Скрипт миграции (almalinux-deploy / migrate2rocky)МинутыСредний, зависит от кастомных пакетовСтандартный сервер без экзотики
Новый сервер + перенос данныхЧасы (перенос БД, конфигов)Низкий для системыПродакшн с высокими требованиями к стабильности
Переход на CentOS StreamМинутыВысокий — rolling-release, менее предсказуемТестовые окружения, не для прода

Когда миграция скриптом не подходит

  • На сервере много кастомных пакетов из сторонних репозиториев (EPEL forks, самосборные RPM) — скрипт может не справиться с зависимостями, надёжнее переносить данные на чистый сервер.
  • Нужна гарантированная поддержка от вендора — Rocky и AlmaLinux бесплатны, но без коммерческого SLA; для этого нужен именно RHEL.
  • Сервер уже давно не обновлялся и содержит пакеты из разных версий CentOS 8.x — сначала обязательно выполните dnf update на CentOS до актуального минора, иначе скрипт может завершиться с ошибками зависимостей.

Проверка результата

  1. Убедитесь, что релиз сменился: cat /etc/os-release должен показывать AlmaLinux или Rocky Linux, а не CentOS.
  2. Проверьте отсутствие "хвостов" от CentOS: rpm -qa | grep -i centos — команда не должна вернуть пакетов (кроме, возможно, centos-release-подобных, специально оставленных).
  3. Выполните полное обновление и убедитесь в отсутствии конфликтов: sudo dnf distro-sync должен завершиться без ошибок.
  4. Проверьте ключевые сервисы: systemctl status nginx mariadb — оба должны быть active (running) после перезагрузки.

После миграции стоит проверить версию ядра — см. статью об обновлении ядра, а общий процесс планового обновления ОС описан в руководстве по обновлению VDS.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке