EL 8:BaseOS 与 AppStream
EL 8 重设计了发行版的仓库结构:一个”系统”仓库 BaseOS 加一个”应用”仓库 AppStream。拆分的目的,是让核心系统保持十年不变的稳定承诺,同时让应用组件能更快、甚至多版本并行地更新——模块流(module streams)就诞生在 AppStream 里,并在 EL 10 退场。
这是什么变化
Section titled “这是什么变化”- BaseOS:内核、systemd、glibc、基础工具等”操作系统本体”。生命周期与发行版一致(10 年),内容只做安全与缺陷修复。
- AppStream:语言运行时、数据库、Web 服务器等应用组件。以两种形态提供:
- 普通 RPM 包(多数软件);
- 模块流:同一软件多个大版本并行(如
postgresql:10/postgresql:13),用dnf module enable选择。
对用户可见的变化:dnf repolist 里出现两个主仓库;镜像与 Kickstart 需要同时启用两者;“装软件先想想要不要 enable 模块”成为 EL 8/9 时代的日常。
EL 7 → EL 8 对比
Section titled “EL 7 → EL 8 对比”| 项 | EL 7 | EL 8 |
|---|---|---|
| 仓库结构 | 单一主仓库 | BaseOS + AppStream |
| 应用多版本 | 靠 SCL(另装) | AppStream 模块流(内置) |
| 选版本命令 | 无 | dnf module list/enable |
| 系统核心更新承诺 | 混合 | BaseOS 独立长周期 |
- 镜像/Kickstart/离线源:只镜像 BaseOS 会导致”系统装好了、nginx 装不上”;离线仓库必须双仓库同步。
- 多版本需求:EL 8/9 上靠模块流;EL 10 模块化退场后改走版本化包与第三方源(见 EL 10:模块流退场)。
- 生命周期意识:AppStream 中部分组件的生命周期短于发行版本身(如某些运行时只支持到某小版本),选型时要查组件生命周期而非只看发行版。
dnf repolistdnf module listdnf module list postgresqlsudo dnf module enable postgresql:13sudo dnf install postgresql-server- 仓库管理 — 仓库配置与离线源实操
- EL 10:模块流退场 — 模块流的结局
- EL 8:工具链全面更新 — 同版本的工具链换代
- EL 版本时间线 — 各版本生命周期