Fedora Linux 41 是首个默认集成 DNF5 的版本,为用户带来了更快速、更高效的软件包管理体验。作为 Fedora 和 Red Hat 团队合力推出的新一代包管理器,DNF5 使用了 C/C++ 重写,彻底告别了对 Python 的依赖。这不仅让它能在「硬件拉胯」的系统中运行得更加顺畅,还大大提升了性能表现。
DNF5 自 2020 年在 Fedora-Devel 邮件列表中首次披露以来,一直都是大家关注的焦点。在 Fedora 41 中,它全面取代了传统的 DNF、YUM、Libdnf 和 DNF-AUTOMATIC 等工具。此外,DNF5 还引入了一个全新的 dnf5daemon 守护进程,能够替代 GNOME 和 KDE 等桌面环境中的 PackageKit。
DNF5 的主要特性
更轻量的设计
- DNF5 使用 C/C++ 完全重写,彻底摆脱了对 Python 的依赖。
- 安装体积从 165 MB 大幅减少至 114 MB。
- 元数据下载支持灵活配置,可以选择性下载文件列表。
统一的使用体验
- DNF5 整合了 DNF 和 MicroDNF 的功能。
- DNF、YUM 和 MICRODNF 等命令现已统一指向 DNF5,简化了使用方式。
- 无论是在工作站、服务器还是容器环境下,DNF5 都提供一致的用户体验。
- 共享配置解决了之前 PackageKit 和 MicroDNF 之间的不一致问题。
性能提升
- 优化了存储库的加载速度。
- 交易处理和 RPM 查询性能得到了显著改进。
- DNF5 与守护程序之间的通信效率进一步增强。
架构改进
- 引入了支持 C++ 和 Python 的 Libdnf5 插件系统。
- 所有模块完全集成到 LIBDNF5 工作流中。
- 优化了系统状态、历史数据库和
/etc/dnf/module.d
数据的隔离。 - 提供了更强大、更智能的 Bash 命令补全功能。
DNF5 的符号链接
从 Fedora 41 开始,dnf
命令通过符号链接指向了dnf5
,实现了新、旧命令的无缝过渡。你可以使用以下命令查看链接关系:
ls -l $(which dnf)
这意味着,无论你使用dnf
还是明确指定dnf5
,最终执行的都是dnf5
。这样一来,升级到新版包管理器后,你依然可以沿用之前的命令习惯,同时享受到 DNF5 带来的性能改进和功能优势。
DNF5 常用命令
Fedora 41 中的 DNF5 保留了大部分常用命令的格式,让用户可以轻松过渡,继续享受便捷的包管理体验。
命令 | 功能描述 |
---|---|
dnf remove <软件包名> | 移除已安装的软件包。 |
dnf distro-sync [软件包名] | 将已安装的软件包同步到最新版本。如果未指定软件包名,则同步所有软件包。 |
dnf repoquery <软件包名> | 查询仓库中某个软件包的信息。 |
dnf list [软件包名] | 列出系统和仓库中的软件包。软件包名可选,不提供时列出所有软件包。 |
dnf info <软件包名> | 查看软件包的详细信息。 |
dnf makecache | 更新本地包元数据缓存。 |
dnf repolist | 查看可用仓库清单。 |
dnf repoinfo [仓库名] | 获取指定仓库的详细信息。仓库名可选,不提供时显示所有仓库信息。 |
dnf install <软件包名> | 从仓库中安装软件包。 |
dnf check-update | 检查可更新的软件包列表。 |
dnf update | 更新系统中所有可更新的软件包。 |
dnf upgrade | 升级系统中所有可更新的软件包(与update 功能相同)。 |
dnf clean all | 清理缓存,释放磁盘空间。 |
dnf list installed | 显示系统中已安装的软件包。 |
dnf list available | 显示仓库中可用的软件包。 |
这些命令涵盖了日常包管理的主要操作,对于已经熟悉 DNF 的用户来说,几乎不需要学习成本,即可毫不费力的上手 DNF5。
最新评论
换个国内源啊。
😏
太谢谢了哥,教程很详细。用注册表更新里死活没有24H2最后用安装助手装上了。谢谢
能不能让它从国内镜像源中升级?官方下载太慢了。