До основного вмісту

Міграція з 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, самозібрані 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.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці