天天看點

Linux 有問必答:如何使用yum來下載下傳RPM包而不進行安裝Linux 有問必答:如何使用yum來下載下傳RPM包而不進行安裝

問題:我想從red hat 的标準倉庫中下載下傳一個rpm包,我能使用yum指令來下載下傳一個rpm包但是不進行安裝嗎?

yum是基于red hat的系統(如centos、fedora、rhel)上的預設包管理器。使用yum,你可以安裝或者更新一個rpm包,并且他會自動解決包依賴關系。但是如果你隻想将一個rpm包下載下傳到你的系統上該怎麼辦呢? 例如,你可能想要擷取一些rpm包在以後使用,或者将他們安裝在另外的機器上。

這裡說明了如何從yum倉庫上下載下傳一個rpm包。

Linux 有問必答:如何使用yum來下載下傳RPM包而不進行安裝Linux 有問必答:如何使用yum來下載下傳RPM包而不進行安裝

<a target="_blank"></a>

yum指令本身就可以用來下載下傳一個rpm包,标準的yum指令提供了<code>--downloadonly(隻下載下傳)</code>的選項來達到這個目的。

<code>$ sudo yum install --downloadonly &lt;package-name&gt;</code>

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

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

以上的[repository]表示下載下傳包的來源倉庫的名稱(例如:base、fedora、updates)

如果你想要将一個包下載下傳到一個指定的目錄(如/tmp):

<code>$ sudo yum install --downloadonly --downloaddir=/tmp &lt;package-name&gt;</code>

注意,如果下載下傳的包包含了任何沒有滿足的依賴關系,yum将會把所有的依賴關系包下載下傳,但是都不會被安裝。

另外一個重要的事情是,在centos/rhel 6或更早期的版本中,你需要安裝一個單獨yum插件(名稱為 yum-plugin-downloadonly)才能使用<code>--downloadonly</code>指令選項:

<code>$ sudo yum install yum-plugin-downloadonly</code>

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

<code>command line error: no such option: --downloadonly</code>

Linux 有問必答:如何使用yum來下載下傳RPM包而不進行安裝Linux 有問必答:如何使用yum來下載下傳RPM包而不進行安裝

另外一個下載下傳rpm包的方法就是通過一個專門的包下載下傳工具--yumdownloader。 這個工具是yum工具包(包含了用來進行yum包管理的幫助工具套件)的子集。

<code>$ sudo yum install yum-utils</code>

下載下傳一個rpm包:

<code>$ sudo yumdownloader &lt;package-name&gt;</code>

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

----------------------------------------------------------------------------------------------------------------------------

繼續閱讀