在 Red Hat 推出RHEL 10之后,AlmaLinux 10也紧随其后推出,因此许多 AlmaLinux 用户现在正在寻找将其 9 版系统升级到最新版本的方法,这并不奇怪。
好消息?得益于ELevate 项目(一项旨在简化基于 RHEL 的发行版主要版本之间的就地升级的开源计划),AlmaLinux 使升级过程变得简单且得到全面支持。
在本文中,我将引导您完成从 Alma 9 到 Alma 10 的每个升级过程步骤,确保您能够顺利、无忧地完成过渡。
步骤1:进行系统备份
首先,请确保您的所有重要数据都安全无虞。在执行任何其他操作之前,我强烈建议您使用熟悉的系统快照工具完整备份您的 Alma 安装。
因此,如果出现问题,您可以将其与所有重要数据一起恢复到以前的状态。
但是,如果您不想采用上述方法,则可以使用如下所示的命令,该命令会将所有更重要的目录及其内容存档在 tar.gz 存档中。
sudo tar czf /alma9.tar.gz \
--exclude=/alma9.tar.gz \
--exclude=/dev \
--exclude=/run \
--exclude=/mnt \
--exclude=/proc \
--exclude=/sys \
--exclude=/tmp \
--exclude=/media \
--exclude=/lost+found \
/
代码语言: Bash (bash )
如果需要,可以随意添加更多“ –exclude= ”参数。最后,该命令会为位于根分区 (/) 的“ alma9.tar.gz ”文件中的所有文件创建备份,您最好将其传输到另一台计算机或驱动器,例如, 使用 SCP 命令。
步骤2:更新所有软件
确保您的 Alma 9 系统已完全更新。运行以下两个命令,确保没有正在等待更新的软件包。如果有,请先应用这些命令(必要时重启系统),然后再继续下一步。
sudo dnf update
代码语言: Bash (bash )
这是我们在升级到 AlmaLinux 10 之前完全更新的 AlmaLinux 9 系统。

AlmaLinux 9
步骤3:将AlmaLinux 9迁移到AlmaLinux 10
在我们开始之前,让我们先介绍一下可以帮助我们进行迁移的工具: ELevate。
它由 AlmaLinux 开发,支持 Red Hat Enterprise Linux 分支(Alma、Rocky、Oracle)各主要版本之间的迁移,允许用户从 CentOS 7.x 迁移到 RHEL 衍生产品的 8.x 版本,或在同一版本中从 8.x 升级到 9.x。
最近添加了从 AlmaLinux 9 升级到 10 的支持,本指南明确使用了该功能。
步骤 3.1:安装 ELevate 工具
升级过程的第一步是在您当前的 Alma 9 系统上安装“ elevate-release ”包。
sudo dnf -y install http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
代码语言: Bash (bash )

安装 ELevate 工具
步骤3.2:安装Leapp和迁移数据
迁移过程基于 Red Hat 的 Leapp(一个旨在促进 RHEL 系统从一个主要版本到另一个主要版本的就地升级的框架)的组合,以及发行版特定的数据包“ leapp-data-almalinux ”,其中包含专门为 AlmaLinux 定制的规则、配置、升级参与者和元数据。
那么,让我们安装它们:
sudo dnf install -y leapp-upgrade leapp-data-almalinux
代码语言: Bash (bash )

安装 Leapp 和 Alma 的迁移数据。
步骤 3.4:开始升级前检查
Leapp 就地升级过程的下一步是启动升级前检查。它会对您当前的系统执行非侵入式的升级前评估,并生成一份详细的报告(“ /var/log/leapp/leapp-report.txt ”),以表明您的系统是否可以安全地升级到下一个主要版本(在本例中为 AlmaLinux 10)。
重要的是要理解以下命令是完全非破坏性的 – 也就是说,它还 没有升级任何东西。相反,它给你一个预览,让你了解将会发生什么,以及你是否准备好继续。
sudo leapp preupgrade
代码语言: Bash (bash )
命令完成后,您将看到类似下面的输出。
最重要的是确保“错误”(执行期间没有发生内部 Leapp 错误)和“抑制因素”(没有阻碍升级的严重问题)行都显示 0 值。
如果此数字大于 0,则升级将无法进行。由于它是零,所以您可以继续。
“高严重性报告”是严重警告——它们不会停止升级,但会提示升级后可能出现的问题。在这种情况下,我强烈建议您检查“ /var/log/leapp/leapp-report.txt ”文件,以清晰地了解可能出现的任何潜在问题。
sudo less /var/log/leapp/leapp-report.txt
代码语言: Bash (bash )
步骤 3.5:开始从 AlmaLinux 9 到 10 的实际迁移
运行以下命令启动实际的就地升级过程。这是运行 之后的第二个主要步骤leapp preupgrade
,它将你的 AlmaLinux 系统从一个主要版本升级到下一个主要版本(例如,AlmaLinux 9 > 10)。
sudo leapp upgrade
代码语言: Bash (bash )
该命令会下载升级所需的必要软件包并将其存储在临时文件夹中,但升级尚未开始。升级将在重启后开始。
此步骤需要下载许多软件包(至少 1-2 GB),因此根据您的网速,可能需要一些时间。请耐心等待,直到下载完成。之后,系统会提示您重启系统,请照做。

sudo reboot
代码语言: Bash (bash )
由于软件包升级涉及大量后台活动,因此该过程将需要一段时间。如果您无法访问终端来跟踪这些更改,请耐心等待。
根据您的硬件功能和更新包的数量,这可能需要几分钟到半小时的时间。

将 AlmaLinux 9 升级到 10。
系统将在最后一个循环中自动重启,GRUB 引导加载程序将向您致意。列表现在应该包含 AlmaLinux 10 (Purple Lion) 使用的 Linux 内核 6.12。

GRUB 引导加载程序。
现在是时候祝贺自己了——您已经成功将系统从 AlmaLinux 9 过渡到 10。
步骤 4:检查操作系统版本(可选)
快速查看操作系统版本以确保一切按计划进行。
cat /etc/redhat-release
代码语言: Bash (bash )

如您所见,一切进展顺利,我们的系统已升级到 AlmaLinux 10.0,这是撰写本文时可用的最新版本。
安装后步骤
现在是清理 AlmaLinux 9 剩余软件包的好时机,因为我们不再需要它们了。要查看哪些软件包还在,请运行:
rpm -qa | grep el9
代码语言: Bash (bash )

您可以使用熟悉的DNF 命令逐个删除它们:dnf remove [package_name]
。但是,如果您的软件包列表很长,这可能会非常繁琐。因此,这里有一个更快捷的方法,可以一次性处理所有软件包。
sudo dnf --disableexcludes=all remove $(rpm -qa | grep el9)
代码语言: Bash (bash )

清理 AlmaLinux 9 剩余的软件包。
结论
如您所见,只要按照正确的步骤操作,从 AlmaLinux 9 升级到 AlmaLinux 10 非常简单。升级完成后,请验证所有服务是否正常运行,以及应用程序是否按预期运行。