1 Downloadonly 插件

通过 yum 命令的 Downloadonly 插件下载 RPM 软件包及其所有依赖包。

  1. ###安装 Downloadonly 插件,以 root 身份运行以下命令。
  2. yum install yum-plugin-downloadonly
  3. ###下载一个 RPM 软件包。
  4. yum install --downloadonly <package-name>
  5. 默认情况下,这个命令将会下载并把软件包保存到 /var/cache/yum/ rhel-{arch}-channel/packageslocation 目录,不过,你也可以下载和保存软件包到任何位置,你可以通过 downloaddir 选项来指定。
  6. ###
  7. yum install --downloadonly --downloaddir=<directory> <package-name>
  8. 例子:
  9. yum install --downloadonly --downloaddir=/root/mypackages/ httpd
  10. yum install --downloadonly --downloaddir=/var/cache/yum/ httpd
  11. [root@lhuan ~]# yum install --downloadonly --downloaddir=/var/cache/yum/ httpd
  12. Loaded plugins: fastestmirror
  13. Loading mirror speeds from cached hostfile
  14. * base: ftp.sjtu.edu.cn
  15. * epel: my.mirrors.thegigabit.com
  16. * extras: ftp.sjtu.edu.cn
  17. * updates: ftp.sjtu.edu.cn
  18. Resolving Dependencies
  19. --> Running transaction check
  20. ---> Package httpd.x86_64 0:2.4.6-93.el7.centos will be installed
  21. --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-93.el7.centos.x86_64
  22. --> Running transaction check
  23. ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
  24. --> Finished Dependency Resolution
  25. Dependencies Resolved
  26. ===================================================================================================
  27. Package Arch Version Repository Size
  28. ===================================================================================================
  29. Installing:
  30. httpd x86_64 2.4.6-93.el7.centos base 2.7 M
  31. Installing for dependencies:
  32. mailcap noarch 2.1.41-2.el7 base 31 k
  33. Transaction Summary
  34. ===================================================================================================
  35. Install 1 Package (+1 Dependent package)
  36. Total download size: 2.7 M
  37. Installed size: 9.4 M
  38. Background downloading packages, then exiting:
  39. exiting because "Download Only" specified
  40. ##查看安装目录
  41. [root@lhuan ~]# ll /var/cache/yum/
  42. total 2812
  43. -rw-r--r--. 1 root root 2843664 Apr 4 2020 httpd-2.4.6-93.el7.centos.x86_64.rpm
  44. -rw-r--r--. 1 root root 31264 Jul 4 2014 mailcap-2.1.41-2.el7.noarch.rpm
  45. drwxr-xr-x. 3 root root 15 Oct 23 18:57 x86_64
  46. httpd软件包已经被依据所有依赖性下载完成

这个插件适用于 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 工具

使用 Yumdownloader 工具来下载 RPM 软件包及其所有依赖包,它可以一次性下载任何 RPM 软件包及其所有依赖包。

###安装 Yumdownloader 工具
[root@lhuan ~]# yum install yum-utils

### 下载一个软件包
yumdownloader httpd

##根据所有依赖性下载软件包,我们使用 --resolve参数:
yumdownloader --resolve httpd

##默认情况下,Yumdownloader 将会下载软件包到当前工作目录下,将软件下载到一个特定的目录下,我们使用 --destdir 参数
yumdownloader --resolve --destdir=/root/mypackages/ httpd
或
yumdownloader --resolve --destdir /root/mypackages/ httpd

ls /root/mypackages/


##Yumdownload 可以一组相关的软件包
yumdownloader "@Development Tools" --resolve --destdir /root/mypackages/