如何從RHEL 8升級(jí)到RHEL 9
Red Hat于2022年5月17日宣布全面推出RHEL 9。這是 RHEL(Red Hat Enterprise Linux)的最新版本,它具有許多功能和增強(qiáng)功能。

值得注意的亮點(diǎn)包括:
新軟件版本包括 PHP 8.0、Ruby 3.0、Perl 5.32、Node.JS 16 等等。
SELinux 和 OpenSSH 服務(wù)中的安全性增強(qiáng)。
使用 Web 控制臺(tái)增強(qiáng)性能監(jiān)控。
從 Web 控制臺(tái)進(jìn)行實(shí)時(shí)內(nèi)核修補(bǔ)。
引入用于創(chuàng)建多種格式的自定義 RHEL 系統(tǒng)映像的映像生成器工具。
有關(guān)所有有趣的新功能和增強(qiáng)功能的完整列表,請(qǐng)?jiān)L問RHEL 9 發(fā)行說明:?https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/9.0_release_notes/index
在本指南中,我們將通過截圖逐步向您展示如何從 RHEL 8 升級(jí)到 RHEL 9。
先決條件
在開始之前,這是您需要的。
RHEL 8.6 的一個(gè)實(shí)例
用于執(zhí)行升級(jí)的快速穩(wěn)定的互聯(lián)網(wǎng)連接
最小引導(dǎo)分區(qū) 100 MB
滿足最低要求后,讓我們開始吧。
1. 刪除 'tmp_leapp_py3' 目錄
如果您之前曾從 RHEL 7 遷移到 RHEL 8,那么您需要?jiǎng)h除 /root/tmp_leapp_py3 目錄。使用下面的 rm 命令
$ sudo rm -Rf /root/tmp_leapp_py3
但是,如果您是從全新安裝的 RHEL 8 開始,請(qǐng)?zhí)^此步驟并繼續(xù)進(jìn)行。
2. 確保您的系統(tǒng)具有有效的 Red Hat 訂閱
要按計(jì)劃進(jìn)行升級(jí),請(qǐng)確保您擁有有效的 Red Hat 訂閱。要驗(yàn)證您是否有活動(dòng)訂閱,請(qǐng)運(yùn)行以下命令:
$ sudo subscription-manager list --installed
如果您的系統(tǒng)有訂閱,會(huì)得到以下輸出。

如果您的系統(tǒng)尚未注冊(cè)到 Red Hat 訂閱管理,請(qǐng)?jiān)诿钚兄凶?cè)它,如圖所示。
用戶名和密碼憑據(jù)是您 Red Hat 帳戶的登錄詳細(xì)信息。

3. 確保已啟用適當(dāng)?shù)膫}庫
接下來,您需要確保啟用了所需的倉庫。此命令啟用 64 位 Intel 架構(gòu)的 Base 和 App 流倉庫。
sudo subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms --enable rhel-8-for-x86_64-appstream-rpms

4. 將系統(tǒng)鎖定到 RHEL 8.6
接下來,將您的 RHEL 系統(tǒng)鎖定到 RHEL 8.6。這標(biāo)志著升級(jí)將從其開始的 RHEL 版本。
sudo subscription-manager release --set 8.6

5. 啟用 RHUI 倉庫(僅適用于 AWS 實(shí)例)
如果您正在運(yùn)行托管在 AWS 上的 RHEL 8 實(shí)例,則需要啟用并安裝所需的 Red Hat Update Infrastructure 倉庫,以便為升級(jí)做好系統(tǒng)準(zhǔn)備。
$ sudo dnf config-manager –set-enabled rhui-client-config-server-8$ sudo dnf -y install rh-amazon-rhui-client-ha leapp-rhui-aws
6. 將軟件包更新到最新版本
接下來,請(qǐng)務(wù)必將所有軟件包升級(jí)到最新版本。
$ sudo dnf update

完成后,重新啟動(dòng)系統(tǒng)。
$ sudo reboot
7. 安裝leapp-upgrade軟件包
接下來,安裝 leapp-upgrade工具,該工具將自動(dòng)從 RHEL 8 升級(jí)到 RHEL 9
$ sudo dnf install leapp-upgrade

8. 移除 Versionlock 插件
Versionlock 是一個(gè)插件,可以保護(hù)包不被升級(jí)到新版本。如果您已經(jīng)設(shè)置了此項(xiàng),則需要清除如下所示。
$ sudo dnf versionlock clear
9. 修改 Firewalld 配置
為了升級(jí)順利進(jìn)行,您需要在 Firewalld 配置中禁用AllowZoneDrifting值。因此,訪問 firewalld 配置文件。
$ sudo vi /etc/firewalld/firewalld.conf
向下滾動(dòng)并注釋AllowZoneDrifting屬性。

保存更改并退出配置文件。
10. 執(zhí)行預(yù)升級(jí)
在執(zhí)行實(shí)際升級(jí)之前,建議先執(zhí)行升級(jí)前檢查。這模擬了實(shí)際升級(jí),并在發(fā)現(xiàn)任何阻礙升級(jí)的錯(cuò)誤時(shí)提供報(bào)告。
因此,運(yùn)行以下命令來運(yùn)行升級(jí)前檢查。
$ sudo leapp preupgrade --target 9.0

該命令檢查所有系統(tǒng)配置,包括內(nèi)核、驅(qū)動(dòng)程序,并提供將要安裝、升級(jí)和刪除的軟件包總數(shù)的摘要。它還提供了將被降級(jí)的包的數(shù)量以及新包的總下載大小。

預(yù)升級(jí)檢查報(bào)告生成并保存在/var/log/leapp/leapp-report.json和/var/log/leapp/leapp-report.txt文本文件中。

11. 從 RHEL 8 升級(jí)到 RHEL 9
此時(shí),我們已準(zhǔn)備好執(zhí)行從 RHEL 8 到 RHEL 9 的就地升級(jí)。為此,請(qǐng)運(yùn)行以下命令
$ sudo leapp upgrade --target 9.0

升級(jí)會(huì)下載新軟件包并將現(xiàn)有軟件包升級(jí)到新版本。一些過時(shí)的包也被刪除,一些被降級(jí)。在快速穩(wěn)定的網(wǎng)絡(luò)連接下,這大約需要 20 分鐘。
最后,您將需要重新啟動(dòng)系統(tǒng)。有關(guān)升級(jí)的詳細(xì)信息記錄或保存在/var/log/leapp/leapp-report.json和/var/log/leapp/leapp-report.txt文本文件中。

12. 選擇 RHEL-Upgrade-Initramfs GRUB 條目
重新啟動(dòng)后,從 GRUB 菜單中選擇 RHEL-Upgrade-Initramfs 條目。

接下來,按 CTRL + D 繼續(xù)升級(jí)。

這需要相當(dāng)長的時(shí)間,因此請(qǐng)耐心等待升級(jí)的進(jìn)行。完成后,系統(tǒng)將重新啟動(dòng)。這一次,您將看到RHEL 9.0的菜單選項(xiàng)。按“ ENTER ”選擇此選項(xiàng)

13. 登錄到 RHEL 9系統(tǒng)
在登錄屏幕上,提供您的登錄密碼并點(diǎn)擊“ ENTER ”

登錄后,RHEL 9桌面將顯示新外觀的GNOME 42。
此外,您可以通過運(yùn)行以下命令來驗(yàn)證升級(jí)是否成功:
$ cat /etc/redhat-release

此外,請(qǐng)確認(rèn)它是 RHEL 訂閱的一部分。
$ sudo subscription-manager list --installed
