第 7 章 在 RHEL 9 系统上执行升级后任务
原位升级后,通过删除不需要的软件包,禁用不兼容的存储库来清理 RHEL 9 系统,并更新救援内核和初始 RAM 磁盘。
7.1. 执行升级后的任务
此流程列出了在向 RHEL 9 进行原位升级后推荐执行的主要任务。
先决条件
- 系统已按照 执行升级 中描述的步骤进行了升级
并且您可以登录到 RHEL 9。
- 已按照 验证升级后状态 中描述的步骤验证了原位升级的状态。
流程
执行升级后,完成以下任务:
从
/etc/dnf/dnf.conf
配置文件中的 exclude 列表中删除剩余的Leapp
软件包,其中包括snactor
软件包,这是升级扩展开发的工具。在原位升级过程中,使用Leapp
工具安装的Leapp
软件包会自动添加到 排除列表中,以防止删除或更新重要的文件。在原位升级后,在从系统中删除Leapp
软件包之前,必须将它们从排除列表中删除。-
要从 exclude 列表中手动删除软件包,请编辑
/etc/dnf/dnf.conf
配置文件并从 exclude 列表中删除所需的Leapp
软件包。 从 exclude 列表中删除所有软件包:
# dnf config-manager --save --setopt exclude=''
-
要从 exclude 列表中手动删除软件包,请编辑
删除剩余的 RHEL 8 软件包,包括剩余的
Leapp
软件包。- 从 RHEL 9 系统中删除旧的内核软件包。有关删除内核软件包的更多信息,请参阅 从 Red Hat Enterprise Linux 系统中删除旧内核的合适的方法是什么?
找到剩余的 RHEL 8 软件包:
# rpm -qa | grep -e '\.el[78]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sort
从 RHEL 9 系统中删除剩余的 RHEL 8 软件包。要确保保留 RPM 依赖项,请在执行此操作时使用
DNF
。在接受之前检查交易,以确保没有任何软件包被意外删除。例如:
# dnf remove $(rpm -qa | grep \.el[78] | grep -vE 'gpg-pubkey|libmodulemd|katello-ca-consumer')
删除剩余的
Leapp
依赖软件包:# dnf remove leapp-deps-el9 leapp-repository-deps-el9
可选:从系统中删除所有剩余的与升级相关的数据:
# rm -rf /var/log/leapp /root/tmp_leapp_py3 /var/lib/leapp
重要删除这些数据可能会限制红帽调查和故障排除升级后问题的支持能力。
禁用 DNF 存储库,其软件包与 RHEL 9 不兼容。由 RHSM 管理的存储库被自动处理。禁用这些存储库:
# dnf config-manager --set-disabled <repository_id>
使用存储库 ID 替换 repository_id。
将当前内核命令行参数设置为新默认值,以确保将来的内核使用正确的参数更新引导:
# BOOT_OPTIONS="$(tr -s "$IFS" '\n' </proc/cmdline | grep -ve '^BOOT_IMAGE=' -e '^initrd=' | tr '\n' ' ')" # echo $BOOT_OPTIONS > /etc/kernel/cmdline
将旧的救援内核和初始 RAM 磁盘替换为当前的内核和磁盘:
删除现有的救援内核和初始 RAM 磁盘:
# rm /boot/vmlinuz-*rescue* /boot/initramfs-*rescue*
重新安装救援内核和相关的初始 RAM 磁盘:
# /usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"
如果您的系统在 IBM Z 构架上,请更新
zipl
引导装载程序:# zipl
- 重新检查并重新应用您的安全策略。特别是,需要将 SELinux 模式改为 enforcing。详情请参阅应用安全策略。
验证
验证之前删除的救援内核和救援初始 RAM 磁盘文件是否已为当前内核创建:
# ls /boot/vmlinuz-*rescue* /boot/initramfs-*rescue* # lsinitrd /boot/initramfs-*rescue*.img | grep -qm1 "$(uname -r)/kernel/" && echo "OK" || echo "FAIL"
验证救援引导条目是否指向现有的救援文件。请参阅 grubby 输出:
# grubby --info $(ls /boot/vmlinuz-*rescue*)