红帽公司于 2022 年 5 月 17 日宣布 RHEL 9 的通用可用性。这是 RHEL (Red Hat Enterprise Linux)的最新版本,它具有许多特性和增强功能。
值得注意的亮点包括:
- 新的软件版本包括 PHP 8.0, Ruby 3.0, Perl 5.32, Node.JS 16 等等。
- SELinux 和 OpenSSH 服务安全增强。
- 使用 web 控制台增强性能监视。
- 从 Web 控制台进行实时内核修补。
- 引入一个映像构建器工具,用于以多种格式创建自定义 RHEL 系统映像。
必备条件
- An instance of RHEL 8.6
- A fast and stable internet connection for performing the upgrade
- Minimum boot partition of 100 MB
(1) 删除 tmp_leapp_py3 目录
If by any chance you had previously migrated from RHEL 7 to RHEL 8, then you need to remove the /root/tmp_leapp_py3 directory
如果您以前从 RHEL 7 迁移到 RHEL 8,您需要删除 /root /tmp_leapp_py3 目录
$ sudo rm -Rf /root/tmp_leapp_py3
如果您从 RHEL 8 的新安装开始,请跳过此步骤并继续。
(2) 确保您的系统有一个可用的红帽订阅
要验证是否有可用订阅,请运行以下命令
$ sudo subscription-manager list --installed
如果您的系统有一个订阅,您应该会得到以下输出。
如果您的系统尚未注册到 Red Hat 订阅管理,请在命令行上注册它,如下所示。
用户名和密码凭据是您 Red Hat 帐户的登录详细信息。
$ subscription-manager register --username=username --password=password --auto-attach
(3) 确保已启用适当的存储库
Next, you need to ensure that the required repositories are enabled. This command enables the Base and App stream repositories for the 64-bit Intel architecture.
接下来,您需要确保启用所需的存储库。此命令启用 64 位的intel架构的基础和应用流存储库。
$ sudo subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms --enable rhel-8-for-x86_64-appstream-rpms
(4) 锁定系统为 RHEL 8.6
接下来,将您的 RHEL 系统锁定到 RHEL 8.6
$ sudo subscription-manager release --set 8.6
(5) 启用 RHUI 存储库(仅适用于 AWS 实例)
如果是运行托管在 AWS 上的 RHEL 8 实例,则需要启用并安装所需的 Red Hat Update Infrastructure 存储库,以便为升级准备系统。
$ sudo dnf config-manager --set-enabled rhui-client-config-server-8
$ sudo dnf -y install rh-amazon-rhui-client-ha leapp-rhui-aws
(6) 将包更新到最新版本
接下来,确保将所有包升级到最新版本。
$ sudo dnf update
完成之后,重新启动系统。
$ sudo reboot
(7) 安装跨越升级 (leapp-upgrade) 工具
接下来,安装跨越式升级工具,该工具将自动从 RHEL 8 升级到 RHEL 9。
$ sudo dnf install leapp-upgrade
(8) 删除 Versionlock 插件
Versionlock 是一个插件,它保护包不被升级到新版本。如果您已经设置了这个,您需要清除它。
$ sudo dnf versionlock clear
(9) 修改防火墙配置
为了使升级顺利进行,需要在防火墙配置中禁用 AllowZoneDrifting 值。
$ sudo vi /etc/firewalld/firewalld.conf
向下滚动并注释 AllowZoneDrifting 属性
保存更改并退出配置文件
(10) 执行预升级
在进行实际升级前,建议进行升级前检查。这将模拟实际的升级,并在发现阻碍升级的任何错误时提供一个报告。
因此,请执行以下命令进行升级前检查。
$ sudo leapp preupgrade --target 9.0
该命令检查所有系统配置,包括内核、驱动程序,并提供将被安装、升级和删除的软件包总数的摘要。它还提供了将降级的包的数量和新包的总下载大小。
预升级报告生成并保存在 /var/log/leapp/leapp-report.json 和 /var/log/leapp/leapp-report.txt
(11) 从 RHEL 8 升级到 RHEL 9
此时,我们已经准备好执行从 RHEL 8 到 RHEL 9 的就地升级,运行以下命令。
$ sudo leapp upgrade --target 9.0
升级会下载新的包,一些过时的包也被删除,一些被降级。在快速稳定的网络连接下,这大约需要 20 分钟。
最后,您将需要重新启动系统。有关升级的详细信息录制或保存在 /var/log/leapp/leapp-report.json 和 /var/log/leapp/leapp/leapp-report.txt 文件中。
(12) 选择 RHEL-Upgrade-Initramfs GRUB Entry
重新启动后,从 GRUB 菜单中选择 RHEL-Upgrade-Initramfs
接下来,按 CTRL + D 继续升级。
这需要相当长的时间,所以在升级过程中要有耐心。一旦完成,系统将重新启动。这一次,您将看到 RHEL 9.0 的菜单选项。按 ENTER 键选择该选项。
(13) 登录 RHEL 9
在登录屏幕上,提供登录密码并按 ENTER 键
登录后,RHEL 9 桌面将使用新的 Gnome 42 外观。
此外,可以通过该命令验证升级是否成功
$ cat /etc/redhat-release
另外,验证它是否是 RHEL 订阅的一部分。
$ sudo subscription-manager list --installed
And there you go! We have successfully performed an in-place upgrade from RHEL 8 to RHEL 9. All the best as you start using your RHEL 9 instance.
收工!我们已经成功从 RHEL 8 升级到 RHEL 9,请享受新的 RHEL 9 实例吧。