yum 是基於 Red Hat 的系統 (如 CentOS 、 Fedora 、 RHEl) 上的預設包管理器。使用 yum,你可以安裝或者更新一個 RPM 包,並且他會自動解決包依賴關係。但是如果你只想將一個 RPM 包下載到你的系統上該怎麼辦呢? 例如,你可能想要獲取一些 RPM 包在以後使用,或者將他們安裝在另外的機器上。
這裡說明了如何從 yum 倉庫上下載一個 RPM 包。

方法一:yum
yum 命令本身就可以用來下載一個 RPM 包,標準的 yum 命令提供了–downloadonly(只下載) 的選項來達到這個目的。

$ sudo yum install –downloadonly

預設情況下,一個下載的 RPM 包會儲存在下面的目錄中:

/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages

以上的 [repository] 表示下載包的來源倉庫的名稱 (例如:base 、 fedora 、 updates)
如果你想要將一個包下載到一個指定的目錄 (如/tmp):

$ sudo yum install –downloadonly –downloaddir=/tmp

注意,如果下載的包包含了任何沒有滿足的依賴關係,yum 將會把所有的依賴關係包下載,但是都不會被安裝。
另外一個重要的事情是,在 CentOS/RHEL 6 或更早期的版本中,你需要安裝一個單獨 yum 外掛外掛 (名稱為 yum-plugin-downloadonly) 才能使用–downloadonly 命令選項:

$ sudo yum install yum-plugin-downloadonly

如果沒有該外掛外掛,你會在使用 yum 時得到以下錯誤:

Command line error: no such option: –downloadonly

方法二: Yumdownloader
另外一個下載 RPM 包的方法就是透過一個專門的包下載工具–yumdownloader 。 這個工具是 yum 工具包 (包含了用來進行 yum 包管理的幫助工具套件) 的子集。

$ sudo yum install yum-utils

下載一個 RPM 包:

$ sudo yumdownloader

下載的包會被儲存在當前目錄中。你需要使用 root 許可權,因為 yumdownloader 會在下載過程中更新包索引檔案。與 yum 命令不同的是,任何依賴包不會被下載。