
List of content you will read in this article:
System Requirements and Features of CentOS 8
CentOS 8 build release is available for:
- ppc64le (Little Endian)
- x86_64
- aarch64 (ARM 64, ARMv8)
CentOS 8 offers multiple features that create a significant difference between CentOS 7 and CentOS 8. So these features are:
- There is a default cockpit available now.
- CentOS 8 offers the latest version of YUM, and it is based on the DNF.
- CentOS 8 supports 4PB physical memory.
- It has Python 3.6 as a default version of python.
- CentOS 8 consists of PHP 7.2 and Nginx 1.14
- In CentOS, iptables are replaced by nftables as a default framework for network filtering.
- Contents of CentOS 8 are available by two different repositories, Application Stream and BaseOS.
- In CentOS, Wayland is a default display server that replaces the Xorg server.
How to Upgrade Centos 7 to 8?
This upgrade procedure requires the installation of the EPEL Repository, so execute the below command to start the installation process:
# yum install epel-release -y
You will get a result as shown below!
[root@centos7-PCNAME:~]# yum install epel-release - y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos. mirrors. estointernet.in
* elrepo: mirror.imt-systems.com
* extras: mirrors. piconets. webwerks. in
* updates: mirrors . piconets. webwerks.in
Resolving Dependencies
--->Running transaction check
---> Package epel-release. noarch O: 7—11 will be installed
--->Finished Dependency Resolution
Dependencies Resolved
===================================================================
Package Arch version
===================================================================
Installing: noarch 7—11
epel-release
Transaction Summary
===================================================================
Install 1 Package
Total download size: 15k
Installed size: 24k
Downloading packages:
No Presto metadata available for extras
epe1-release-7-1 1 . noarch. rpm
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing: epel-release-7-1 1 . noarch
Verifying: epel-release-7-1 1 . noarch
Installed:
epel-release-7-1 1 . noarch
Complete !
[root@centos7-PCNAME:~]#
After the successful installation of EPEL, execute the below command for installing the yum utility package (this will also run the yum update to update the repository).
# yum install yum-utils
Once you install the yum-utils in the system, execute the following commands for resolving RPM packages.
# yum install rpmconf
# rpmconf -a
Now clean all of the unnecessary files from the system by executing the commands below:
# package-cleanup --leaves
# package-cleanup --orphans
After running the cleanup commands, you will get the result below!
[root@centos7-PCNAME:~]# package-cleanup --leaves
Loaded plugins: fastestmirror, langpacks
NetworkManager- libreswan-gnome-1 . 2. G-2. e17. x86-64
djvulibre-devel -3.5.25.3-14. xas_su
giflib-devel-u. 1.6-9. e17.xas_6L,
i bus-libpinyin—l . S. 91-4 .e17. x86-64
libXfont-1.5.G-1.e17. x86-64
libXt-devel-1. 1.5-3. e17. x86-64
libb10ckdev-nvdimm-2. 18-3. e17. x86-64
liberation-serif-fonts—I . 07.2- IS . e17. noarch
libproxy-mozås-O.G. 11—11.e17. x86-64
libreport-anaconda-2. 1. 1 1-42. e17. centos . x86-64
libreport-p1ugin-mai1x-2. 1. 1 1-142. e17. centos. x86-64
libreport-rhe1-anaconda-bugzilla-2. 1. 1 1-42. e17. centos. x86-64
librsvg2-devel-2. GO. 20-1 . e17. x86-64
libsane-hpaio-3. 15.9-3. e17. x86-64
3-27.
lib time zone map-O . . . e17. x86-64
1 . 2-2. e17. xas_su
Iibuser-python- 0. 60-9. e17 . x86-64
libxslt-devel-l. 1 .28-5 . e17.xas_6L,
mesa-libGLES-
python-ntp1ib-O.3.2—1 . e17 . noarch . x86-64
package-cleanup
[root@centos7-PCNAME:~]# package - cleanup -- orphans
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos. mirrors. estointernet.in
* elrepo: mirror.imt-systems.com
* epel: repos . del.extreme-ix.org
* extras: mirrors. piconets. webwerks.in
* updates: mirrors . piconets. webwerks.in
NetworkManager 12. o-a.e17_6. x86-64
NetworkManager -adsl-l. 12 . o-a.e17_6. x86-64
NetworkManager -bluetooth-I. 12. o-a.e17_6. x86-64
NetworkManager -glib-I. 12. o-a.e17_6. x86-64
NetworkManager -libnm-l. 12. o-a.e17_6. x86-64
NetworkManager -ppp-l. 12. o-a.e17_6. x86-64
NetworkManager -team-I. 12. o-a.e17_6. x86-64
After cleaning the system, install the DNF in CentOS 7 because DNF is CentOS 8's default package manager; execute the below command to upgrade CentOS:
# yum install dnf
Do you want to learn more about the Linux commands? Have a go through our complete guide to Linux commands.
The installation will start, and you will get a result as shown:
[root@centos7-PCNAME:~]# yum install dnf -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
base: centos.mirrors.estointernet.in
elrepo: mirror.imt-systems.com
epel: repos.del.extreme-ix.org
extras: mirrors.piconets.webwerks.in
updates: mirrors.piconets.webwerks.in
Resolving Dependencies
--> Running transaction check
---> Package dnf.noarch 0:4.0.9.2-1.e17_6 will he installed
--> Processing Dependency: python2-dnf = 4.0.9.2-1.e17_6 for package: dnf-4.0.9.2-1.e17_6.noarch
--> Running transaction check
---> Package python2-dnf.noarch 0:4.0.9.2-1.e17_6 will be installed
--> Processing Dependency: dnf-data = 4.0.9.2-1.e17_6 for package: python2-dnf-4.0.9.2-1.e17_6.noarch --> Processing Dependency: python2-lihdnf >= 0.22.5 for package: python2-dnf-4.0.9.2-1.e17_6.noarch
--> Processing Dependency: python2-libcomps >= 0.1.8 for package: python2-dnf-4.0.9.2-1.e17_6.noarch
--> Processing Dependency: python2-hawkey >= 0.22.5 for package: python2-dnf-4.0.9.2-1.e17_6.noarch --> Processing Dependency: libmodulemd >= 1.4.0 for package: python2-dnf-4.0.9.2-1.e17_6.noarch
--> Processing Dependency: python2-lihdnf for package: python2-dnf-4.0.9.2-1.e17_6.noarch
--> Running transaction check
---> Package dnf-data.noarch 0:4.0.9.2-1.e17_6 will be installed
---> Package libmodulemd.x86_64 0:1.6.3-1.e17 will be installed
--> Processing Dependency: libyam1-0.so.20(64bit) for package: libmodulemd-1.6.3-1.e17.x86_64
---> Package python2-hawkey.x86_64 0:0.22.5-1.e17_6 will be installed
Now, remove the yum package manager from the system using the following commands in the terminal:
# dnf -y remove yum yum-metadata-parser
# rm -Rf /etc/yum
Your system is now completely ready for the CentOS update. Therefore, use the DNF package manager to upgrade the system, so execute the following CentOS update command:
# dnf upgrade
After that, install the CentOS 8 package using DNF by executing the below command (this execution will take a bit of time).
# 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
Now, upgrade your EPEL repository by executing the below command in the terminal:
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Once the EPEL repository successfully upgrades, you can remove all of the temporary files from the system.
# dnf clean all
Now, you can remove the old kernel core of CentOS 7 using this command:
# rpm -e `rpm -q kernel`
Also, use the below command for removing conflicting packages.
# rpm -e --nodeps sysvinit-tools
At last, launch the CentOS 8 using the following command:
# dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
Don't forget to install a new Kernel Core for your CentOS 8 system, so run the below command for installing this Kernel:
# dnf -y install kernel-core
Now, you can install the minimal packages of CentOS by executing this command:
# dnf -y groupupdate "Core" "Minimal Install"
Finally, check the version of your CentOS by executing this command:
# cat /etc/redhat-release
If this command does not work, you can check our previous article on how to find the Linux version.
Thus, you can easily update CentOS 7 to CentOS 8 without trouble. However, completing this process by following every step carefully is essential, or you will face errors and serious software-related issues.
Conclusion
In this article, we have covered the easiest and most effective procedure on how to upgrade CentOS 7 to 8. As we have mentioned previously, CentOS 8 was released and consisted of multiple features and newly developed software support.
Hence, you can go for CentOS 8 instead of CentOS 7 to use new features in your system. CentOS 8 requires a particular specification for appropriate working, so ensure your system fulfils all of the requirements to easily update your CentOS repositories.
People also read: