RHEL 9.8→10.2 Leapp 实际升级:快照、upgrade、重启与结果
This content is not available in your language yet.
leapp preupgrade 清完 inhibitor 后,真正升级是 leapp upgrade + reboot:第一次重启进入升级 initramfs做 RPM 事务,第二次重启才进新系统。本页在 393 上把 9.8 升到 10.2,并记录 SELinux 变 Permissive。
| 项目 | 值 |
|---|---|
| 源 | RHEL 9.8,5.14.0-687.5.3.el9_8 |
| 目标 | RHEL 10.2 |
| 快照 | qm snapshot 393 pre-leapp |
| 命令 | sudo leapp upgrade --target 10.2 |
| 结果 | 10.2 (Coughlan),6.12.0-211.74.1.el10_2 |
E3 记录:plans/content-expansion/evidence/rhel/rhel-leapp-upgrade/run.json(9 步,含升级前后输出与两张截图)。
先给结论:两段式重启
Section titled “先给结论:两段式重启”leapp upgrade只做预升级事务/生成升级 initramfs,最后提示 reboot;- 第一次重启进入
Leappinitramfs,执行 RPM 升级; - 第二次重启进入新系统,登录提示已经是 RHEL 10.2。
不是“一条命令跑完不重启”。
qm snapshot 393 pre-leapp --description 'RHEL 9.8 before Leapp to 10.2'回滚:
qm rollback 393 pre-leapp快照是升级前唯一的快速退路;生产还要备份数据与配置。
执行 upgrade
Section titled “执行 upgrade”sudo leapp upgrade --target 10.2输出会跑很多 actor(scan_pkg_manager、dnf_transaction_check、upgrade_initramfs_generator 等),最后:
Answerfile has been generated at /var/log/leapp/answerfileReboot the system to continue with the upgrade. This might take a while ...然后:
sudo reboot重启进升级 initramfs
Section titled “重启进升级 initramfs”第一次重启会看到升级内核日志(vda/sda、XFS、fuse: init),随后自动执行升级并再次重启。整个过程约 10–15 分钟(本实验)。
$ cat /etc/redhat-releaseRed Hat Enterprise Linux release 10.2 (Coughlan)$ uname -r6.12.0-211.74.1.el10_2.x86_64$ ip -br aeth0 UP 192.168.2.235/24 ...$ ip route | head -1default via 192.168.2.2 dev eth0 proto static metric 100$ sudo subscription-manager statusOverall Status: RegisteredContent Access Mode is set to Simple Content Access.$ sudo dnf repolistrhel-10-for-x86_64-appstream-rpmsrhel-10-for-x86_64-baseos-rpms订阅、仓库、网络都保留;网卡名从 ens18 回到 eth0(Leapp 的 persistent net names 处理),IP/路由不变。
SELinux 变 Permissive
Section titled “SELinux 变 Permissive”$ getenforcePermissive$ sudo sestatus | head -4SELinux status: enabledLoaded policy name: targeted这与 preupgrade 报告里的 “SElinux will be set to permissive mode” 一致。升级后要:
journalctl -k | grep -i avc/ausearch -m avc确认没有阻塞;- 改
/etc/selinux/config为SELINUX=enforcing; reboot或setenforce 1验证;- 确认业务正常后再算完成。
日志与 dnf history
Section titled “日志与 dnf history”- 升级日志:
/var/log/leapp/leapp-upgrade.log(本实验约 7.5MB); dnf history不会把 Leapp 升级显示成一次 transaction,仍只有升级前的安装记录;- 排查要用 Leapp 日志 +
/var/log/messages,不要只查 dnf。
- 升级前有快照/备份;
-
leapp preupgradeinhibitor 为 0; -
leapp upgrade完成后 reboot; - 第一次重启进的是 Leapp initramfs;
- 新系统版本/内核符合预期;
- 订阅与仓库已切到 10;
- SELinux 从 Permissive 改回 Enforcing;
- 业务/服务自启验证。
未实测与边界
Section titled “未实测与边界”- 未测试回滚
qm rollback的实际耗时; - 未测试 SAP/第三方内核模块的升级后兼容;
- 未测试多路径/集群节点升级;
- 未测试 FIPS 模式下的 Leapp 升级。
- RHEL 9.8→10.2 Leapp 预检 — ifcfg inhibitor 与报告解读
- RHEL 版本停留:release pin 与 EUS — 升级前版本策略
- 官方:Upgrading from RHEL 9 to RHEL 10
以下截图来自 PVE 上的实测环境,仅保留关键步骤。

