yum命令仅下载安装包的两种方式

在CentOS平台上安装软件的时候,一般都是用yum命令直接安装的,在有网络的时候安装是非常简单的。但是在一些服务器没有网络的情况下,可能需要下载安装包,然后再拷贝过去安装。因此就需要通过命令来下载安装包,下面我们来介绍yum命令下载安装包但是不安装的两种方式。

工具/原料

  • CentOS系统

方法/步骤

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

    yum命令仅下载安装包的两种方式

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

    yum命令仅下载安装包的两种方式

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

    yum命令仅下载安装包的两种方式

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

    yum命令仅下载安装包的两种方式

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

    yum命令仅下载安装包的两种方式

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

    yum命令仅下载安装包的两种方式

    yum命令仅下载安装包的两种方式

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

    yum命令仅下载安装包的两种方式

    yum命令仅下载安装包的两种方式