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

Centos 7 upgrade to Centos 8

CentOS — дистрибутив Linux, основанный на коммерческом Red Hat Enterprise Linux компании Red Hat и совместимый с ним. Согласно жизненному циклу Red Hat Enterprise Linux (RHEL), CentOS 5, 6 и 7 будут поддерживаться «до 10 лет», поскольку они основаны на RHEL. Ранее версия CentOS 4 поддерживалась семь лет.

Подготовка

Добавляем репозиторий EPEL

$ sudo yum -y install epel-release

Устанавливаем утилиту yum-utils

$ sudo yum -y install yum-utils

Устанавливаем утилиту rpmconf

$ sudo yum -y install rpmconf

Выполняем проверку и сравнение конфигов

$ sudo rpmconf -a

После выполнения команды смотрим вывод утилиты и отвечаем на вопросы о том, какой конфиг нам нужен (текущий, дефолтный из пакета …)

Смотрим, какие у нас установлены пакеты не из репозиториев, есть ли в системе пакеты, которые можно удалить

$ sudo package-cleanup --leaves
$ package-cleanup --orphans

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

Установим менеджер пакетов dnf, который используется по умолчанию в CentOS 8

$ sudo yum -y install dnf

Удалим менеджер пакетов yum (если он в дальнейшем вам не нужен)

$ sudo dnf -y remove yum yum-metadata-parser
$ sudo rm -Rf /etc/yum

Обновляем Centos

$ sudo dnf -y upgrade

Устанавливаем необходимые пакеты для CentOS 8

$ sudo dnf -y install \
   http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-repos-8.2-2.2004.0.1.el8.x86_64.rpm \
   http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.2-2.2004.0.1.el8.x86_64.rpm \
   http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8.2-2.2004.0.1.el8.noarch.rpm

Обновляем репозиторий EPEL

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

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

$ sudo dnf clean all

Удаляем старые ядра от Centos 7

$ sudo rpm -e `rpm -q kernel`

Удаляем пакеты, которые могут конфликтовать

$ sudo rpm -e --nodeps sysvinit-tools

Запускаем обновление системы

$ sudo dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

На этом моменте у меня возникла ошибка зависимостей

python3-rpmconf-1.0.21-1.el8.noarch conflicts with file from package python36-rpmconf-1.0.22-1.el7.noarch

Решение:

$ sudo dnf -y remove python36-rpmconf

Ядро для Centos 8

Устанавливаем новое ядро для CentOS 8

$ sudo dnf -y install kernel-core

Устанавливаем минимальный набор пакетов через групповое управление

$ sudo dnf -y groupupdate "Core" "Minimal Install"

Проверяем, какая версия centos установилась

$ cat /etc/*release
CentOS Linux release 8.2.2004 (Core) 
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"

CentOS Linux release 8.2.2004 (Core) 
CentOS Linux release 8.2.2004 (Core) 

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

$ sudo dnf clean all

Ошибка при установке YUM

При установке возникла ошибка

[...]
Error: Transaction failed

Решение

$ cd /usr/bin
$ sudo ln -s dnf-3 yum
$ cd /etc/yum
$ sudo rm -r *
$ sudo dnf -y install yum

Максим Макаров

У блога появился хостинг, его любезно предоставила компания Облакотека. Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс.

Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.