CentOS7.X离线升级CentOS8.X

发布时间:2026/7/28 10:58:39
CentOS7.X离线升级CentOS8.X 当我们想去体验一个新软件的时候好不如容打开官方下载地址结果根据自己的操作系统一看啊这怎么没有呢那么此时我们改怎么办难道直接再或者说保留数据重新安装么其实很多时候平滑升级往往比重新安装更省时省力。本文我们将介绍离线方式升级CentOS7.9至CentOS8.2当然了别的版本也可以适用哈。1、首先我们先来查询一下当前主机的操作系统版本及内核版本[rootwww ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootwww ~]# 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 [rootwww ~]#2、由于升级至CentOS8.X版本开始使用dnf替代yum所以这里我们需要在现有操作系统安装dnfdnf对于现有的本地iso镜像是没有的我们需要进行离线安装所以我们需要提前预备一台可以上网的主机来下载我们安装dnf所需的依赖进行rpm安装。首先我们先安装epel。[rootwww ~]# 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所需的依赖下载到指定目录下。[rootwww ~]# 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 specified4、查看下载内容对下载内容进行打包。[rootwww ~]# 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 [rootwww ~]# tar -zcf dnf.tar.gz /tmp/dnf/ tar: Removing leading / from member names5、执行完如上操作我们就可以将打包好的离线包上传至服务器了然后进行解压安装。[rootxxx 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 [rootxxx tmp]# cd dnf/ [rootxxx 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%] [rootxxx dnf]#6、此时我们就可以执行dnf命令了。[rootxxx dnf]# dnf usage: dnf [options] COMMAND7、由于我们需要离线升级所以此时需要挂载所需ISO镜像制作本地yum源。[rootxxx dnf]# mount /dev/cdrom /mnt mount: /dev/sr0 is write-protected, mounting read-only [rootxxx dnf]# cat /etc/yum.repos.d/local.repo [BaseOS] nameBaseOS baseurlfile:///mnt/BaseOS/ gpgcheck0 enable1 [AppStream] nameAppStream baseurlfile:///mnt/AppStream/ gpgcheck0 enable18、此时我们就可以执行如下操作进行升级[rootxxx dnf]# dnf --allowerasing distro-sync -y9、如果出现报错存在组件冲突则可以执行如下操作解决冲突。[rootxxx dnf]# rpm -e kernel sysvinit-tools gdbm kexec-tools systemd-sysv yum --nodeps10、安装内核[rootxxx 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、重启操作系统[rootxxx dnf]# reboot12、查看版本信息[rootxxx ~]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) [rootxxx ~]# 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