本文只总结一些常用的用法,更详细的说明见man yumdownloaderinfo yumdownloader

概述

有时候所在服务器环境不能访问外网,yum安装会感到非常捉急,因为离线rpm安装的话,有很多依赖需要下载安装。因此,需要一个神器来解决问题,没错,就是它——yumdownloader 。

需要注意的是,CentOS 8中,使用了基于DNF技术(YUM v4)的 YUM 工具,dnf命令代替了原先的yum,yum命令只是软链接到dnf,yumdownloader实质是dnf download命令。

安装

yumdownloader 命令在软件包 yum-utils 里面。通常系统已安装该命令,若系统未安装,则可以通过以下命令安装:

1
yum install yum-utils -y

语法格式

1
yumdownloader [options] package1 [package2] [package..]

常用参数说明

参数 说明
-q 静默执行
-v 显示执行细节
-y 所有的选择都答yes
–downloadonly 不更新,只下载
–destdir 保存路径,默认为当前路径
–resolve 解析依赖关系并下载所需的包

示例

以CentOS 7 minimal使用nginx镜像源安装nginx为例。

nginx镜像源配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

安装

1
yumdownloader --resolve --destdir /tmp/nginx nginx

相关依赖包已下载到*/tmp/nginx*

1
2
[root@test-03 ~]# ls /tmp/nginx/
nginx-1.18.0-2.el7.ngx.x86_64.rpm