跳转到内容
搜索 RunEntLinux 文档

仅搜索 RunEntLinux 通用文档,各发行版文档使用各自的搜索入口。

    浏览当前文档目录

    EL 10:模块流退场

    EL 8 引入、争议不断的 AppStream 模块流(module streams),在 EL 10 正式退场:仓库不再分发 modular 内容,dnf module 命令虽然还在,但只会给出弃用警告。“用模块流选软件版本”的时代结束了,取而代之的是带版本号的普通包、第三方源与容器。

    模块流的设计初衷:让 AppStream 里同一个软件(如 PHP、PostgreSQL、Node.js)同时提供多个大版本,用 dnf module enable php:8.1 选择。实践中它带来了仓库元数据膨胀、镜像与 Kickstart 复杂度、以及”模块流生命周期比发行版短”的维护问题。

    EL 10 的选择是不再分发 modular 内容:

    • dnf module list / dnf module enable 输出弃用警告且无可用模块;
    • 多版本软件改为直接提供带版本号的包名(仓库实际提供为准),或由 EPEL / 上游源 / 容器镜像承担。
    项EL 8EL 9EL 10
    modular 内容引入并广泛使用继续提供,范围收窄不再分发
    dnf module完整可用可用仅剩弃用警告
    多版本应用获取方式模块流模块流 + 版本化包版本化包 / 第三方源 / 容器
    • 依赖 dnf module 的自动化:Kickstart 的 module --name=… 行、Ansible / shell 脚本里的 dnf module enable,在 EL 10 上全部失效或产生告警,需提前清理。
    • 多版本需求:如需要非默认版本的 PostgreSQL / Redis / PHP,改查 EPEL 与第三方源 或容器方案;部分软件(如 Redis)在第三方源中已改为版本化包名。
    • 从 EL 8/9 升级:已 enable 的模块流不会”迁移”,升级后对应软件以 EL 10 仓库提供的版本为准,需逐一确认。
    列出当前已启用的模块流(升级前排查)
    dnf module list --enabled
    EL 10 上验证命令行为
    dnf module list # 仅弃用警告,无模块内容
    1. 升级前导出已启用模块清单;
    2. 为每个模块流确定 EL 10 替代(默认版本包 / 版本化包名 / 第三方源 / 容器);
    3. 清理自动化脚本与镜像模板中的 module 指令;
    4. 升级后按新方式验证服务版本。