RHEL 10 版本停留:release pin 与 EUS 仓库
This content is not available in your language yet.
“版本停留”在 RHEL 上不是一条命令,而是三件事的组合:客户端锁定 minor、启用对应 EUS 仓库、按订阅档位确认 entitlement。三者错配时,最常见的结果不是报错,而是 404。
在 PVE 390 rhel10-lab(RHEL 10.2 x86_64,已注册开发者订阅)上实际执行:
sudo subscription-manager release --listsudo subscription-manager release --set=10.1sudo subscription-manager releasesudo dnf repolist -v | headsudo subscription-manager release --set=10.2sudo subscription-manager repos \ --enable rhel-10-for-x86_64-baseos-eus-rpms \ --enable rhel-10-for-x86_64-appstream-eus-rpmssudo dnf -q makecachesudo dnf repolist -v | grep -A1 eusE3 记录:plans/content-expansion/evidence/rhel/rhel-eus-pinning/run.json(8 步,含退出码与输出 sha256)。
先分清三件事
Section titled “先分清三件事”| 机制 | 作用 | 不做什么 |
|---|---|---|
subscription-manager release --set | 把客户端的 $releasever 固定到某个 minor | 不增加 entitlement、不保证该 minor 有内容 |
| EUS 仓库 | 提供某个 EUS minor 的持续更新 | 不覆盖所有 minor;未启用的仓库不参与解析 |
versionlock | 把单个包钉在 NEVRA | 不提供旧版本来源(见 包回滚) |
release pin:改的是客户端的 releasever
Section titled “release pin:改的是客户端的 releasever”$ sudo subscription-manager release --list Available Releases----------------------------------------1010.010.110.2$ sudo subscription-manager release --set=10.1Release set to: 10.1$ sudo subscription-manager releaseRelease: 10.1标准仓库的基址随之变化:
https://cdn.redhat.com/content/dist/rhel10/10.1/x86_64/baseos/os回退到最新 minor:
sudo subscription-manager release --set=10.2# 或取消锁定sudo subscription-manager release --unsetEUS 仓库:默认不启用
Section titled “EUS 仓库:默认不启用”EUS 仓库在 subscription-manager repos --list 里可见,但默认未启用。启用:
sudo subscription-manager repos \ --enable rhel-10-for-x86_64-baseos-eus-rpms \ --enable rhel-10-for-x86_64-appstream-eus-rpmssudo dnf -q makecache实测基址:
Repo-id : rhel-10-for-x86_64-baseos-eus-rpmsRepo-baseurl : https://cdn.redhat.com/content/eus/rhel10/10.2/x86_64/baseos/osRepo-id : rhel-10-for-x86_64-appstream-eus-rpmsRepo-baseurl : https://cdn.redhat.com/content/eus/rhel10/10.2/x86_64/appstream/os实测坑:10.1 release + EUS 仓库 = 404
Section titled “实测坑:10.1 release + EUS 仓库 = 404”把 release 设回 10.1、EUS 仓库保持启用,dnf repolist -v 会去取:
https://cdn.redhat.com/content/eus/rhel10/10.1/x86_64/appstream/os/repodata/repomd.xmlStatus code: 404原因:EUS 内容只覆盖对应的 EUS minor(本实验是 10.2),10.1 没有 EUS 基址。正确做法二选一:
- 停在 EUS minor(10.2),release 与 EUS 仓库一致;
- 停在非 EUS minor(10.1)时,先禁用 EUS 仓库,只走标准仓库。
sudo subscription-manager repos \ --disable rhel-10-for-x86_64-baseos-eus-rpms \ --disable rhel-10-for-x86_64-appstream-eus-rpms核对与回退顺序
Section titled “核对与回退顺序”subscription-manager release确认当前 minor;subscription-manager repos --list-enabled确认 EUS 仓库是否启用;dnf repolist -v看基址里的dist/eus与 minor 是否匹配;dnf makecache成功后再谈“已停留”;- 出问题按相反顺序回退:先
release --set回原 minor,再决定是否禁用 EUS。
release --set不增加 entitlement;EUS/ELCP 是否可用取决于订阅档位与合同,生产前用subscription-manager status与控制台核对;- 本实验的开发者订阅恰好能看到 EUS 仓库,不代表所有订阅都有;
- 未测试 ELCP 的末位 minor 停留、EUS 到期后的 ELS 路径;
- 未测试 Satellite 内容视图下的 release 固定(由 Satellite 侧生命周期环境决定)。
- RHEL 版本与生命周期 — 阶段与档位结构
- RHEL 包回滚、降级与版本锁定 — 单包 versionlock
- RHEL 仓库与内容视图 — 仓库启用与核对
- 官方:RHEL Life Cycle
- 官方:Managing software with the DNF tool