自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

系統(tǒng) Linux 系統(tǒng)運維
在這個簡短的教程中,我將會帶領(lǐng)你以兩種方式下載軟件包及其所有依賴包。我已經(jīng)在 CentOS 7 下進行了測試,不過這些相同的步驟或許在其他基于 RPM 管理系統(tǒng)的發(fā)行版上也可以工作,例如 RHEL,F(xiàn)edora 和 Scientific Linux。

[[175702]]

前幾天我嘗試去創(chuàng)建一個僅包含我們經(jīng)常在 CentOS 7 下使用的軟件的本地倉庫。當(dāng)然,我們可以使用 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 身份運行以下命令。

  1. yum install yum-plugin-downloadonly 

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

  1. yum install --downloadonly <package-name> 

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

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

例子:

  1. yum install --downloadonly --downloaddir=/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. Resolving Dependencies 
  8. --> Running transaction check 
  9. ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed 
  10. --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 
  11. --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 
  12. --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 
  13. --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 
  14. --> Running transaction check 
  15. ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed 
  16. ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed 
  17. ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed 
  18. ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed 
  19. --> Finished Dependency Resolution 
  20. Dependencies Resolved 
  21. ======================================================================================================================================= 
  22.  Package Arch Version Repository Size 
  23. ======================================================================================================================================= 
  24. Installing: 
  25.  httpd x86_64 2.4.6-40.el7.centos.4 updates 2.7 M 
  26. Installing for dependencies: 
  27.  apr x86_64 1.4.8-3.el7 base 103 k 
  28.  apr-util x86_64 1.5.2-6.el7 base 92 k 
  29.  httpd-tools x86_64 2.4.6-40.el7.centos.4 updates 83 k 
  30.  mailcap noarch 2.1.41-2.el7 base 31 k 
  31. Transaction Summary 
  32. ======================================================================================================================================= 
  33. Install 1 Package (+4 Dependent packages) 
  34. Total download size: 3.0 M 
  35. Installed size: 10 M 
  36. Background downloading packages, then exiting: 
  37. (1/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:01  
  38. (2/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01  
  39. (3/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:01  
  40. (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:01  
  41. (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:09  
  42. --------------------------------------------------------------------------------------------------------------------------------------- 
  43. Total 331 kB/s | 3.0 MB 00:00:09  
  44. exiting because "Download Only" specified 

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

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

  1. ls /root/mypackages/ 

樣本輸出:

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

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

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

例子:

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

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

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

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

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

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

  1. yum install yum-utils 

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

  1. yumdownloader httpd 

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

  1. yumdownloader --resolve httpd 

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

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

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

或者,

  1. 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 


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

  1. ls /root/mypackages/ 

終端輸出:

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

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

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

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

這就是今天所有的內(nèi)容,如果你覺得這份引導(dǎo)教程有用,清在你的社交媒體上面分享一下去讓更多的人知道。

干杯!

責(zé)任編輯:武曉燕 來源: Linux中國
相關(guān)推薦

2010-01-14 13:17:42

CentOS安裝

2014-08-19 09:33:29

FedoraCentOSRPM

2010-02-22 18:35:01

2017-11-21 09:30:06

CentOSRedHatrpm包

2011-11-23 09:11:36

API

2019-06-21 08:55:45

FedoraRPMLinux

2010-01-14 09:48:05

CentOS VSFT

2015-03-23 13:15:55

yumRPM

2019-11-05 10:55:05

RPM包RPMLinux

2019-11-05 10:18:04

RPM包RPMLinux

2015-07-21 11:43:14

CentosRPM

2010-01-11 10:23:14

linuxrpm包

2024-02-27 13:24:34

Centos系統(tǒng):yum

2015-11-06 10:07:31

SDN網(wǎng)絡(luò)技能

2022-05-09 10:51:26

Snap軟件包Ubuntu

2022-08-02 07:56:53

反轉(zhuǎn)依賴反轉(zhuǎn)控制反轉(zhuǎn)

2010-06-02 13:05:14

Sendmail 安裝

2011-05-04 09:11:30

RPM包Linux

2015-09-22 11:01:01

Plank DockUbuntuLinux

2023-10-30 13:31:22

Springboot工具Java
點贊
收藏

51CTO技術(shù)棧公眾號