CentOS7.X离线升级CentOS8.X

当我们想去体验一个新软件的时候,好不如容打开官方下载地址,结果根据自己的操作系统一看,啊这怎么没有呢?

那么此时我们改怎么办,难道直接???

再或者说保留数据重新安装么,其实很多时候,平滑升级往往比重新安装更省时省力。

本文我们将介绍,离线方式升级CentOS7.9至CentOS8.2,当然了,别的版本也可以适用哈。

1、首先我们先来查询一下当前主机的操作系统版本及内核版本

[root@www ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@www ~]# uname -a
Linux www.xiaoxin.com 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@www ~]# 

2、由于升级至CentOS8.X版本开始使用dnf替代yum,所以这里我们需要在现有操作系统安装dnf,dnf对于现有的本地iso镜像是没有的,我们需要进行离线安装,所以我们需要提前预备一台可以上网的主机,来下载我们安装dnf所需的依赖,进行rpm安装。

首先我们先安装epel。

[root@www ~]# yum install epel-release
。。。
Installing:
 epel-release                                      noarch                                      7-11                                       extras                                       15 k

Transaction Summary
============================================================================================================================================================================================
Install  1 Package

Total download size: 15 k
Installed size: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-11.noarch.rpm                                                                                                                                         |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : epel-release-7-11.noarch                                                                                                                                                 1/1 
  Verifying  : epel-release-7-11.noarch                                                                                                                                                 1/1 

Installed:
  epel-release.noarch 0:7-11                                                                                                                                                                

Complete!

3、安装完epel后,我们通过yum命令将安装dnf所需的依赖下载到指定目录下。

[root@www ~]# yum install dnf --downloadonly --downloaddir=/tmp/dnf
。。。
Installing:
 dnf                                                 noarch                                4.0.9.2-2.el7_9                                     extras                                 357 k
Installing for dependencies:
 deltarpm                                            x86_64                                3.6-3.el7                                           base                                    82 k
 dnf-data                                            noarch                                4.0.9.2-2.el7_9                                     extras                                  51 k
 libcomps                                            x86_64                                0.1.8-14.el7                                        extras                                  75 k
 libdnf                                              x86_64                                0.22.5-2.el7_9                                      extras                                 535 k
 libmodulemd                                         x86_64                                1.6.3-1.el7                                         extras                                 141 k
 librepo                                             x86_64                                1.8.1-8.el7_9                                       updates                                 82 k
 libreport-filesystem                                x86_64                                2.1.11-53.el7.centos                                base                                    41 k
 libsolv                                             x86_64                                0.6.34-4.el7                                        base                                   329 k
 python-enum34                                       noarch                                1.0.4-1.el7                                         base                                    52 k
 python2-dnf                                         noarch                                4.0.9.2-2.el7_9                                     extras                                 414 k
 python2-hawkey                                      x86_64                                0.22.5-2.el7_9                                      extras                                  71 k
 python2-libcomps                                    x86_64                                0.1.8-14.el7                                        extras                                  47 k
 python2-libdnf                                      x86_64                                0.22.5-2.el7_9                                      extras                                 611 k

Transaction Summary
============================================================================================================================================================================================
Install  1 Package (+13 Dependent packages)

Total download size: 2.8 M
Installed size: 11 M
Background downloading packages, then exiting:
(1/14): deltarpm-3.6-3.el7.x86_64.rpm                                                                                                                                |  82 kB  00:00:00     
(2/14): dnf-data-4.0.9.2-2.el7_9.noarch.rpm                                                                                                                          |  51 kB  00:00:00     
(3/14): libcomps-0.1.8-14.el7.x86_64.rpm                                                                                                                             |  75 kB  00:00:00     
(4/14): dnf-4.0.9.2-2.el7_9.noarch.rpm                                                                                                                               | 357 kB  00:00:00     
(5/14): libmodulemd-1.6.3-1.el7.x86_64.rpm                                                                                                                           | 141 kB  00:00:00     
(6/14): libdnf-0.22.5-2.el7_9.x86_64.rpm                                                                                                                             | 535 kB  00:00:00     
(7/14): libreport-filesystem-2.1.11-53.el7.centos.x86_64.rpm                                                                                                         |  41 kB  00:00:02     
(8/14): python2-hawkey-0.22.5-2.el7_9.x86_64.rpm                                                                                                                     |  71 kB  00:00:00     
(9/14): python2-libcomps-0.1.8-14.el7.x86_64.rpm                                                                                                                     |  47 kB  00:00:00     
(10/14): python2-libdnf-0.22.5-2.el7_9.x86_64.rpm                                                                                                                    | 611 kB  00:00:00     
(11/14): librepo-1.8.1-8.el7_9.x86_64.rpm                                                                                                                            |  82 kB  00:00:03     
(12/14): python2-dnf-4.0.9.2-2.el7_9.noarch.rpm                                                                                                                      | 414 kB  00:00:01     
(13/14): python-enum34-1.0.4-1.el7.noarch.rpm                                                                                                                        |  52 kB  00:00:03     
(14/14): libsolv-0.6.34-4.el7.x86_64.rpm                                                                                                                             | 329 kB  00:00:08     
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                       306 kB/s | 2.8 MB  00:00:09     
exiting because "Download Only" specified

