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

Недавно мир увидел релиз новой CentOS 8 которая получила множество интересных нововведений, таких как:

  • два основных репозитория baseos и appstream. Первый рассчитан для базового использования на серверах, нодах, vps/vds и т.д. Второй больше подойдет для рабочих станций.
  • пакетный менеджер yum заменен на dnf из Fedora, он быстрее предшественника и имеет обратную совместимость.
  • появился Веб-интерфейс cockpit. Теперь можно управлять основными функциями сервера из браузера.
  • завезли поддержку контейнерами Podman, это аналого-совместимая замена Docker.
  • обновлен стек TCP до версии 4.16. Который поддерживает новые методы обработки входящий соединений, использование которых позволяет обслуживать большее количество соединений.
  • настройкой сети теперь полностью заведует NetworkManager и утилита nmcli.
  • появилась поддержка загрузки с накопителей NVDIMM.
  • iptables заменен на nftables.
  • для синхронизации времени ntp теперь используется утилита chrony.
  • привычный дисплейный сервер Xorg был заменен по умолчанию на Wayland.

И в рамках данной статьи хочу рассказать Вам, как обновить CentOS 7 до CentOS 8 без переустановки.

Перед обновлением выполните резервную копию ОС, так как процесс необратим. Так же если Вы используете панели управления, пока воздержитесь от обновления, так как большинство из них еще не поддерживают новую ОС.

Приступим…

Ставим пакеты необходимые для обновления:

yum install rpmconf epel-release yum-utils

Далее выполняем сверку конфигов, будьте внимательны, утилита предлагает несколько вариантов (из пакета, текущий…):

rpmconf -a

Удаляем ненужные пакеты, например те которые были установлены не из репозиториев:

package-cleanup --orphans

package-cleanup --leaves

Производим установку dnf и удаление yum:

yum install dnf

dnf remove yum yum-metadata-parser

rm -Rf /etc/yum

Обновляем систему через dnf:

dnf upgrade

Добавляем новые репозитории centos и epel:

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

dnf upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Удаляем временные файлы dnf:

dnf clean all

Удаляем ядра и конфликтные пакеты:

rpm -e `rpm -q kernel`

rpm -e --nodeps sysvinit-tools

И запускаем сам процесс обновления системы:

dnf --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

Проверяем, что новое ядро установлено:

rpm -qa | grep kernel-core-4

или так

dnf install kernel-core

Устанавливаем / обновляем минимальный набор пакетов:

dnf groupupdate "Core" "Minimal Install"

После завершения процесса, перезапускаем ОС и проверяем версию:

cat /etc/centos-release

Далее советую проверить работу установленного ПО с новым ядром, и на этом процесс обновления окончен.