跳转到内容
搜索 RunEntLinux 文档

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

    浏览当前文档目录

    EL 10:工具链全面更新

    大版本发布意味着基础工具链的一次整体换代。EL 10 把内核带到 6.12 LTS、编译器带到 GCC 14、系统默认 Python 带到 3.12、glibc 带到 2.39,容器侧则是 Podman 5;与此同时包管理器仍留在 DNF 4 系列(4.20),日常命令的手感不变。

    EL 的每个大版本都会对齐一批上游长期支持版本,EL 10 对齐的是 2024—2025 年的上游主线。对使用者而言,变化集中在三处:

    • 编译侧:GCC 14 与新版 binutils/glibc 头文件,让一批”以前能过”的老代码编译失败;
    • 运行侧:系统 Python 跨了三个小版本,老脚本需要验证;
    • 容器侧:Podman 5 把 rootless 网络默认实现换成 pasta,systemd 集成推荐 Quadlet。

    而包管理器仍然是 DNF 4(当前 4.20),不是 DNF 5:dnf install、dnf config-manager 等日常命令语法与 EL 9 相同。

    组件EL 9EL 10备注
    kernel5.146.12LTS,新硬件支持显著改善
    GCC1114默认诊断更严格,C23
    glibc2.342.39
    Python(系统默认)3.93.12移除 distutils 等旧模块
    OpenSSL3.0.x3.5.x新增后量子算法支持
    Podman4.x5.xrootless 网络默认 pasta
    包管理器DNF 4DNF 4.20仍是 DNF 4,非 DNF 5

    各发行版官方仓库的当前精确版本见常用软件版本对照表(构建时自动同步)。

    • 自研软件与内核模块:GCC 14 把隐式函数声明、不兼容指针类型等从警告升级为默认错误,老 C 代码与 out-of-tree 内核模块可能当场编译失败;要么修源码,要么临时用 -Wno-error=… 降级(不推荐长期)。
    • Python 业务脚本:3.9 → 3.12 跨三个小版本,distutils 等模块已移除,部分语法与标准库行为有变。EL 10 的系统 Python 仅供系统组件使用,业务代码请放入 venv。
    • 容器工作流:podman generate systemd 已弃用,systemd 集成改用 Quadlet;rootless 网络默认 pasta,个别依赖 slirp4netns 行为的脚本需验证。
    • 二进制兼容:glibc 向后兼容,老二进制通常照跑;但链接旧版 OpenSSL 1.x 的程序需要重新验证。
    查看当前关键版本
    uname -r
    gcc --version | head -1
    python3 --version
    ldd --version | head -1
    podman --version
    1. 升级前在 EL 10 的容器或虚拟机里把自研组件完整编译一遍;
    2. Python 业务脚本在 3.12 + venv 环境跑一遍回归;
    3. 容器 systemd 集成迁移到 Quadlet。