The steps described herein do not depict the official upgrade and this should not be applied to a production server yet.
PRE TASKS
Step 1: Install the EPEL Repository
install the EPL repository by running:
# yum install epel-release -y
Step 2: Install yum-utils Tools
After successfully installing EPEL, install yum-utils by running the command below:
# yum install yum-utils
Thereafter, you need to resolves RPM packages by executing the command.
# yum install rpmconf
# rpmconf -a
Next, perform a clean-up of all the packages you don’t require.
# package-cleanup –leaves
# package-cleanup –orphans
INSTALL PRE-UPGRADE TOOL
Step 3: Install the dnf in CentOS 7
Next step is installing dnf package manager which is the default package manager for CentOS 8
# yum install dnf
Then, you need to remove the yum package manager using the command.
# dnf -y remove yum yum-metadata-parser
# rm -Rf /etc/yum
CENTOS UPGRADE
Step 4: Upgrading CentOS 7 to CentOS 8
We are now ready to upgrade CentOS 7 to CentOS 8, but before we do so, upgrade the system using the newly install dnf package manager.
# dnf upgrade
Next, install CentOS 8 release package using dnf as shown below. This will take a while.
# dnf install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/{centos-linux-repos-8-2.el8.noarch.rpm,centos-linux-release-8.4-1.2105.el8.noarch.rpm,centos-gpg-keys-8-2.el8.noarch.rpm}
Next, upgrade the EPEL repository.
# dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
After successfully upgrading the EPEL repository, remove all the temporary files.
# dnf clean all
Remove the old kernel core for CentOS 7.
# rpm -e `rpm -q kernel`
Be sure to remove conflicting packages.
# rpm -e –nodeps sysvinit-tools
Thereafter, launch the CentOS 8 system upgrade as shown.
# dnf -y –releasever=8 –allowerasing –setopt=deltarpm=false distro-sync
INSTALL NEW KERNEL
Step 5: Install the New Kernel Core for CentOS 8
To install a new kernel for CentOS 8, run the command.
# dnf -y install kernel-core
Finally, install CentOS 8 minimal package.
# dnf -y groupupdate “Core” “Minimal Install”
Now you can check the version of CentOS installed by running.
# cat /etc/redhat-release
Disclaimer : Create a recent backup of the system. This is an unofficial , unsupported procedure !
source: https://www.tecmint.com/upgrade-centos-7-to-centos-8/