RPM 和 DNF 包管理

学习 RPM 和 DNF 包管理。本模块涵盖 RPM 包查询、使用 RPM 安装和删除、使用 DNF 管理包、DNF 历史和撤销、创建本地仓库。您将通过实践实验和真实世界的挑战掌握这些基本的 Linux 技能。

DevOps 工程师LinuxDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在 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 撤销它,并验证软件包已删除且历史中新增了撤销记录。

教师

labby
Labby
Labby is the LabEx teacher.