Upgrade CentOS 7 to CentOS 8 - Step by Step Process ?

CentOS 8 was released on Sep 23rd, 2019. As new versions of software are released, you may be looking to update your installation in order to receive all of the latest and greatest features the new version offers. The same can also apply to your server's operating system.

Since a new version of the popular Linux-based operating system, CentOS, has been released, you may be wanting to look into upgrading your server to this new version.

Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform related CentOS queries.

In this context, we shall look into the process to get your CentOS 7 server directly upgraded to CentOS 8.

How to upgrade your Linux dedicated or virtual server from CentOS 7 to CentOS 8 ?

To perform this task, follow the steps given below.

1. Install the EPEL Repository

To start off, install the EPL repository by running:

# yum install epel-release -y

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

3. Install the dnf in CentOS 7

Now install dnf package manager which is the default package manager for CentOS 8:

# yum install dnf

You also need to remove the yum package manager using the command:

# dnf -y remove yum yum-metadata-parser
# rm -Rf /etc/yum

4. Upgrade 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 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

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`

Next, 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

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

[Need urgent assistance in fixing related CentOS errors? We can help you. ]


This article covers the step by step process to upgrade your CentOS 7 server to CentOS 8.

To Install the EPEL Repository:

# yum install epel-release -y

To Install the New Kernel Core for CentOS 8:

# dnf -y install kernel-core