How to upgrade CentOS7 to CentOS8 (detailed steps)

This article introduces the method of upgrading CentOS 8 from CentOS 7 with specific examples.

a

Minimize the installation of CentOS 7, the specific version is as follows: 7.6.1810

[ root@liumiao ~]# uname -a
Linux devops 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 823:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[ root@liumiao ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810(Core)[root@liumiao ~]# 

Step 1: Install epel-relase, yum-utils and rpmconf

Execute the command: yum install yum-utils epel-release -y

The execution log is as follows:

... Omit
========================================================================================================================================
 Package        Arch      Version        Repository     Size
========================================================================================================================================
Installing:
 epel-release      noarch      7-11         extras      15 k
 yum-utils       noarch      1.1.31-52.el7      base      121 k
Installing for dependencies:
 libxml2-python      x86_64      2.9.1-6.el7_2.3      base      247 k
 python-chardet      noarch      2.2.1-3.el7       base      227 k
 python-kitchen      noarch      1.1.1-5.el7       base      267 k

Transaction Summary
========================================================================================================================================
Install 2Packages(+3 Dependent packages)...Omit

Installation command: yum install rpmconf -y

The installation log is as follows:

[ root@liumiao ~]# yum install rpmconf -y
... Omit
========================================================================================================================================
 Package       Arch       Version        Repository     Size
========================================================================================================================================
Installing:
 rpmconf       noarch       0.3.4-1.el7       epel       21 k

Transaction Summary
========================================================================================================================================
Install 1 Package
... Omit
Complete![root@liumiao ~]#

Step 2: Check before installation

Check the configuration: rpmconf -a

The execution log is shown below, if you choose to use the default settings.

[ root@liumiao ~]# rpmconf -a
[ root@liumiao ~]# 

Check leaf nodes: List packages that are not dependent on other RPM

[ root@liumiao ~]# package-cleanup --leaves
Loaded plugins: fastestmirror
libsysfs-2.1.0-16.el7.x86_64
[ root@liumiao ~]# 

Check the packages that are no longer available: List the information of packages that are not available for upgrade in the current warehouse

[ root@liumiao ~]# package-cleanup --orphans
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * epel: hkg.mirror.rackspace.com
 * extras: mirror.bit.edu.cn
 * updates: ap.stykers.moe
GeoIP-1.5.0-13.el7.x86_64
... Omit
yum-plugin-fastestmirror-1.1.31-50.el7.noarch
[ root@liumiao ~]#

Step 3: Install dnf and execute dnf update

CentOS 8 uses dnf as the default package management tool, uses yum to install its own alternative tool dnf and delete itself.

Installation command: yum install dnf -y

The execution log is as follows:

[ root@liumiao ~]# yum install dnf -y
... Omit
========================================================================================================================================
 Package                Arch           Version                 Repository        Size
========================================================================================================================================
Installing:
 dnf                  noarch          4.0.9.2-1.el7_6             extras          357 k
Installing for dependencies:
 deltarpm                x86_64          3.6-3.el7                base           82 k
 dnf-data                noarch          4.0.9.2-1.el7_6             extras          51 k
 libcomps                x86_64          0.1.8-12.el7              extras          75 k
 libdnf                 x86_64          0.22.5-1.el7_6             extras          533 k
 libmodulemd              x86_64          1.6.3-1.el7               extras          141 k
 librepo                x86_64          1.8.1-7.el7               base           81 k
 libreport-filesystem          x86_64          2.1.11-43.el7.centos          base           40 k
 libsolv                x86_64          0.6.34-4.el7              base           329 k
 libyaml                x86_64          0.1.4-11.el7_0             base           55 k
 python-enum34             noarch          1.0.4-1.el7               base           52 k
 python2-dnf              noarch          4.0.9.2-1.el7_6             extras          414 k
 python2-hawkey             x86_64          0.22.5-1.el7_6             extras          68 k
 python2-libcomps            x86_64          0.1.8-12.el7              extras          47 k
 python2-libdnf             x86_64          0.22.5-1.el7_6             extras          608 k

Transaction Summary
========================================================================================================================================
Install 1Package(+14 Dependent packages)...Omit
[ root@liumiao ~]#

Clear yum: dnf -y remove yum yum-metadata-parser && rm -rf /etc/yum

The execution log is as follows:

[ root@liumiao ~]# dnf -y remove yum yum-metadata-parser
Dependencies resolved.========================================================================================================================================
 Package                  Arch          Version                Repository        Size
========================================================================================================================================
Removing:
 yum                    noarch         3.4.3-161.el7.centos         @System         5.6 M
 yum-metadata-parser            x86_64         1.1.4-10.el7             @System          57 k
Removing dependent packages:
 yum-plugin-fastestmirror         noarch         1.1.31-50.el7             @System          53 k
 yum-utils                 noarch         1.1.31-52.el7             @System         337 k

Transaction Summary
========================================================================================================================================
Remove 4 Packages

Freed space:6.0 M
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
 Preparing    :1/1 
 Erasing     : yum-utils-1.1.31-52.el7.noarch                                         1/4 
 Erasing     : yum-plugin-fastestmirror-1.1.31-50.el7.noarch                                 2/4 
 Erasing     : yum-3.4.3-161.el7.centos.noarch                                        3/4 
 Erasing     : yum-metadata-parser-1.1.4-10.el7.x86_64                                    4/4 
 Verifying    : yum-3.4.3-161.el7.centos.noarch                                        1/4 
 Verifying    : yum-metadata-parser-1.1.4-10.el7.x86_64                                    2/4 
 Verifying    : yum-plugin-fastestmirror-1.1.31-50.el7.noarch                                 3/4 
 Verifying    : yum-utils-1.1.31-52.el7.noarch                                         4/4

Removed:
 yum-3.4.3-161.el7.centos.noarch   yum-metadata-parser-1.1.4-10.el7.x86_64   yum-plugin-fastestmirror-1.1.31-50.el7.noarch   
 yum-utils-1.1.31-52.el7.noarch   

Complete![root@liumiao ~]# ls /etc/yum
pluginconf.d protected.d vars
[ root@liumiao ~]# rm -rf /etc/yum[root@liumiao ~]#

Use dnf update to update like yum update.

[ root@liumiao ~]# dnf upgrade
Extra Packages for Enterprise Linux 7- x86_64                             5.6 MB/s |16 MB   00:02  
CentOS-7- Base                                             3.5 MB/s |10 MB   00:02  
CentOS-7- Updates                                           2.9 MB/s |5.4 MB   00:01  
CentOS-7- Extras                                            40 kB/s |251 kB   00:06...Omit
========================================================================================================================================
 Package                  Arch        Version                   Repository      Size
========================================================================================================================================
Upgrading:
 epel-release                noarch       7-12                     epel         15 k
 ... Omit
 tzdata                   noarch       2019c-1.el7                 updates       493 k
Installing dependencies:
 bind-export-libs              x86_64       32:9.11.4-9.P2.el7              base         1.1 M
 geoipupdate                x86_64       2.5.0-1.el7                 base         35 k
 kernel                   x86_64       3.10.0-1062.4.3.el7             updates        50 M

Transaction Summary
========================================================================================================================================
Install  3 Packages
Upgrade 164 Packages

Total download size:259 M
Is this ok [y/N]: y
Downloading Packages:...Omit
 Installed:
 bind-export-libs-32:9.11.4-9.P2.el7.x86_64     geoipupdate-2.5.0-1.el7.x86_64     kernel-3.10.0-1062.4.3.el7.x86_64    

Complete![root@liumiao ~]#

Use dnf to update the package of CentOS 8

The execution log is as follows:

[ root@liumiao ~]# dnf -y upgrade http://mirror.bytemark.co.uk/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm

Extra Packages for Enterprise Linux 7- x86_64                             4.3 MB/s |16 MB   00:03  
Last metadata expiration check:0:00:01 ago on Wed 20 Nov 201907:58:07 AM EST.
centos-release-8.0-0.1905.0.9.el8.x86_64.rpm                               13 kB/s |26 kB   00:01  
Dependencies resolved.========================================================================================================================================
 Package             Arch           Version                 Repository           Size
========================================================================================================================================
Upgrading:
 centos-release          x86_64          8.0-0.1905.0.9.el8           @commandline          26 k

Transaction Summary
========================================================================================================================================
Upgrade 1 Package

Total size:26 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
 Preparing    :1/1 
 Upgrading    : centos-release-8.0-0.1905.0.9.el8.x86_64                                    1/2 
 Cleanup     : centos-release-7-7.1908.0.el7.centos.x86_64                                  2/2 
 Verifying    : centos-release-8.0-0.1905.0.9.el8.x86_64                                    1/2 
 Verifying    : centos-release-7-7.1908.0.el7.centos.x86_64                                  2/2

Upgraded:
 centos-release-8.0-0.1905.0.9.el8.x86_64                                               

Complete![root@liumiao ~]#

Update epel repository

The execution log is as follows:

[ root@liumiao ~]# dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Extra Packages for Enterprise Linux 7- x86_64                             578 kB/s |16 MB   00:28  
CentOS-8- Base                                             635 kB/s |7.9 MB   00:12  
CentOS-8- Extras                                            1.7 kB/s |2.1 kB   00:01  
CentOS-8- AppStream                                          1.3 MB/s |6.3 MB   00:04  
epel-release-latest-8.noarch.rpm                                    7.7 kB/s |21 kB   00:02  
Dependencies resolved.========================================================================================================================================
 Package              Arch             Version            Repository             Size
========================================================================================================================================
Upgrading:
 epel-release            noarch            8-7.el8            @commandline            21 k

Transaction Summary
========================================================================================================================================
Upgrade 1 Package

Total size:21 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
 Preparing    :1/1 
 Upgrading    : epel-release-8-7.el8.noarch                                          1/2 
 Cleanup     : epel-release-7-12.noarch                                            2/2 
 Verifying    : epel-release-8-7.el8.noarch                                          1/2 
 Verifying    : epel-release-7-12.noarch                                            2/2

Upgraded:
 epel-release-8-7.el8.noarch                                                     

Complete![root@liumiao ~]# 

Confirm the version information at this time, has changed

[ root@liumiao ~]# cat /etc/redhat-release 
CentOS Linux release 8.0.1905(Core)[root@liumiao ~]# 

Step 4: Delete useless files and CentOS 7 kernel and install CentOS 8 kernel

Delete useless temporary files: dnf clean all

The execution log is as follows:

[ root@liumiao ~]# dnf clean all
62 files removed
[ root@liumiao ~]#

Delete the old kernel of CentOS 7: rpm -e rpm -q kernel

The execution log is as follows:

[ root@liumiao ~]# rpm -e `rpm -q kernel`[root@liumiao ~]#

Confirm to delete conflicting packages

[ root@liumiao ~]# rpm -e --nodeps sysvinit-tools
[ root@liumiao ~]# 

Update CentOS 8 system

[ root@liumiao ~]# dnf -y --releasever=8--allowerasing --setopt=deltarpm=false distro-sync
Extra Packages for Enterprise Linux 8- x86_64                             2.0 MB/s |3.5 MB   00:01  
CentOS-8- Base                                             160 kB/s |7.9 MB   00:50  
CentOS-8- AppStream                                          1.6 MB/s |6.3 MB   00:03  
CentOS-8- Extras                                            950 B/s |2.1 kB   00:02  
Last metadata expiration check:0:00:02 ago on Wed 20 Nov 201908:09:51 AM EST.
Dependencies resolved.========================================================================================================================================
 Package                Arch      Version                        Repository     Size
========================================================================================================================================
Upgrading:
 rpmconf                noarch     1.0.20-1.el8                      epel        26 k
... Omit
Removed:
 deltarpm-3.6-3.el7.x86_64           libselinux-python-2.5-14.1.el7.x86_64    libxml2-python-2.9.1-6.el7_2.3.x86_64   
 newt-python-0.52.15-4.el7.x86_64       python-2.7.5-86.el7.x86_64         python-chardet-2.2.1-3.el7.noarch     
 python-firewall-0.6.3-2.el7_7.2.noarch    python-kitchen-1.1.1-5.el7.noarch      python-libs-2.7.5-86.el7.x86_64      
 python-linux-procfs-0.4.11-4.el7.noarch    python-schedutils-0.4-6.el7.x86_64     python-slip-0.4.0-4.el7.noarch       
 python-slip-dbus-0.4.0-4.el7.noarch      python-urlgrabber-3.10-9.el7.noarch     python2-dnf-4.0.9.2-1.el7_6.noarch     
 python2-hawkey-0.22.5-1.el7_6.x86_64     python2-libcomps-0.1.8-12.el7.x86_64    python2-libdnf-0.22.5-1.el7_6.x86_64    
 pyxattr-0.5.1-5.el7.x86_64          rpm-python-4.11.3-40.el7.x86_64       systemd-sysv-219-67.el7_7.2.x86_64    

Complete![root@liumiao ~]# 

At this time, confirm the kernel status through uname -a, which is still 3.10.

[ root@liumiao ~]# uname -a
Linux devops 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 823:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[ root@liumiao ~]# cat /etc/redhat-release 
CentOS Linux release 8.0.1905(Core)[root@liumiao ~]#

Since the previous article has been updated, if you execute dnf -y install kernel-core, it will prompt already updated. Next, update the relevant packages of the minimal installation of CentOS 8, and execute the following command:

[ root@liumiao ~]# dnf -y groupupdate "Core""Minimal Install"
Last metadata expiration check:0:13:34 ago on Wed 20 Nov 201908:09:51 AM EST.
Dependencies resolved.========================================================================================================================================
 Package                 Arch       Version                      Repository      Size
========================================================================================================================================
Installing group/module packages:
 dnf-plugin-spacewalk          noarch      2.8.5-11.module_el8.0.0+180+337688dc       AppStream       24 k
 dnf-plugins-core            noarch      4.0.2.2-3.el8                   BaseOS        59 k
... Omit
[ root@liumiao ~]#

Step 5: Restart the system

After restarting, you can confirm that the kernel and version file information have been upgraded to the latest

[ root@liumiao ~]# uname -a
Linux devops 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 2411:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[ root@liumiao ~]# cat /etc/redhat-release 
CentOS Linux release 8.0.1905(Core)[root@liumiao ~]# 

The above is the whole content of this article, I hope it will be helpful to everyone's study.

Recommended Posts

How to upgrade CentOS7 to CentOS8 (detailed steps)
Centos 6.4 python 2.6 upgrade to 2.7
Centos 6.4 python 2.6 upgrade to 2.7
How to upgrade to Ubuntu 20.04
CentOS6.5 upgrade kernel to 3.10.28
How to upgrade to Ubuntu 20.04
Centos default python2.6 upgrade to
CentOS upgrade python2 to pyth
How to upgrade to Ubuntu 16.04 LTS
Detailed steps to install centos on vmware10.0 cracked version
How to install jdk1.8 on centOS7
How to install MySQL on CentOS 8
How to install Memcached on CentOS 8
How to install R on CentOS 8
How to install FFmpeg on CentOS 8
How to install Virtualbox on CentOS 8
How to install TensorFlow on CentOS 8
How to Update to gcc4.9.x on Centos7
How to install TeamViewer on CentOS 8
How to install Perl 5 on CentOS
How to install Git on CentOS 8
How to install PHP7.4 in CentOS
How to install Gradle on CentOS 8
How to install Elasticsearch on CentOS 8
How to install Jenkins on CentOS 8
How to install Java on CentOS 8
How to install Go on CentOS 8
Linux CentOS 7 install JDK detailed steps
How to install GCC on CentOS 8
How to install Yarn on CentOS 8
How to install Nginx on CentOS 8
How to install Asterisk on CentOS 7
How to install Jenkins on CentOS 8
How to upgrade to PHP 7 on Ubuntu 14.04
How to install Vagrant on CentOS 8
How to install Python 3.8 on CentOS 8
How to install Tomcat 9 on CentOS 8
How to install Webmin on CentOS 8
Centos6.7 comes with python upgrade to
Centos6 method steps to build gitlab
How to install Ruby on CentOS 8
How to install Skype on CentOS 8
How to install htop on CentOS 8
How to install Python on CentOS 8
How to install Elasticsearch on CentOS 8
How to install HDP2.6 in Centos7.2
How to install Postgresql on CentOS 8
How to install Wordpress on Centos
How to install htop on CentOS 8
How to install TeamViewer on CentOS 8
How to add swap on CentOS 7
How to install MariaDB on CentOS 8
How to install MongoDB on CentOS 7
Detailed steps to set up a Git server on CentOS
How to install Odoo 13 on CentOS 8
How to install Apache on CentOS 8
How to disable SELinux on CentOS 8
How to install OpenCV on CentOS 8
Steps to upgrade Laravel 5.4 to 5.6 in Ubuntu 16.04
CentOS 6.8 method steps to install vsftpd
How to install PHP on CentOS 8