Оновлення Centos 7 до Centos 8

У цій статті розглянемо оновлення на чистому Centos 7 до Centos 8.

Для початку встановимо EPEL репозиторій, а також встановимо програми yum-utils і rpmconf для подальшої перевірки::

yum install epel-release ; yum install yum-utils rpmconf -y

Перевіримо чи немає нових конфігів для порівняння командою:

rpmconf -a

Якщо знайшлися – вказуємо які потрібно зберегти..

 

Потім встановлюємо пакетний менеджер dnf, він використовується в Centos 8, тому виконуємо команду

yum install dnf

Видаляємо пакетний менеджер yum:

dnf -y remove yum yum-metadata-parser

Проводимо оновлення через новий пакетний менеджер

dnf -y upgrade

Встановлюємо базові пакети для Centos 8:

dnf install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm \
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.3-1.2011.el8.noarch.rpm \ 
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-2.el8.noarch.rpm

Зверніть увагу, що посилання на пакети можуть бути не актуальні через оновлень. Свіжі пакети можна переглянути за посиланням:
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/
Там же, знайти і встановити пакети linux-repos, linux-release і gpg-keys.

Наступною командою оновимо репозиторій EPEL:

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

За допомогою dnf видаляємо тимчасові файли:

dnf clean all

Видаляємо старі ядра і пакети Centos 7, які можуть конфліктувати і не дозволять оновитися далі:

rpm -e `rpm -q kernel`
rpm -e --nodeps sysvinit-tools

Якщо система чиста – висновок повинен бути порожній.

Далі оновлюємо систему командою через новий пакетний менеджер:

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

На цьому етапі оновлень можуть виникати такі помилки:
1. Конфлікт з python36-rpmconf.
Для вирішення цієї помилки просто видаляємо його:

dnf -y remove python36-rpmconf

2. Конфлікт при спробі оновити файлову систему з filesystem-3.2-25.el7.x86_64 до filesystem-3.8-3.el8.x86_64. Помилка виникає через те, що система запущена в віртуальному контейнері. Для вирішення цієї проблеми виконайте команду:

echo '%_netsharedpath /sys:/proc' > /etc/rpm/macros.netshared

Цим самим ми оновимо файлову систему всередині контейнера.

3. Помилка при yum: Error: Transaction failed
Для вирішення потрібно перевстановити yum вручну:

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

Після того як оновили систему – ставимо ядро ​​kernel для Centos 8:

dnf -y install kernel-core

І через оновлення групових політик за допомогою dnf встановлюємо мінімальний набір пакетів для нової системи:

dnf groupupdate "Core" "Minimal Install" 

Після завершення перевіряємо яка OS встановилася командою:

cat /etc/os-release

Висновок повинен бути наступний:

NAME="CentOS Linux" 
VERSION="8" 
ID="centos" 
ID_LIKE="rhel fedora" 
VERSION_ID="8" 
PLATFORM_ID="platform:el8" 
PRETTY_NAME="CentOS Linux 8" 
ANSI_COLOR="0;31" 
CPE_NAME="cpe:/o:centos:centos:8" 
HOME_URL="https://centos.org/" 
BUG_REPORT_URL="https://bugs.centos.org/" 
CENTOS_MANTISBT_PROJECT="CentOS-8" 
CENTOS_MANTISBT_PROJECT_VERSION="8" 

Після завершення оновлення можна очистити тимчасові файли:

dnf clean all

На цьому оновлення з Centos 7 до Centos 8 завершено.

Goodhoster.NET
Додати коментар