Linux系统入门学习:使用yum来下载RPM包而不进行安装

wys 2015-03-22

问题:我想从Red Hat 的标准仓库中下载一个RPM包,我能使用yum命令来下载一个RPM包但是不进行安装吗?

yum是基于Red Hat的系统(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。但是如果你只想将一个RPM包下载到你的系统上该怎么办呢? 例如,你可能想要获取一些RPM包在以后使用,或者将他们安装在另外的机器上。

这里说明了如何从yum仓库上下载一个RPM包。

Linux系统入门学习:使用yum来下载RPM包而不进行安装

 

方法一:yum

yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。

  1. <span class="pln">$ sudo yum install </span><span class="pun">--</span><span class="pln">downloadonly </span><span class="pun"><</span><span class="kwd">package</span><span class="pun">-</span><span class="pln">name</span><span class="pun">></span>

默认情况下,一个下载的RPM包会保存在下面的目录中:

  1. <span class="str">/var/</span><span class="pln">cache</span><span class="pun">/</span><span class="pln">yum</span><span class="pun">/</span><span class="pln">x86_64</span><span class="pun">/[</span><span class="pln">centos</span><span class="pun">/</span><span class="pln">fedora</span><span class="pun">-</span><span class="pln">version</span><span class="pun">]/[</span><span class="pln">repository</span><span class="pun">]/</span><span class="pln">packages</span>

以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)

如果你想要将一个包下载到一个指定的目录(如/tmp):

  1. <span class="pln">$ sudo yum install </span><span class="pun">--</span><span class="pln">downloadonly </span><span class="pun">--</span><span class="pln">downloaddir</span><span class="pun">=/</span><span class="pln">tmp </span><span class="pun"><</span><span class="kwd">package</span><span class="pun">-</span><span class="pln">name</span><span class="pun">></span>

注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。

另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项:

  1. <span class="pln">$ sudo yum install yum</span><span class="pun">-</span><span class="pln">plugin</span><span class="pun">-</span><span class="pln">downloadonly</span>

如果没有该插件,你会在使用yum时得到以下错误:

  1. <span class="typ">Command</span><span class="pln"> line error</span><span class="pun">:</span><span class="kwd">no</span><span class="pln"> such option</span><span class="pun">:</span><span class="pun">--</span><span class="pln">downloadonly</span>

Linux系统入门学习:使用yum来下载RPM包而不进行安装

 

方法二: Yumdownloader

另外一个下载RPM包的方法就是通过一个专门的包下载工具--yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集。

  1. <span class="pln">$ sudo yum install yum</span><span class="pun">-</span><span class="pln">utils</span>

下载一个RPM包:

  1. <span class="pln">$ sudo yumdownloader </span><span class="pun"><</span><span class="kwd">package</span><span class="pun">-</span><span class="pln">name</span><span class="pun">></span>

下载的包会被保存在当前目录中。你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。

相关推荐