Обновление CentOS 7 до CentOS 8

Важно: CentOS 8 выпущен 23 сентября 2019 года; минимальный образ может быть недоступен. Этот гид — экспериментальный и не гарантирует 100% совместимости. Создайте полную резервную копию и снимок виртуальной машины перед началом.
Что делает этот процесс
Кратко: добавляем репозитории EPEL, устанавливаем dnf, удаляем yum, обновляем пакеты до версии из репозиториев CentOS 8, синхронизируем дистрибутив и обновляем загрузчик. По ходу удаляем конфликтующие пакеты и очищаем кэш.
Подготовка
- Сделайте резервную копию /, /etc, баз данных и конфигураций.
- Убедитесь, что у вас доступ к консоли/VM-консоле и можно загрузиться в rescue-режим.
- Проверьте, что места на диске достаточно для загрузки и установки пакетов.
Пошаговая инструкция
- Скачайте и установите репозиторий EPEL для CentOS 7:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- Установите вспомогательные утилиты yum:
yum -y install rpmconf yum-utils
- Приведите rpm-конфигурации в порядок:
rpmconf -a
Результат выполнения команды:
Выберите «Keep Default», если не уверены.
- Очистите пакеты, которые не нужны:
package-cleanup --leaves
package-cleanup --orphans
- Установите пакетный менеджер DNF (RPM-основанный):
yum -y install dnf
- Удалите yum и метаданные (DNF заменит их):
dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum
- Обновите систему с помощью DNF:
sudo dnf -y upgrade
- Установите пакет, который пометит систему как CentOS 8:
dnf -y upgrade http://mirror.bytemark.co.uk/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm
- Обновите репозиторий EPEL до версии для 8:
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
- Очистите кеш репозиториев:
dnf clean all
- Удалите старые ядра (будьте осторожны — полезно иметь хотя бы одно запасное ядро):
rpm -e `rpm -q kernel`
- Удалите конфликтующие пакеты:
rpm -e --nodeps sysvinit-tools
- Запустите фактическую синхронизацию дистрибутива до releasever 8:
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
- Снова обработайте конфигурации:
rpmconf -a
- Убедитесь, что новое ядро установлено корректно (при необходимости переустановите):
rpm -e kernel-core
dnf -y install kernel-core
- Обновите и установите загрузчик GRUB на корневой диск:
ROOTDEV=`ls /dev/*da|head -1`;
echo "Detected root as $ROOTDEV..."
grub2-install $ROOTDEV
- Установите минимальный набор пакетов (Core + Minimal Install):
dnf -y groupupdate "Core" "Minimal Install"
- Проверьте версию CentOS:
cat /etc/centos-release
Критерии приёмки
- Система загружается в графическом/консольном режиме без ошибок загрузчика.
- Команда cat /etc/centos-release возвращает CentOS Linux 8.
- Сеть работает, сервисы запускаются и приложения запускаются как ожидается.
- Резервные копии конфигураций доступны и валидны.
Контрольный чек‑лист администратора
- Сделана полная резервная копия и снимок ВМ.
- Создан список установленных пакетов и конфигураций.
- Проверена доступность зеркал CentOS 8 и EPEL.
- Выполнен тест загрузки и проверка сервисов.
Когда это не сработает
- Сильная кастомизация системы (вручную собранные пакеты, нестандартные репозитории) может привести к конфликтам.
- Программное обеспечение с привязкой к библиотекам из CentOS 7 может ломаться.
- Если у вас нереплицируемые данные в продакшене — не обновляйте без тестов.
Альтернативные подходы
- Чистая переустановка CentOS 8 и миграция данных/конфигураций — наиболее надёжный путь для продакшна.
- Использование новых дистрибутивов (AlmaLinux, Rocky) как совместимых форков вместо CentOS 8.
- Постепенная миграция сервисов на новые серверы с балансировкой и переключением трафика.
Меры безопасности и рекомендации
- После обновления проверьте файлы конфигурации в /etc на предмет устаревших опций.
- Пересмотрите правила SELinux и firewall (firewalld/iptables) — политики могли измениться.
- Обновите подписанные репозитории и ключи GPG.
Глоссарий
- EPEL — репозиторий дополнительных пакетов от Fedora.
- DNF — менеджер пакетов для современных rpm-дистрибутивов.
- rpmconf — утилита для обработки конфигураций RPM-пакетов.
Итог
Этот метод даёт рабочую миграцию из CentOS 7 в CentOS 8 для тестовых систем и обучающих сред. Для критичных систем предпочтительна чистая установка и тщательное тестирование.
Важно: всегда проверяйте совместимость приложений и наличие резервных копий до выполнения обновления.
Похожие материалы

StumbleUpon на iPhone: веб-панель и закладки

PHP-FastCGI на Apache — настройка и тесты

Как исправить повреждённый текст в Microsoft Word

Скрытый GPS‑трекер для внедорожного SUV — как выбрать

Excel DROP — удалить строки и столбцы
