yum是基于Red Hat的系統(tǒng)(如CentOS、Fedora、RHEl)上的默認(rèn)包管理器。使用yum,你可以安裝或者更新一個(gè)RPM包,并且他會(huì)自動(dòng)解決包依賴關(guān)系。但是如果你只想將一個(gè)RPM包下載到你的系統(tǒng)上該怎么辦呢? 例如,你可能想要獲取一些RPM包在以后使用,或者將他們安裝在另外的機(jī)器上。
這里說明了如何從yum倉(cāng)庫(kù)上下載一個(gè)RPM包。
方法一:yum
yum命令本身就可以用來下載一個(gè)RPM包,標(biāo)準(zhǔn)的yum命令提供了--downloadonly(只下載)的選項(xiàng)來達(dá)到這個(gè)目的。
$ sudo yum install --downloadonly package-name>
默認(rèn)情況下,一個(gè)下載的RPM包會(huì)保存在下面的目錄中:
/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages
以上的[repository]表示下載包的來源倉(cāng)庫(kù)的名稱(例如:base、fedora、updates)
如果你想要將一個(gè)包下載到一個(gè)指定的目錄(如/tmp):
$ sudo yum install --downloadonly --downloaddir=/tmp package-name>
注意,如果下載的包包含了任何沒有滿足的依賴關(guān)系,yum將會(huì)把所有的依賴關(guān)系包下載,但是都不會(huì)被安裝。
另外一個(gè)重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安裝一個(gè)單獨(dú)yum插件(名稱為 yum-plugin-downloadonly)才能使用--downloadonly命令選項(xiàng):
$ sudo yum install yum-plugin-downloadonly
如果沒有該插件,你會(huì)在使用yum時(shí)得到以下錯(cuò)誤:
Command line error: no such option: --downloadonly
方法二: Yumdownloader
另外一個(gè)下載RPM包的方法就是通過一個(gè)專門的包下載工具--yumdownloader。 這個(gè)工具是yum工具包(包含了用來進(jìn)行yum包管理的幫助工具套件)的子集。
$ sudo yum install yum-utils
下載一個(gè)RPM包:
$ sudo yumdownloader package-name>
下載的包會(huì)被保存在當(dāng)前目錄中。你需要使用root權(quán)限,因?yàn)閥umdownloader會(huì)在下載過程中更新包索引文件。與yum命令不同的是,任何依賴包不會(huì)被下載。