溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎樣在CentOS里下載RPM包及其所有依賴

發(fā)布時間:2021-09-28 15:22:50 來源:億速云 閱讀:139 作者:柒染 欄目:系統(tǒng)運維

怎樣在CentOS里下載RPM包及其所有依賴,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

我們可以使用 curl 或者 wget  下載任何軟件包,然而這些命令并不能下載要求的依賴軟件包。你必須去花一些時間而且手動的去尋找和下載被安裝的軟件所依賴的軟件包。然而,我們并不是必須這樣。在這個簡短的教程中,我將會帶領(lǐng)你以兩種方式下載軟件包及其所有依賴包。我已經(jīng)在  CentOS 7 下進行了測試,不過這些相同的步驟或許在其他基于 RPM 管理系統(tǒng)的發(fā)行版上也可以工作,例如 RHEL,F(xiàn)edora 和 Scientific  Linux。

方法 1 利用 “Downloadonly” 插件下載 RPM 軟件包及其所有依賴包

我們可以通過 yum 命令的 “Downloadonly” 插件下載 RPM 軟件包及其所有依賴包。

為了安裝 Downloadonly 插件,以 root 身份運行以下命令。

yum install yum-plugin-downloadonly

現(xiàn)在,運行以下命令去下載一個 RPM 軟件包。

yum install --downloadonly <package-name>

默認情況下,這個命令將會下載并把軟件包保存到 /var/cache/yum/ 的 rhel-{arch}-channel/packageslocation  目錄,不過,你也可以下載和保存軟件包到任何位置,你可以通過 &ndash;downloaddir選項來指定。

yum install --downloadonly --downloaddir=<directory> <package-name>

例子:

yum install --downloadonly --downloaddir=/root/mypackages/ httpd

終端輸出:

Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile  * base: centos.excellmedia.net  * epel: epel.mirror.angkasa.id  * extras: centos.excellmedia.net  * updates: centos.excellmedia.net Resolving Dependencies --> Running transaction check ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =======================================================================================================================================  Package Arch Version Repository Size ======================================================================================================================================= Installing:  httpd x86_64 2.4.6-40.el7.centos.4 updates 2.7 M Installing for dependencies:  apr x86_64 1.4.8-3.el7 base 103 k  apr-util x86_64 1.5.2-6.el7 base 92 k  httpd-tools x86_64 2.4.6-40.el7.centos.4 updates 83 k  mailcap noarch 2.1.41-2.el7 base 31 k Transaction Summary ======================================================================================================================================= Install 1 Package (+4 Dependent packages) Total download size: 3.0 M Installed size: 10 M Background downloading packages, then exiting: (1/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:01  (2/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01  (3/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:01  (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:01  (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:09  --------------------------------------------------------------------------------------------------------------------------------------- Total 331 kB/s | 3.0 MB 00:00:09  exiting because "Download Only" specified

怎樣在CentOS里下載RPM包及其所有依賴

現(xiàn)在去你指定的目錄位置下,你將會看到那里有下載好的軟件包和依賴的軟件。在我這種情況下,我已經(jīng)把軟件包下載到 /root/mypackages/  目錄下。

讓我們來查看一下內(nèi)容。

ls /root/mypackages/

樣本輸出:

apr-1.4.8-3.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-40.el7.centos.4.x86_64.rpm httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm
   [object Object]

正如你在上面輸出所看到的, httpd軟件包已經(jīng)被依據(jù)所有依賴性下載完成了 。

請注意,這個插件適用于 yum install/yum update, 但是并不適用于 yum  groupinstall。默認情況下,這個插件將會下載倉庫中***可用的軟件包。然而你可以通過指定版本號來下載某個特定的軟件版本。

例子:

yum install --downloadonly --downloaddir=/root/mypackages/ httpd-2.2.6-40.el7

此外,你也可以如下一次性下載多個包:

yum install --downloadonly --downloaddir=/root/mypackages/ httpd vsftpd

方法 2 使用 “Yumdownloader” 工具來下載 RPM 軟件包及其所有依賴包

“Yumdownloader” 是一款簡單,但是卻十分有用的命令行工具,它可以一次性下載任何 RPM 軟件包及其所有依賴包。

以 root 身份運行如下命令安裝 “Yumdownloader” 工具。

yum install yum-utils

一旦安裝完成,運行如下命令去下載一個軟件包,例如 httpd。

yumdownloader httpd

為了根據(jù)所有依賴性下載軟件包,我們使用 --resolve 參數(shù):

yumdownloader --resolve httpd

默認情況下,Yumdownloader 將會下載軟件包到當前工作目錄下。

為了將軟件下載到一個特定的目錄下,我們使用 --destdir 參數(shù):

yumdownloader --resolve --destdir=/root/mypackages/ httpd

或者,

yumdownloader --resolve --destdir /root/mypackages/ httpd

終端輸出:

  1. Loaded plugins: fastestmirror 

  2. Loading mirror speeds from cached hostfile 

  3.  * base: centos.excellmedia.net 

  4.  * epel: epel.mirror.angkasa.id 

  5.  * extras: centos.excellmedia.net 

  6.  * updates: centos.excellmedia.net 

  7. --> Running transaction check 

  8. ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed 

  9. --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 

  10. --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 

  11. --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 

  12. --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 

  13. --> Running transaction check 

  14. ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed 

  15. ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed 

  16. ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed 

  17. ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed 

  18. --> Finished Dependency Resolution 

  19. (1/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01  

  20. (2/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:02  

  21. (3/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:02  

  22. (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:03  

  23. (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:19 


[object Object]

讓我們確認一下軟件包是否被下載到我們指定的目錄下。

ls /root/mypackages/

終端輸出:

apr-1.4.8-3.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-40.el7.centos.4.x86_64.rpm httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm

怎樣在CentOS里下載RPM包及其所有依賴

不像 Downloadonly 插件,Yumdownload 可以下載一組相關(guān)的軟件包。

yumdownloader "@Development Tools" --resolve --destdir /root/mypackages/

在我看來,我喜歡 Yumdownloader 更勝于 Yum 的 Downloadonly  插件。但是,兩者都是十分簡單易懂而且可以完成相同的工作。

看完上述內(nèi)容,你們掌握怎樣在CentOS里下載RPM包及其所有依賴的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI