本指南全面介绍了Linux系统中RPM包的获取与安装方法,内容详细讲解了如何利用系统仓库进行在线安装,以及如何在断网环境下下载RPM包并解决依赖冲突,实现离线安装,为用户提供了从在线到离线的全场景软件部署解决方案。
在 Linux 系统的使用中,RPM(Red Hat Package Manager)包是最常见的一种软件分发格式,广泛应用于 CentOS、RHEL、Fedora 等基于 RedHat 的发行版中,对于运维人员或开发者来说,掌握如何在 Linux 系统中下载 RPM 软件包是一项必备技能,尤其是在需要离线安装软件或安装特定版本软件时。
本文将详细介绍几种在 Linux 系统中下载 RPM 包的方法,帮助您高效地管理软件资源。
使用 Yum/Dnf 命令直接下载(系统内下载)
如果您已经安装了 Linux 系统,并且系统已配置好 Yum 或 Dnf 源,您可以直接使用命令将软件包下载到本地,而无需立即安装,这种方法特别适合在服务器上预先缓存常用软件。

使用 Yum 下载(适用于较旧系统)
yum 命令本身并不直接支持“仅下载”参数,但可以通过组合参数实现:
yum install --downloadonly --downloaddir=/tmp/my_packages package_name
--downloadonly: 告诉 yum 只下载,不执行安装。--downloaddir=/tmp/my_packages: 指定下载目录,请根据实际情况修改路径。package_name: 您要下载的软件名称(nginx或vim)。
使用 Dnf 下载(适用于 CentOS 8+, Fedora, RHEL 8+)
dnf 是 yum 的下一代版本,支持原生的下载参数:
dnf download package_name
或者指定目录:
dnf download --destdir=/tmp/my_packages package_name
使用在线仓库网站下载(最常用)
当您没有现成的 Yum 源,或者需要下载特定版本的软件时,访问专业的在线 RPM 仓库是最直接的方法,这些网站提供了大量的 RPM 包供用户下载。
Fedora 仓库 (FedoraPackages)
这是最权威的仓库之一,包含几乎所有主流软件,网址通常为 https://download.fedoraproject.org/pub/fedora/linux/releases/。
- 适用场景:需要 Fedora 系统的软件包。
- 操作:选择对应的版本(如 38)、架构(如 x86_64)、软件分类(如 baseos/AppStream),找到
.rpm文件并点击下载。
EPEL (Extra Packages for Enterprise Linux) 如果您使用的是 CentOS 或 RHEL,EPEL 提供了额外的软件包。
- 适用场景:官方源中没有的软件。
- 操作:访问 EPEL 官网,根据您的系统版本下载对应的
.rpm包。
Nux Dextop 仓库 如果您需要多媒体相关的软件(如 VLC、FFmpeg),这个仓库非常方便。
- 网址:
http://li.nux.ro/download/nux/dextop/
使用 Repoquery 查找并下载
repoquery 是 yum-utils 工具集的一部分,它可以查询仓库信息,配合 --location 参数,可以列出指定软件包在仓库中的实际下载地址,甚至直接下载。
查看软件包在哪个仓库中
repoquery --list package_name
获取下载地址
repoquery --repoid=repoid_name --location package_name
使用 Wget 直接下载
获取到下载地址后,您可以使用 wget 命令直接下载:
wget http://url.to/the/rpm/file.rpm
下载后的安装注意事项
下载 RPM 包后,安装时需要注意以下几点:
- 依赖关系:RPM 包可能会依赖其他库,如果您直接使用
rpm -ivh package.rpm安装,可能会报错提示缺少依赖。

