跳转到内容
搜索 RunEntLinux 文档

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

    浏览当前文档目录

    EL 10 变化总览

    本页汇总从 EL 9 迁移到 EL 10(RHEL 10 / AlmaLinux 10 / Rocky Linux 10,2025 年发布)时最容易踩坑的变化,作为快速索引。每一项都链接到对应的详细文档。

    变化项EL 9EL 10影响
    包管理器DNF 4DNF 4.20(仍是 DNF 4,命令兼容)日常命令基本不变
    AppStream 模块化有模块流弃用(不再分发 modular 内容,dnf module 会警告)选版本方式改变
    默认 Python3.93.12老脚本可能不兼容
    网络配置keyfile(ifcfg 已弃用)仅 keyfile(ifcfg 彻底移除)残留 ifcfg 失效
    默认加密策略DEFAULT(允许 SHA-1)禁用 SHA-1旧证书/密钥可能被拒
    Podman4.x5.xRootless 网络默认 pasta
    filelists 元数据默认下载默认不下载文件路径相关查询可能需显式启用

    EL 10 的包管理器仍然是 DNF 4(当前 4.20,dnf-plugins-core 4.7.0),不是 DNF 5;config-manager 等日常命令语法与 EL 9 相同。主要变化:

    • 模块化弃用:dnf module 命令仍存在,但会显示弃用警告,且不再分发 modular 内容。
    • filelists 元数据默认不下载:需要时加 --setopt=optional_metadata_types=filelists,或在 /etc/dnf/dnf.conf 中设置。
    • DNF debug 插件移除:dnf debug-dump / dnf debug-restore 不可用,改用 dnf list --installed、dnf repoquery --installed 等。
    • libreport 支持移除。

    详见 DNF 基础。

    EL 10 不再分发 AppStream modular 内容,dnf module 命令虽然仍存在,但会输出弃用警告且没有可用模块流。原先用 dnf module enable php:8.1 选版本的做法,改为直接安装带版本号的包名:

    Terminal window
    # EL 9
    sudo dnf module enable php:8.1 && sudo dnf install php
    # EL 10:直接装对应版本的包(以仓库实际提供的为准)
    sudo dnf install php

    任何依赖 dnf module 的自动化脚本都需要在升级前提前适配。第三方仓库(如 Remi)也从模块流改为版本化包名,参见 EPEL 与第三方源、Redis。

    系统默认 Python 升级到 3.12。注意 EL 10 的系统 Python 仅供系统组件使用,业务代码建议用虚拟环境(venv)隔离,避免影响系统工具链。

    EL 9 已弃用但仍兼容的 ifcfg-* 脚本,在 EL 10 被彻底移除,NetworkManager 只认 keyfile 格式(/etc/NetworkManager/system-connections/)。升级前用 nmcli connection migrate 转换残留的 ifcfg 配置。详见 NetworkManager 基础。

    EL 10 的 DEFAULT 加密策略默认禁用 SHA-1 签名。基于 SHA-1 的旧证书、旧 SSH 密钥可能被拒绝。建议升级前换用 SHA-256+ 证书、生成 Ed25519 SSH 密钥。详见 SSH 安全配置。

    EL 10 自带 Podman 5.x,rootless 容器网络默认从 slirp4netns 改为 pasta。同时官方推荐用 Quadlet 管理容器的 systemd 集成(podman generate systemd 已弃用)。

    EL 10 的 versionlock 仍由 dnf-plugin-versionlock 提供,配置文件仍是 /etc/dnf/plugins/versionlock.list,没有改为 versionlock.toml。从 EL 9 升级后原有锁定规则继续有效,但需确认所锁定的版本在 EL 10 仓库中实际存在。详见 版本锁定。