在 Red Hat 系 Linux 系统中,RPM 和 DNF 分别解决软件管理的不同环节。本实践课程会带你操作这两个层次:先检查和安装单个 RPM 文件,再使用 DNF 跟踪事务并从仓库获取软件包。
你将查询真实的软件包记录,观察手动安装因依赖未满足而失败的过程,撤销一项已记录的 DNF 事务,并把一组 RPM 文件整理成本地仓库。最后的挑战要求你在较少提示下重做仓库流程,并从已配置的软件源安装 zsh。
你将学到什么
- 使用
rpm检查软件包是否已安装并列出其提供的文件 - 根据已安装文件追溯所属软件包,并检查尚未安装的 RPM 文件
- 下载、安装、验证和删除本地 RPM 软件包
- 说明直接使用 RPM 安装为何不会自动解决仓库依赖关系
- 查看 DNF 事务历史并撤销一次指定的软件包安装
- 使用
createrepo_c生成仓库元数据并注册本地file://软件源 - 验证本地仓库并通过 DNF 安装软件包
本课程适合谁
本中级课程适合希望获得 RPM 软件包管理及小型本地仓库实践经验的 Linux 学习者、系统管理员和 DevOps 从业者。
前置要求: 能够使用 Linux Shell、浏览文件和目录,并使用 sudo 执行管理命令。了解基本的软件包安装操作会有帮助,但不是必需条件。
学习环境: 配有 rpm、dnf、createrepo_c 和管理员权限的 Red Hat 系 Linux 终端。练习仓库仅位于实验主机本地,并为教学目的关闭 GPG 校验。
常见问题
本课程中的 RPM 和 DNF 有什么实际区别?
你会使用 rpm 查询已安装软件包数据库并直接操作软件包文件;使用 DNF 进行支持仓库和依赖处理的安装,并查看有记录的事务历史。
我会搭建一个可用于生产环境的软件仓库吗?
不会。你会在本地文件系统上构建并注册一个可用仓库。实验明确使用 gpgcheck=0,不涉及软件包签名、HTTPS 托管、访问控制、镜像或多主机分发。
课程中有真实的回滚练习吗?
有。你会安装 zip,在 dnf history 中找到对应事务,按事务 ID 撤销它,并验证软件包已删除且历史中新增了撤销记录。





