CentOSでRPMパッケージとそのすべての依存パッケージをダウンロードする方法


先日、CentOS 7でよく使用しているソフトウェアのみを含むローカルウェアハウスを作成してみました.もちろん、curlまたはwgetを使用して任意のパッケージをダウンロードできますが、これらのコマンドは要求される依存パッケージをダウンロードすることはできません.インストールされたソフトウェアに依存するパッケージを手動で探してダウンロードする必要があります.しかし、私たちはそうしなければならないわけではありません.この短いチュートリアルでは、パッケージとそのすべての依存パッケージを2つの方法でダウンロードします.CentOS 7でテストを行いましたが、これらの同じ手順は、RHEL、Fedora、Scientific Linuxなどの他のRPM管理システムベースのリリース版でも動作するかもしれません.
方法1「Downloadonly」プラグインを使用してRPMパッケージとそのすべての依存パッケージをダウンロードする
yumコマンドのDownloadonlyプラグインからRPMパッケージとそのすべての依存パッケージをダウンロードできます.
Downloadonlyプラグインをインストールするには、rootとして次のコマンドを実行します.
 
   
  1. yum install yum-plugin-downloadonly

现在,运行以下命令去下载一个 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

, 。 ,  /root/mypackages/  。

 
   
  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 。

,  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

,  --resolve  :

 
   
  1. yumdownloader --resolve httpd

,Yumdownloader 。

,  --destdir  :

 
   
  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 。

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

, Yumdownloader Yum Downloadonly 。 , 。

, , 。

:2017-11-07

“Linux ”