第一种方式是使用yum命令的缓存功能来下载,yum命令自带一个–downloadonly的选项, 使用这个选项的时候,yum命令在安装程序的时候会下载,安装。下面我们一起来看看。因为工作需要安装postgresql数据库,这里使用这个选项来安装postgresql,命令如下面图中所示:

yum命令仅下载安装包的两种方式-编程知识网

 从上面图中可以看到,使用yum install命令的–downloadonly选项时,仍然会解析各个yum源,然后显示非常多的信息。最后到下载完成的时候才会显示因为指定了Download only选项结束,没有平时的安装过程。

yum命令仅下载安装包的两种方式-编程知识网

 虽然显示下载完了,但是我们并没有在当前目录下看到下载好的文件。用百度搜索了一下才知道,下载下来的安装包都是放在/var/cache/yum目录下。但是当我们找到这个目录后才发现,这个缓存目录非常复杂,如下面所示,缓存目录是在/var/cache/yum/x86_64/7/这个路径下。然后这个路径下又以你配置的yum源分别建立单个目录。而我们下载的postgresql是从postgresql的官方yum源下载的,因此在pgdg95目录里面。

yum命令仅下载安装包的两种方式-编程知识网

 当我们打开pgdg95的时候,里面也是分多层目录保存下载的rpm包,如下面图中所示,完整路径也是非常长,而且是各种版本的rpm包混在一起放置的。这种情况下找到我们需要的安装包非常麻烦。这个时候我们就需要一个新的工具。

yum命令仅下载安装包的两种方式-编程知识网

 这个新的工具就是yum项目新提供的一个安装包yum-utils,首先我们来安装这个安装包。命令如下面图中所示:

yum命令仅下载安装包的两种方式-编程知识网

 安装完成后,使用rpm -ql命令查看这个安装包,可以看到安装包里面有个yumdownloader命令,这个就是我们需要的工具命令了。

yum命令仅下载安装包的两种方式-编程知识网

 还是以下载postgresql为例,这个命令就非常方便了,它又一个参数–destdir是用来指定存放下载的安装包的,如下面图中所示,我指定下载的目录是/root,可以看到下载过程,也只显示安装包的名称。如下面图中所示。安装完成后,可以在/root目录下看到下载好的两个安装包,如下面第二张图中所示:

yum命令仅下载安装包的两种方式-编程知识网