4、查看下载内容,对下载内容进行打包。

[root@www ~]# ll /tmp/dnf/
total 2916
-rw-r--r--. 1 root root  83984 Jul  4  2014 deltarpm-3.6-3.el7.x86_64.rpm
-rw-r--r--. 1 root root 365572 Apr  9  2021 dnf-4.0.9.2-2.el7_9.noarch.rpm
-rw-r--r--. 1 root root  52316 Apr  9  2021 dnf-data-4.0.9.2-2.el7_9.noarch.rpm
-rw-r--r--. 1 root root  76620 Apr 29  2020 libcomps-0.1.8-14.el7.x86_64.rpm
-rw-r--r--. 1 root root 548248 Nov  9  2020 libdnf-0.22.5-2.el7_9.x86_64.rpm
-rw-r--r--. 1 root root 144572 Dec  1  2018 libmodulemd-1.6.3-1.el7.x86_64.rpm
-rw-r--r--. 1 root root  83640 Nov 18  2020 librepo-1.8.1-8.el7_9.x86_64.rpm
-rw-r--r--. 1 root root  41636 Apr  4  2020 libreport-filesystem-2.1.11-53.el7.centos.x86_64.rpm
-rw-r--r--. 1 root root 336732 Aug 23  2019 libsolv-0.6.34-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 424020 Apr  9  2021 python2-dnf-4.0.9.2-2.el7_9.noarch.rpm
-rw-r--r--. 1 root root  72388 Nov  9  2020 python2-hawkey-0.22.5-2.el7_9.x86_64.rpm
-rw-r--r--. 1 root root  47972 Apr 29  2020 python2-libcomps-0.1.8-14.el7.x86_64.rpm
-rw-r--r--. 1 root root 625440 Nov  9  2020 python2-libdnf-0.22.5-2.el7_9.x86_64.rpm
-rw-r--r--. 1 root root  53496 Nov 25  2015 python-enum34-1.0.4-1.el7.noarch.rpm
[root@www ~]# tar -zcf dnf.tar.gz /tmp/dnf/
tar: Removing leading `/' from member names

5、执行完如上操作,我们就可以将打包好的离线包上传至服务器了,然后进行解压安装。

[root@xxx tmp]# tar -zxvf /root/dnf.tar.gz -C /tmp/dnf/
tmp/dnf/
tmp/dnf/deltarpm-3.6-3.el7.x86_64.rpm
tmp/dnf/dnf-data-4.0.9.2-2.el7_9.noarch.rpm
tmp/dnf/libcomps-0.1.8-14.el7.x86_64.rpm
tmp/dnf/dnf-4.0.9.2-2.el7_9.noarch.rpm
tmp/dnf/libmodulemd-1.6.3-1.el7.x86_64.rpm
tmp/dnf/libdnf-0.22.5-2.el7_9.x86_64.rpm
tmp/dnf/libreport-filesystem-2.1.11-53.el7.centos.x86_64.rpm
tmp/dnf/python2-hawkey-0.22.5-2.el7_9.x86_64.rpm
tmp/dnf/python2-libcomps-0.1.8-14.el7.x86_64.rpm
tmp/dnf/python2-libdnf-0.22.5-2.el7_9.x86_64.rpm
tmp/dnf/librepo-1.8.1-8.el7_9.x86_64.rpm
tmp/dnf/python2-dnf-4.0.9.2-2.el7_9.noarch.rpm
tmp/dnf/python-enum34-1.0.4-1.el7.noarch.rpm
tmp/dnf/libsolv-0.6.34-4.el7.x86_64.rpm
[root@xxx tmp]# cd dnf/
[root@xxx dnf]# rpm -ivh *.rpm --nodeps 
Preparing...                          ################################# [100%]
Updating / installing...
   1:libmodulemd-1.6.3-1.el7          ################################# [  7%]
   2:libsolv-0.6.34-4.el7             ################################# [ 14%]
   3:librepo-1.8.1-8.el7_9            ################################# [ 21%]
   4:libdnf-0.22.5-2.el7_9            ################################# [ 29%]
   5:python2-libdnf-0.22.5-2.el7_9    ################################# [ 36%]
   6:python2-hawkey-0.22.5-2.el7_9    ################################# [ 43%]
   7:python-enum34-1.0.4-1.el7        ################################# [ 50%]
   8:libreport-filesystem-2.1.11-53.el################################# [ 57%]
   9:dnf-data-4.0.9.2-2.el7_9         ################################# [ 64%]
  10:libcomps-0.1.8-14.el7            ################################# [ 71%]
  11:python2-libcomps-0.1.8-14.el7    ################################# [ 79%]
  12:deltarpm-3.6-3.el7               ################################# [ 86%]
  13:python2-dnf-4.0.9.2-2.el7_9      ################################# [ 93%]
  14:dnf-4.0.9.2-2.el7_9              ################################# [100%]
[root@xxx dnf]# 

6、此时我们就可以执行dnf命令了。

[root@xxx dnf]# dnf
usage: dnf [options] COMMAND

7、由于我们需要离线升级所以此时需要挂载所需ISO镜像,制作本地yum源。

[root@xxx dnf]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@xxx dnf]# cat /etc/yum.repos.d/local.repo 
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS/
gpgcheck=0
enable=1

[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream/
gpgcheck=0
enable=1

8、此时我们就可以执行如下操作进行升级

[root@xxx dnf]# dnf --allowerasing distro-sync -y

9、如果出现报错存在组件冲突,则可以执行如下操作解决冲突。

[root@xxx dnf]# rpm -e kernel sysvinit-tools gdbm kexec-tools systemd-sysv yum --nodeps

10、安装内核

[root@xxx dnf]# dnf -y install kernel  
。。。
Installing:
 kernel                                           x86_64                                   4.18.0-193.el8                                    BaseOS                                   2.8 M
Installing dependencies:
 kernel-core                                      x86_64                                   4.18.0-193.el8                                    BaseOS                                    28 M
 kernel-modules                                   x86_64                                   4.18.0-193.el8                                    BaseOS                                    23 M

Transaction Summary
============================================================================================================================================================================================
Install  3 Packages

Total size: 54 M
Installed size: 81 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                    1/1 
  Installing       : kernel-core-4.18.0-193.el8.x86_64                                                                                                                                  1/3 
  Running scriptlet: kernel-core-4.18.0-193.el8.x86_64                                                                                                                                  1/3 
  Installing       : kernel-modules-4.18.0-193.el8.x86_64                                                                                                                               2/3 
  Running scriptlet: kernel-modules-4.18.0-193.el8.x86_64                                                                                                                               2/3 
  Installing       : kernel-4.18.0-193.el8.x86_64                                                                                                                                       3/3 
  Running scriptlet: kernel-core-4.18.0-193.el8.x86_64                                                                                                                                  3/3 
  Running scriptlet: kernel-4.18.0-193.el8.x86_64                                                                                                                                       3/3 
  Verifying        : kernel-4.18.0-193.el8.x86_64                                                                                                                                       1/3 
  Verifying        : kernel-core-4.18.0-193.el8.x86_64                                                                                                                                  2/3 
  Verifying        : kernel-modules-4.18.0-193.el8.x86_64                                                                                                                               3/3 

Installed:
  kernel-4.18.0-193.el8.x86_64                              kernel-core-4.18.0-193.el8.x86_64                              kernel-modules-4.18.0-193.el8.x86_64                             

Complete!

11、重启操作系统

[root@xxx dnf]# reboot

12、查看版本信息

[root@xxx ~]# cat /etc/redhat-release 
CentOS Linux release 8.2.2004 (Core) 
[root@xxx ~]# uname -a
Linux xxx 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新宽网络

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值