AlmaLinux 9、Rocky Linux 9 升级到 10 版本
注:本文原在2025年6月24日发表于笔者的个人博客《IT人的工作生活》,原文 链接 :https://www.cntse.com/3293.html,如需转载,请私信笔者,征得笔者同意后,方可转载,并且需要保留本段文字。
一、前提:
1、由于AlmaLinux 、Rocky Linux 均不提供官方的升级指引,本文提到的升级过程中存在着一定风险,需要注意以下事项:
- 备份好系统、各类数据和文件,如果出现意外情况导致数据丢失或系统异常,需要紧急恢复的,可以使用备份的数据进行还原;
- 建议建立测试环境,多次测试,确保稳定可靠并形成有效的方案后,方可部署到生产环境中;
2、以下测试均使用root账户。
二、升级过程:
1、安装 epel(如果之前没有安装过的话):
dnf -y install epel-release2、更新系统:
dnf -y update3、更新系统后,如果涉及到更新内核的,需要执行“reboot”重新启动系统:
4、安装 yum-utils 、rpmconf:
dnf -y install yum-utils rpmconf5、执行命令“rpmconf -a”,以处理可能存在的旧的 rpm 软件包配置文件,如果系统出现提示需要选择一些选项的,选择“Y”,然后回车(可能需要选择很多次);
6、执行以下命令安装新版 almalinux-release 包(AlmaLinux)或 rocky-release 包(Rocky Linux):
AlmaLinux:
rpm -e --nodeps `rpm -qa|grep almalinux` rpm -ivh --nodeps --force https://mirrors.aliyun.com/almalinux/almalinux-gpg-keys-latest-10.x86_64.rpm rpm -ivh --nodeps --force https://mirrors.aliyun.com/almalinux/almalinux-release-latest-10.x86_64.rpm rpm -ivh --nodeps --force https://mirrors.aliyun.com/almalinux/almalinux-repos-latest-10.x86_64.rpm dnf clean allRocky Linux:
rpm -e --nodeps `rpm -qa|grep rocky` rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/10/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-10.0-1.6.el10.noarch.rpm rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/10/BaseOS/x86_64/os/Packages/r/rocky-release-10.0-1.6.el10.noarch.rpm rpm -ivh --nodeps --force https://mirrors.aliyun.com/rockylinux/10/BaseOS/x86_64/os/Packages/r/rocky-repos-10.0-1.6.el10.noarch.rpm dnf clean all7、执行上除操作过程中可能会出现一些文件丢失的提示,需要记录文件名,然后到其它同版本的系统中搜索同名文件,搜索到后记录文件路径,并把文件复制到正在执行升级的计算机中;如果有对系统进行备份,可以从备份文件中获取和还原;
8、在 Rocky Linux 下,如果启用了 Rocky-SIG 仓库,建议暂时禁用;
9、执行以下命令升级到 AlmaLinux 10 / Rocky Linux 10:
dnf -y --releasever=10 --allowerasing --setopt=deltarpm=false distro-sync10、重建 rpm 数据库:
rpm --rebuilddb如果出现提示“could not delete old database at /usr/lib/sysimage/rpmold.91419”之类提示的,可以直接执行“rm -rf /usr/lib/sysimage/rpmold.91419”强制删除;如果出现“Signature not supported. Hash algorithm SHA1 not available.”提示的,就执行:
update-crypto-policies --set DEFAULT:SHA111、卸载 AlmaLinux 9 / Rocky Linux 9 的内核:
rpm -e --nodeps `rpm -qa|grep -i kernel`12、建议执行以下命令安装内核,以防止之前升级的时候无法安装内核导致开机失败:
dnf -y install kernel kernel-core shim13、安装新版 AlmaLinux / Rocky Linux 的基础环境:
rm -rf /etc/yum dnf -y groupinstall "Minimal Install"14、卸载旧版的 epel ,然后安装新版本的 epel、rpmconf 和 yum-utils :
dnf -y remove epel-release dnf -y install epel-release dnf -y install rpmconf yum-utils15、执行“rpmconf -a”以处理旧的 rpm 软件包配置文件,如果系统出现提示需要选择一些选项的,选择“Y”,然后回车(跟上面一样);
16、执行“dnf -y update –allowerasing”更新系统剩下的软件包到 el10 版本,更新之后一般会自动清理 el9 版本,如果提示如“无法为软件包安装最佳更新候选libheif-devel-1.16.1-2.el9.x86_64”之类的,可以先卸载对应的软件包(如“dnf -y remove libheif-devel” ),执行 “dnf -y update –allowerasing”后,等后续重启计算机后再重新安装对应的软件包;
17、在执行更新过程中如果出现“没有东西提供module(platform:el9)”之类提示的,可以参考下面这篇文章进行处理:《CentOS / Rocky Linux 提示“没有东西提供 module(platform:el8)”的解决方法一例》;
18、执行reboot命令重启系统;
19、在GUI下登录系统,显示AlmaLinux / Rocky Linux已经更新到10版本,内核也显示已经是6.12:
升级后的 AlmaLinux 10
升级后的 Rocky Linux 10
20、在之前的更新过程中可能会把 Rocky Linux 的默认壁纸给删除,可以执行“dnf -y install rocky-backgrounds”重新安装(笔者在测试AlmaLinux的时候未出现过这种情况);
21、笔者测试的 Rocky Linux,原来已经配置过宝塔面板+MariaDB+Nginx+PHP+可道云系统,在系统升级成功后,PHP 8.4 无法运行,但其他软件可以正常启动,而其他各类软件仓库也可能需要重新配置,此外,也需要检查之前已安装的其他各类软件是否可以正常运行,如果无法运行的,可能需要重新安装、编译,以及重新进行配置。具体过程这里就不再详述了。
