Linux 命令速查
软件包 man yumdownloader

yumdownloader

仅下载 RPM 包而不安装

返回

补充说明

yumdownloader 用于从已配置的软件仓库下载 RPM 包及其依赖,但不安装到系统。它最初属于 yum-utils,在较新的 RHEL/CentOS/Fedora 上通常由 dnf-plugins-core 提供,命令名保留以兼容旧脚本。

典型用途是离线环境准备安装包:先在联网机器下载,再复制到目标主机用 rpm 或 yum localinstall 安装。默认只下载指定的包,使用 --resolve 才会一并下载依赖。下载目录默认为当前目录,建议用 --destdir 明确指定。

该命令通常不需要 root 权限,除非仓库配置或缓存目录要求。使用 --source 可下载源码包。若仓库元数据过期,先执行 yum makecache 或 dnf makecache。注意不同发行版和版本的可选参数可能略有差异。

语法

yumdownloader [选项] 包名...

选项

  • --destdir 目录:指定下载目录。
  • --resolve:同时下载依赖包。
  • --source:下载源码包(SRPM)。
  • --archlist 架构:限制架构,如 x86_64、noarch。
  • --urls:只打印下载地址,不实际下载。
  • --enablerepo 仓库:临时启用指定仓库。
  • --disablerepo 仓库:临时禁用指定仓库。

实例

# 下载 nginx 的 RPM 到指定目录
yumdownloader --destdir /tmp/rpms nginx

# 连同依赖一起下载,便于离线安装
yumdownloader --resolve --destdir /tmp/rpms nginx

# 下载源码包
yumdownloader --source --destdir /tmp/srpm nginx

# 只查看下载地址
yumdownloader --urls nginx

# 在 dnf 系统上刷新元数据
sudo dnf makecache

# 目标机器离线安装
sudo rpm -Uvh /tmp/rpms/*.rpm

参考链接