В данной статье мы расскажем вам как обновиться с CentOS 7 до CentOS 8.
Описанный в статье метод обновления на данный момент не является официальным и не рекомендуется к применению на производственных серверах. Мы рекомендуем использовать его для обновления вашего домашнего компьютера. Данный метод обновления работает только с версией установки CentOS 7 Minimal. Все действия, описанные в статье, необходимо производить под пользователем root с правами sudo.
ШАГ 1. ПОДГОТОВКА К ОБНОВЛЕНИЮ
Для того, чтобы произвести обновление с CentOS 7 до CentOS 8 сперва нужно установить необходимые пакеты. Сперва установим EPEL репозиторий.
# yum install epel-release
После выполнения успешной установки EPEL репозитория нам необходимо установить пакеты rpmconf и yum-utils которые понадобятся нам в дальнейшем. Установим их выполнив следующие команды:
# yum install rpmconf
# yum install yum-utils
ШАГ 2. ОЧИСТКА КОНФИГУРАЦИОННЫХ ФАЙЛОВ
Теперь после успешной установки необходимых утилит нам нужно провести проверку и сравнение конфигов в системе утилитой rpmconf. Если у вас в системе несколько одинаковых конфигов, вывод утилиты предложит вам выбрать какой из них оставить:
# rpmconf -a
ШАГ 3. ПОИСК ЛИШНИХ ПАКЕТОВ
После сравнения конфигов нам нужно проверить какие пакеты у нас установлены не из репозиториев. Выполнить проверку можно утилитой package-cleanup. Проверим нашу систему выполнив следующие команды:
# package-cleanup --orphans
# package-cleanup --leaves
Следующим этапом проверим какие пакеты можно удалить. Сделаем это следующей командой:
# yum autoremove
Для дальнейшего обновления нам понадобится установить в систему менеджер пакетов dnf используемый по умолчанию в CentOS 8 на замену yum. Во время установки необходимо внимательно наблюдать за выводом команды, поскольку она удаляет системные файлы.
ШАГ 4. УСТАНОВКА DNF
Установим менеджер пакетов dnf следующей командой:
# yum install dnf
ШАГ 5. УДАЛЕНИЕ YUM
Следующим этапом производим удаление yum командой:
# dnf remove yum yum-metadata-parser
Теперь удаляем папку yum
# rm -Rf /etc/yum
ШАГ 6. ОБНОВЛЕНИЕ CENTOS
Теперь запускаем обновление дистрибутива через dnf следующей командой:
# dnf upgrade
Теперь мы можем приступить к обновлению версию дистрибутива. Сперва установим релиз CentOS 8:
# dnf upgrade https://mirror.yandex.ru/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm
После установки обновления версии дистрибутива нам необходимо установить EPEL репозиторий. Установим его следующей командой:
# dnf upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Теперь необходимо удалить пакеты и старые ядра оставшиеся в системе, которые могут привести к конфликтам когда будет выполняться обновление CentOS 7 до CentOS 8. Выполняется это следующими командами:
# rpm -e --nodeps sysvinit-tools
# rpm -e `rpm -q kernel`
После всех вышеописанных действий мы можем обновить CentOS 7 до 8. Обновление выполняется следующей командой:
# dnf --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
И последним шагом будет установка минимального набора пакетов при помощи группового управления. Выполняется такая установка следующей командой:
# dnf groupupdate "Core" "Minimal Install"
ШАГ 7. ПРОВЕРКА ВЕРСИИ
По окончании установки вы можете проверить — обновилась ли система следующей командой:
# hostnamectl
Теперь вы можете перезагрузить систему и проверить корректность загрузки новой системы. Теперь вы знаете как обновить centos 7 до 8.