概述
前文(《
【PG16】 后 RHEL 7 时代, PG 16 如何在 CentOS 7 上运行
》) 说到,PG16 已经对 CentOS 7 停止支持,不再提供相应的 RPM 包,或许也是时候考虑将 CentOS 7 系统进行升级了。
本文将演示如何将 CentOS 7.9 升级到 Rocky Linux 9.2。
由于某些不可控因素,无法从 CentOS 7.9 直接升级到 Rocky Linux 9.2,而是选择这样一个路径:
CentOS 7.9 --> CentOS 8.5 --> Rocky Linux 8.8 --> Rocky Linux 9.2
检查
检查系统 Kernel 及 OS 版本。
uname -r cat /etc/redhat-release
输出日志:
[root@shawnyan ~]# uname -r 3.10.0-1160.95.1.el7.x86_64 [root@shawnyan ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
安装 dnf
从 RHEL 8 开始,系统默认安装并使用 dnf 作为包管理器,这里先安装 dnf,以替代 yum。
yum install dnf -y dnf --version
输出日志:
[root@shawnyan ~]# yum install dnf -y Loaded plugins: fastestmirror, langpacks ... Dependencies Resolved ============================================================================================================================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================================================================================================================ Installing: dnf noarch 4.0.9.2-2.el7_9 extras-aliyun 357 k Installing for dependencies: dnf-data noarch 4.0.9.2-2.el7_9 extras-aliyun 51 k libcomps x86_64 0.1.8-14.el7 extras-aliyun 75 k libdnf x86_64 0.22.5-2.el7_9 extras-aliyun 535 k libmodulemd x86_64 1.6.3-1.el7 extras-aliyun 141 k librepo x86_64 1.8.1-8.el7_9 updates-aliyun 82 k libsolv x86_64 0.6.34-4.el7 base-aliyun 329 k python2-dnf noarch 4.0.9.2-2.el7_9 extras-aliyun 414 k python2-hawkey x86_64 0.22.5-2.el7_9 extras-aliyun 71 k python2-libcomps x86_64 0.1.8-14.el7 extras-aliyun 47 k python2-libdnf x86_64 0.22.5-2.el7_9 extras-aliyun 611 k Transaction Summary ============================================================================================================================================================================================================================================ Install 1 Package (+10 Dependent packages) Total download size: 2.6 M Installed size: 10 M Downloading packages: (1/11): dnf-data-4.0.9.2-2.el7_9.noarch.rpm | 51 kB 00:00:00 (2/11): dnf-4.0.9.2-2.el7_9.noarch.rpm | 357 kB 00:00:00 (3/11): libcomps-0.1.8-14.el7.x86_64.rpm | 75 kB 00:00:00 (4/11): libmodulemd-1.6.3-1.el7.x86_64.rpm | 141 kB 00:00:00 (5/11): libdnf-0.22.5-2.el7_9.x86_64.rpm | 535 kB 00:00:00 (6/11): librepo-1.8.1-8.el7_9.x86_64.rpm | 82 kB 00:00:00 (7/11): python2-hawkey-0.22.5-2.el7_9.x86_64.rpm | 71 kB 00:00:00 (8/11): python2-dnf-4.0.9.2-2.el7_9.noarch.rpm | 414 kB 00:00:00 (9/11): python2-libcomps-0.1.8-14.el7.x86_64.rpm | 47 kB 00:00:00 (10/11): libsolv-0.6.34-4.el7.x86_64.rpm | 329 kB 00:00:00 (11/11): python2-libdnf-0.22.5-2.el7_9.x86_64.rpm | 611 kB 00:00:00 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.2 MB/s | 2.6 MB 00:00:02 ... [root@shawnyan ~]# dnf --version 4.0.9 Installed: dnf-0:4.0.9.2-2.el7_9.noarch at Thu 05 Oct 2023 02:54:34 PM CST Built : CentOS BuildSystem <http://bugs.centos.org> at Wed 07 Apr 2021 03:52:38 PM CST Installed: rpm-0:4.11.3-48.el7_9.x86_64 at Fri 10 Feb 2023 02:11:48 PM CST Built : CentOS BuildSystem <http://bugs.centos.org> at Wed 24 Nov 2021 04:33:39 PM CST [root@shawnyan ~]#
检查包冲突,并卸载冲突的包
在升级之前,需要先解决包冲突的问题,不然升级过程中会遇到报错。这一步也是在后续整理文章时加入的。
具体命令如下:
yum install -y yum-utils rpmconf rpmconf -a package-cleanup --leaves package-cleanup --orphans yum remove -y <package>
输出日志:
[root@shawnyan ~]# dnf install yum-utils Last metadata expiration check: 0:02:42 ago on Sun 15 Oct 2023 02:32:45 PM CST. Dependencies resolved. ============================================================================================================================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================================================================================================================ Installing: yum-utils noarch 1.1.31-54.el7_8 base-aliyun 122 k Installing dependencies: yum noarch 3.4.3-168.el7.centos base-aliyun 1.2 M yum-metadata-parser x86_64 1.1.4-10.el7 base-aliyun 28 k yum-plugin-fastestmirror noarch 1.1.31-54.el7_8 base-aliyun 34 k Transaction Summary ============================================================================================================================================================================================================================================ Install 4 Packages Total download size: 1.4 M Installed size: 6.0 M Is this ok [y/N]: y Downloading Packages: (1/4): yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm 84 kB/s | 34 kB 00:00 (2/4): yum-metadata-parser-1.1.4-10.el7.x86_64.rpm 54 kB/s | 28 kB 00:00 (3/4): yum-utils-1.1.31-54.el7_8.noarch.rpm 543 kB/s | 122 kB 00:00 (4/4): yum-3.4.3-168.el7.centos.noarch.rpm 899 kB/s | 1.2 MB 00:01 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.0 MB/s | 1.4 MB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : yum-metadata-parser-1.1.4-10.el7.x86_64 1/4 Installing : yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch 2/4 Installing : yum-3.4.3-168.el7.centos.noarch 3/4 Installing : yum-utils-1.1.31-54.el7_8.noarch 4/4 Verifying : yum-3.4.3-168.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-54.el7_8.noarch 3/4 Verifying : yum-utils-1.1.31-54.el7_8.noarch 4/4 Installed: yum-utils-1.1.31-54.el7_8.noarch yum-3.4.3-168.el7.centos.noarch yum-metadata-parser-1.1.4-10.el7.x86_64 yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch Complete!
卸载 yum
确认没有包冲突之后,就可以卸载 yum 了,之后就完全使用 dnf 作为替代。
dnf remove -y yum* rm -Rf /etc/yum
输出日志:
[root@shawnyan ~]# dnf remove -y yum* Dependencies resolved. ============================================================================================================================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================================================================================================================ Removing: yum noarch 3.4.3-168.el7.centos @System 5.6 M yum-langpacks noarch 0.4.2-7.el7 @System 71 k yum-metadata-parser x86_64 1.1.4-10.el7 @System 57 k yum-plugin-fastestmirror noarch 1.1.31-54.el7_8 @System 53 k yum-utils noarch 1.1.31-54.el7_8 @System 337 k Removing dependent packages: firstboot x86_64 19.12-1.el7 @System 294 k gnome-packagekit x86_64 3.28.0-1.el7 @System 0 gnome-software x86_64 3.28.2-3.el7 @System 8.4 M initial-setup-gui x86_64 0.3.9.45-1.el7.centos @System 32 k Removing unused dependencies: PackageKit x86_64 1.1.10-2.el7.centos @System 2.6 M PackageKit-yum x86_64 1.1.10-2.el7.centos @System 301 k anaconda-core x86_64 21.48.22.159-1.el7.centos @System 8.2 M anaconda-gui x86_64 21.48.22.159-1.el7.centos @System 1.5 M anaconda-tui x86_64 21.48.22.159-1.el7.centos @System 447 k createrepo noarch 0.9.9-28.el7 @System 302 k gnome-packagekit-common x86_64 3.28.0-1.el7 @System 6.4 M gnome-packagekit-installer x86_64 3.28.0-1.el7 @System 202 k gnome-packagekit-updater x86_64 3.28.0-1.el7 @System 194 k initial-setup x86_64 0.3.9.45-1.el7.centos @System 222 k python-meh noarch 0.25.3-1.el7 @System 254 k python-meh-gui noarch 0.25.3-1.el7 @System 24 k Transaction Summary ============================================================================================================================================================================================================================================ Remove 21 Packages Freed space: 35 M Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: initial-setup-gui-0.3.9.45-1.el7.centos.x86_64 1/21 Erasing : initial-setup-gui-0.3.9.45-1.el7.centos.x86_64 1/21 Running scriptlet: initial-setup-gui-0.3.9.45-1.el7.centos.x86_64 1/21 Erasing : anaconda-gui-21.48.22.159-1.el7.centos.x86_64 2/21 Erasing : gnome-packagekit-3.28.0-1.el7.x86_64 3/21 Running scriptlet: gnome-packagekit-3.28.0-1.el7.x86_64 3/21 Erasing : python-meh-gui-0.25.3-1.el7.noarch 4/21 Running scriptlet: initial-setup-0.3.9.45-1.el7.centos.x86_64 5/21 Erasing : initial-setup-0.3.9.45-1.el7.centos.x86_64 5/21 Running scriptlet: initial-setup-0.3.9.45-1.el7.centos.x86_64 5/21 Erasing : anaconda-tui-21.48.22.159-1.el7.centos.x86_64 6/21 Erasing : anaconda-core-21.48.22.159-1.el7.centos.x86_64 7/21 Erasing : createrepo-0.9.9-28.el7.noarch 8/21 Erasing : yum-utils-1.1.31-54.el7_8.noarch 9/21 Erasing : yum-langpacks-0.4.2-7.el7.noarch 10/21 warning: /etc/yum/pluginconf.d/langpacks.conf saved as /etc/yum/pluginconf.d/langpacks.conf.rpmsave Running scriptlet: firstboot-19.12-1.el7.x86_64 11/21 Erasing : firstboot-19.12-1.el7.x86_64 11/21 Running scriptlet: firstboot-19.12-1.el7.x86_64 11/21 Erasing : python-meh-0.25.3-1.el7.noarch 12/21 Erasing : gnome-packagekit-installer-3.28.0-1.el7.x86_64 13/21 Erasing : gnome-packagekit-updater-3.28.0-1.el7.x86_64 14/21 Erasing : gnome-packagekit-common-3.28.0-1.el7.x86_64 15/21 Erasing : gnome-software-3.28.2-3.el7.x86_64 16/21 Running scriptlet: gnome-software-3.28.2-3.el7.x86_64 16/21 Erasing : PackageKit-yum-1.1.10-2.el7.centos.x86_64 17/21 Erasing : PackageKit-1.1.10-2.el7.centos.x86_64 18/21 Erasing : yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch 19/21 Erasing : yum-3.4.3-168.el7.centos.noarch 20/21 Erasing : yum-metadata-parser-1.1.4-10.el7.x86_64 21/21 Verifying : PackageKit-1.1.10-2.el7.centos.x86_64 1/21 Verifying : PackageKit-yum-1.1.10-2.el7.centos.x86_64 2/21 Verifying : anaconda-core-21.48.22.159-1.el7.centos.x86_64 3/21 Verifying : anaconda-gui-21.48.22.159-1.el7.centos.x86_64 4/21 Verifying : anaconda-tui-21.48.22.159-1.el7.centos.x86_64 5/21 Verifying : createrepo-0.9.9-28.el7.noarch 6/21 Verifying : firstboot-19.12-1.el7.x86_64 7/21 Verifying : gnome-packagekit-3.28.0-1.el7.x86_64 8/21 Verifying : gnome-packagekit-common-3.28.0-1.el7.x86_64 9/21 Verifying : gnome-packagekit-installer-3.28.0-1.el7.x86_64 10/21 Verifying : gnome-packagekit-updater-3.28.0-1.el7.x86_64 11/21 Verifying : gnome-software-3.28.2-3.el7.x86_64 12/21 Verifying : initial-setup-0.3.9.45-1.el7.centos.x86_64 13/21 Verifying : initial-setup-gui-0.3.9.45-1.el7.centos.x86_64 14/21 Verifying : python-meh-0.25.3-1.el7.noarch 15/21 Verifying : python-meh-gui-0.25.3-1.el7.noarch 16/21 Verifying : yum-3.4.3-168.el7.centos.noarch 17/21 Verifying : yum-langpacks-0.4.2-7.el7.noarch 18/21 Verifying : yum-metadata-parser-1.1.4-10.el7.x86_64 19/21 Verifying : yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch 20/21 Verifying : yum-utils-1.1.31-54.el7_8.noarch 21/21 Removed: yum-3.4.3-168.el7.centos.noarch yum-langpacks-0.4.2-7.el7.noarch yum-metadata-parser-1.1.4-10.el7.x86_64 yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch yum-utils-1.1.31-54.el7_8.noarch firstboot-19.12-1.el7.x86_64 gnome-packagekit-3.28.0-1.el7.x86_64 gnome-software-3.28.2-3.el7.x86_64 initial-setup-gui-0.3.9.45-1.el7.centos.x86_64 PackageKit-1.1.10-2.el7.centos.x86_64 PackageKit-yum-1.1.10-2.el7.centos.x86_64 anaconda-core-21.48.22.159-1.el7.centos.x86_64 anaconda-gui-21.48.22.159-1.el7.centos.x86_64 anaconda-tui-21.48.22.159-1.el7.centos.x86_64 createrepo-0.9.9-28.el7.noarch gnome-packagekit-common-3.28.0-1.el7.x86_64 gnome-packagekit-installer-3.28.0-1.el7.x86_64 gnome-packagekit-updater-3.28.0-1.el7.x86_64 initial-setup-0.3.9.45-1.el7.centos.x86_64 python-meh-0.25.3-1.el7.noarch python-meh-gui-0.25.3-1.el7.noarch Complete! [root@shawnyan ~]# rm -Rf /etc/yum [root@shawnyan ~]#
切换 yum 源到 Rocky Linux 8,并升级 – FAILED
将现有的 yum 源文件进行备份,并上传 Rocky Linux 8 的仓库文件。
cd /etc/yum.repos.d mkdir el7 mv *.repo el7 vi rocky.repo
然后执行升级命令。
dnf upgrade
不过这样从 CentOS 7 直接升级到 Rocky Linux 8 总是报错,尚未找到合适的解决办法。
Running transaction check Error: transaction check vs depsolve: (gcc >= 8 with gcc < 9) is needed by annobin-10.94-1.el8.x86_64 rpmlib(RichDependencies) <= 4.12.0-1 is needed by annobin-10.94-1.el8.x86_64 (flatpak-selinux = 1.10.7-1.el8 if selinux-policy-targeted) is needed by flatpak-1.10.7-1.el8.x86_64 rpmlib(RichDependencies) <= 4.12.0-1 is needed by flatpak-1.10.7-1.el8.x86_64 (annobin if gcc) is needed by redhat-rpm-config-131-1.el8.noarch (gcc-plugin-annobin if gcc) is needed by redhat-rpm-config-131-1.el8.noarch rpmlib(RichDependencies) <= 4.12.0-1 is needed by redhat-rpm-config-131-1.el8.noarch (NetworkManager >= 1.20 or dhclient) is needed by dracut-network-049-223.git20230119.el8.x86_64 rpmlib(RichDependencies) <= 4.12.0-1 is needed by dracut-network-049-223.git20230119.el8.x86_64 (selinux-policy >= 3.14.3-98 if selinux-policy) is needed by rng-tools-6.15-3.el8.x86_64 rpmlib(RichDependencies) <= 4.12.0-1 is needed by rng-tools-6.15-3.el8.x86_64 (systemd-standalone-tmpfiles or systemd) is needed by samba-common-0:4.17.5-3.el8_8.noarch rpmlib(RichDependencies) <= 4.12.0-1 is needed by samba-common-0:4.17.5-3.el8_8.noarch To diagnose the problem, try running: 'rpm -Va --nofiles --nodigest'. You probably have corrupted RPMDB, running 'rpm --rebuilddb' might fix the issue. The downloaded packages were saved in cache until the next successful transaction. You can remove cached packages by executing 'dnf clean packages'.
无奈只好采取迂回战略,先从 CentOS 7 升级到 CentOS 8,再迁移到 Rocky Linux。
切换 yum 源到 CentOS Vault 8.5 – SUCCESS
将 yum 源切换到 CentOS Vault 8.5。
vi centos8.repo
测试 yum 源是否可以正常使用。
dnf group list
输出结果:
[root@shawnyan yum.repos.d]# dnf group list AppStream-Aliyun 8.6 MB/s | 11 MB 00:01 BaseOS-Aliyun 7.0 MB/s | 7.1 MB 00:01 epel-aliyun 9.3 MB/s | 16 MB 00:01 Last metadata expiration check: 0:00:02 ago on Thu 05 Oct 2023 10:56:02 PM CST.
关键步骤来了,从 CentOS 7 升级到 CentOS 8。
使用
dnf distro-sync
命令,将系统中已安装的软件包同步到最新版本。
rpm --rebuilddb # 移除旧 CentOS kernel rpm -e `rpm -q kernel` --nodeps dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync --disablerepo=AppStream --best
升级日志太多,此处省略一万字。。。
... Cleanup : setup-2.8.71-11.el7.noarch 1812/1816 Obsoleting : centos-release-7-9.2009.1.el7.centos.x86_64 1813/1816 Cleanup : ncurses-base-5.9-14.20130511.el7_4.noarch 1815/1816 Cleanup : libgcc-4.8.5-44.el7.x86_64 1816/1816 Running scriptlet: libgcc-4.8.5-44.el7.x86_64 1816/1816 Running scriptlet: filesystem-3.8-6.el8.x86_64 1816/1816 Running scriptlet: glibc-all-langpacks-2.28-164.el8.x86_64 1816/1816 Running scriptlet: ca-certificates-2021.2.50-80.0.el8_4.noarch 1816/1816 Running scriptlet: GeoIP-GeoLite-data-2018.06-5.el8.noarch 1816/1816 Running scriptlet: authselect-libs-1.2.2-3.el8.x86_64 1816/1816 Running scriptlet: kernel-core-4.18.0-348.7.1.el8_5.x86_64 1816/1816 ... Complete!
升级完成后,查看系统版本,可以看到已经升级到了 CentOS 8.5,但是内核版本还停留在 el7,需要重启系统。
[root@shawnyan ~]# uname -r 3.10.0-1160.95.1.el7.x86_64 [root@shawnyan ~]# cat /etc/redhat-release CentOS Linux release 8.5.2111 [root@shawnyan yum.repos.d]# hostnamectl Static hostname: shawnyan Icon name: computer-vm Chassis: vm Machine ID: e7f51860c9c34455bcb755eac18c8868 Boot ID: 9558aec7c722488da9388e251df4ebbf Virtualization: vmware Operating System: CentOS Linux 8 CPE OS Name: cpe:/o:centos:centos:8 Kernel: Linux 3.10.0-1160.95.1.el7.x86_64 Architecture: x86-64 [root@shawnyan yum.repos.d]# reboot
重启之后,可以看到版本都升级到 el8 了。
Last login: Tue Oct 24 23:59:50 2023 from 192.168.8.1 [root@shawnyan ~]# cat /etc/redhat-release CentOS Linux release 8.5.2111 [root@shawnyan ~]# uname -a Linux shawnyan 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux [root@shawnyan ~]# hostnamectl Static hostname: shawnyan Icon name: computer-vm Chassis: vm Machine ID: e7f51860c9c34455bcb755eac18c8868 Boot ID: 56c5f6e4c9a0497db3654cf0d4b48541 Virtualization: vmware Operating System: CentOS Linux 8 CPE OS Name: cpe:/o:centos:centos:8 Kernel: Linux 4.18.0-348.7.1.el8_5.x86_64 Architecture: x86-64 [root@shawnyan ~]#
从 CentOS 8 切换到 Rocky 8
从 CentOS 切换到 Rocky,需要先切换 yum 源,然后执行
dnf swap
切换命令即可。
dnf swap 'centos-*' rocky-release
输出日志:
[root@shawnyan yum.repos.d]# dnf swap 'centos-*' rocky-release epel-aliyun 1.3 MB/s | 16 MB 00:12 BaseOS-Aliyun 1.9 MB/s | 7.2 MB 00:03 AppStream-Aliyun 1.3 MB/s | 12 MB 00:08 Last metadata expiration check: 0:00:01 ago on Wed 25 Oct 2023 12:42:08 AM CST. Dependencies resolved. ============================================================================================================================================================================================================================================ Package Architecture Version Repository Size ============================================================================================================================================================================================================================================ Installing: rocky-release noarch 8.8-1.8.el8 BaseOS-Aliyun 22 k Installing dependencies: rocky-gpg-keys noarch 8.8-1.8.el8 BaseOS-Aliyun 13 k rocky-repos noarch 8.8-1.8.el8 BaseOS-Aliyun 15 k Removing: centos-gpg-keys noarch 1:8-3.el8 @base 3.3 k centos-indexhtml noarch 8.0-0.el8 @base 505 k centos-linux-release noarch 8.5-1.2111.el8 @base 26 k centos-linux-repos noarch 8-3.el8 @base 26 k centos-logos x86_64 85.8-2.el8 @base 716 k centos-release-scl noarch 2-3.el7.centos @System 20 k centos-release-scl-rh noarch 2-3.el7.centos @System 20 k Transaction Summary ============================================================================================================================================================================================================================================ Install 3 Packages Remove 7 Packages Total download size: 50 k Is this ok [y/N]: y Downloading Packages: (1/3): rocky-gpg-keys-8.8-1.8.el8.noarch.rpm 68 kB/s | 13 kB 00:00 (2/3): rocky-release-8.8-1.8.el8.noarch.rpm 107 kB/s | 22 kB 00:00 (3/3): rocky-repos-8.8-1.8.el8.noarch.rpm 62 kB/s | 15 kB 00:00 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 202 kB/s | 50 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: rocky-gpg-keys-8.8-1.8.el8.noarch 1/1 Installing : rocky-gpg-keys-8.8-1.8.el8.noarch 1/10 Installing : rocky-release-8.8-1.8.el8.noarch 2/10 Installing : rocky-repos-8.8-1.8.el8.noarch 3/10 Erasing : centos-release-scl-2-3.el7.centos.noarch 4/10 warning: file /etc/yum.repos.d/CentOS-SCLo-scl.repo: remove failed: No such file or directory Erasing : centos-release-scl-rh-2-3.el7.centos.noarch 5/10 warning: file /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo: remove failed: No such file or directory Erasing : centos-linux-release-8.5-1.2111.el8.noarch 6/10 Erasing : centos-linux-repos-8-3.el8.noarch 7/10 warning: file /etc/yum.repos.d/CentOS-Linux-Sources.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-PowerTools.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-Plus.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-Media.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-HighAvailability.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-FastTrack.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-Extras.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-Devel.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-Debuginfo.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-BaseOS.repo: remove failed: No such file or directory warning: file /etc/yum.repos.d/CentOS-Linux-AppStream.repo: remove failed: No such file or directory Erasing : centos-gpg-keys-1:8-3.el8.noarch 8/10 Erasing : centos-logos-85.8-2.el8.x86_64 9/10 Running scriptlet: centos-logos-85.8-2.el8.x86_64 9/10 Erasing : centos-indexhtml-8.0-0.el8.noarch 10/10 Running scriptlet: centos-indexhtml-8.0-0.el8.noarch 10/10 Verifying : rocky-gpg-keys-8.8-1.8.el8.noarch 1/10 Verifying : rocky-release-8.8-1.8.el8.noarch 2/10 Verifying : rocky-repos-8.8-1.8.el8.noarch 3/10 Verifying : centos-gpg-keys-1:8-3.el8.noarch 4/10 Verifying : centos-indexhtml-8.0-0.el8.noarch 5/10 Verifying : centos-linux-release-8.5-1.2111.el8.noarch 6/10 Verifying : centos-linux-repos-8-3.el8.noarch 7/10 Verifying : centos-logos-85.8-2.el8.x86_64 8/10 Verifying : centos-release-scl-2-3.el7.centos.noarch 9/10 Verifying : centos-release-scl-rh-2-3.el7.centos.noarch 10/10 Installed: rocky-gpg-keys-8.8-1.8.el8.noarch rocky-release-8.8-1.8.el8.noarch rocky-repos-8.8-1.8.el8.noarch Removed: centos-gpg-keys-1:8-3.el8.noarch centos-indexhtml-8.0-0.el8.noarch centos-linux-release-8.5-1.2111.el8.noarch centos-linux-repos-8-3.el8.noarch centos-logos-85.8-2.el8.x86_64 centos-release-scl-2-3.el7.centos.noarch centos-release-scl-rh-2-3.el7.centos.noarch Complete! [root@shawnyan yum.repos.d]# [root@shawnyan yum.repos.d]# [root@shawnyan yum.repos.d]# [root@shawnyan yum.repos.d]# cat /etc/redhat-release Rocky Linux release 8.8 (Green Obsidian) [root@shawnyan yum.repos.d]# uname -a Linux shawnyan 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux [root@shawnyan yum.repos.d]# hostnamectl Static hostname: shawnyan Icon name: computer-vm Chassis: vm Machine ID: e7f51860c9c34455bcb755eac18c8868 Boot ID: 56c5f6e4c9a0497db3654cf0d4b48541 Virtualization: vmware Operating System: Rocky Linux 8.8 (Green Obsidian) CPE OS Name: cpe:/o:rocky:rocky:8:GA Kernel: Linux 4.18.0-348.7.1.el8_5.x86_64 Architecture: x86-64 [root@shawnyan yum.repos.d]#
切换很顺畅,完成后再执行升级,将系统内核更新到最新版本。
[root@shawnyan yum.repos.d]# dnf update --allowerasing ... Installed: NetworkManager-initscripts-updown-1:1.40.16-4.el8_8.noarch annobin-10.94-1.el8.x86_64 bind-libs-32:9.11.36-8.el8_8.2.x86_64 bind-libs-lite-32:9.11.36-8.el8_8.2.x86_64 bind-utils-32:9.11.36-8.el8_8.2.x86_64 elfutils-libelf-devel-0.188-3.el8.x86_64 fstrm-0.6.1-3.el8.x86_64 gcc-8.5.0-18.el8.x86_64 gcc-plugin-annobin-8.5.0-18.el8.x86_64 geolite2-city-20180605-1.el8.noarch geolite2-country-20180605-1.el8.noarch glibc-gconv-extra-2.28-225.el8_8.6.x86_64 isl-0.16.1-6.el8.x86_64 kernel-core-4.18.0-477.27.1.el8_8.x86_64 kernel-debug-devel-4.18.0-477.27.1.el8_8.x86_64 kernel-modules-4.18.0-477.27.1.el8_8.x86_64 libmaxminddb-1.2.0-10.el8.x86_64 protobuf-c-1.3.0-6.el8.x86_64 python3-bind-32:9.11.36-8.el8_8.2.noarch python3-chardet-3.0.4-7.el8.noarch python3-idna-2.5-5.el8.noarch python3-magic-5.33-24.el8.noarch python3-pexpect-4.3.1-3.el8.noarch python3-ply-3.9-9.el8.noarch python3-ptyprocess-0.5.2-4.el8.noarch python3-pysocks-1.6.8-3.el8.noarch python3-requests-2.20.0-3.el8_8.noarch python3-setuptools-39.2.0-7.el8.noarch python3-systemd-234-8.el8.x86_64 python3-unbound-1.16.2-5.el8.x86_64 python3-urllib3-1.24.2-5.el8.noarch unbound-libs-1.16.2-5.el8.x86_64 Complete! [root@shawnyan yum.repos.d]# dnf update --allowerasing Last metadata expiration check: 0:07:35 ago on Wed 25 Oct 2023 12:55:30 AM CST. Dependencies resolved. Nothing to do. Complete! [root@shawnyan yum.repos.d]#
升级后重启系统,并查看版本信息。
[root@shawnyan yum.repos.d]# cat /etc/redhat-release Rocky Linux release 8.8 (Green Obsidian) [root@shawnyan yum.repos.d]# uname -a Linux shawnyan 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux [root@shawnyan yum.repos.d]# reboot
Rocky 的登陆界面。
可以看到重启前后内核版本发生了变化。
Last login: Wed Oct 25 00:39:04 2023 from 192.168.8.1 [root@shawnyan ~]# cat /etc/redhat-release Rocky Linux release 8.8 (Green Obsidian) [root@shawnyan ~]# uname -a Linux shawnyan 4.18.0-477.27.1.el8_8.x86_64 #1 SMP Wed Sep 20 15:55:39 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux [root@shawnyan ~]# hostnamectl Static hostname: shawnyan Icon name: computer-vm Chassis: vm Machine ID: e7f51860c9c34455bcb755eac18c8868 Boot ID: 788363ea2b7442c8a5f269aeb2ff2ab2 Virtualization: vmware Operating System: Rocky Linux 8.8 (Green Obsidian) CPE OS Name: cpe:/o:rocky:rocky:8:GA Kernel: Linux 4.18.0-477.27.1.el8_8.x86_64 Architecture: x86-64 [root@shawnyan ~]#
到此,操作系统版本已经从 CentOS 7.9 来到了 Rocky Linux 8.8,接下来,将升级到 Rocky 9。
从 Rocky 8 升级到 Rocky 9
与 CentOS 7 升级到 CentOS 8 类似,先切换 yum 源到 Rocky 9,然后执行
dnf upgrade
升级命令。
[root@shawnyan yum.repos.d]# dnf upgrade --allowerasing Last metadata expiration check: 0:00:28 ago on Wed 25 Oct 2023 01:14:48 AM CST. Modular dependency problems: Problem 1: conflicting requests - nothing provides module(platform:el8) needed by module container-tools:rhel8:8080020231004143727:8108cfbc.x86_64 Problem 2: conflicting requests - nothing provides module(platform:el8) needed by module go-toolset:rhel8:8080020230629185105:17f3f959.x86_64 Problem 3: conflicting requests - nothing provides module(platform:el8) needed by module idm:client:8080020230516222414:152c1be2.x86_64 Problem 4: conflicting requests - nothing provides module(platform:el8) needed by module llvm-toolset:rhel8:8080020230201094332:fd72936b.x86_64 Problem 5: conflicting requests - nothing provides module(platform:el8) needed by module swig:3.0:8040020210530171044:9f9e2e7e.x86_64 Problem 6: conflicting requests - nothing provides module(platform:el8) needed by module virt:rhel:8080020230922173645:fd72936b.x86_64 Dependencies resolved. ============================================================================================================================================================================================================================================ Package Architecture Version Repository Size ============================================================================================================================================================================================================================================ Installing: ... rocky-gpg-keys noarch 9.2-1.6.el9 baseos 13 k rocky-release noarch 9.2-1.6.el9 baseos 23 k rocky-repos noarch 9.2-1.6.el9 baseos 12 k ... Transaction Summary ============================================================================================================================================================================================================================================ Install 184 Packages Upgrade 1057 Packages Remove 22 Packages Total download size: 844 M Is this ok [y/N]: y ... Upgrading : dracut-057-21.git20230214.el9.x86_64 803/2347 Installing : kernel-modules-core-5.14.0-284.30.1.el9_2.x86_64 804/2347 Installing : kernel-core-5.14.0-284.30.1.el9_2.x86_64 805/2347 Running scriptlet: kernel-core-5.14.0-284.30.1.el9_2.x86_64 805/2347 ... Complete!
安装完成,可以看到 kernel 版本已经来到了 5.14,重启系统并查看版本信息。
[root@shawnyan yum.repos.d]# cat /etc/redhat-release Rocky Linux release 9.2 (Blue Onyx) [root@shawnyan yum.repos.d]# uname -a Linux shawnyan 4.18.0-477.27.1.el8_8.x86_64 #1 SMP Wed Sep 20 15:55:39 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux [root@shawnyan yum.repos.d]# hostnamectl Static hostname: shawnyan Icon name: computer-vm Chassis: vm 🖴 Machine ID: e7f51860c9c34455bcb755eac18c8868 Boot ID: 788363ea2b7442c8a5f269aeb2ff2ab2 Virtualization: vmware Operating System: Rocky Linux 9.2 (Blue Onyx) CPE OS Name: cpe:/o:rocky:rocky:9::baseos Kernel: Linux 4.18.0-477.27.1.el8_8.x86_64 Architecture: x86-64 Firmware Version: 6.00 [root@shawnyan yum.repos.d]# reboot
进入系统,查看版本。
到此,从 Rocky 8 升级到 Rocky 9 的所有步骤已经完成。
结语
本文从提笔到完成,零零总总过去了一个月时间,从 CentOS 7 升级到 Rocky 9 这种跨大版本,跨发行版本的升级是非常复杂的。
而且,升级操作系统本身,就是一个系统工程,影响范围非常之广,对于 DBA 而言,还需要进行数据库对新系统的一些兼容性测试。
简言之,升级操作系统版本,过程非常复杂,耗时非常之久。故而并不建议如此操作,而是建议直接采购新机器,在新机器上安装新系统,后期再做数据迁移。
下一期,我们来聊聊如何从头
一步一步安装 Rocky Linux 9
。