【shell编程】使用repotrack下载指定rpm包及其全量依赖包
查看
查看提供某个命令/value的rpm包:
yum provides gcc
输出:
Loading mirror speeds from cached hostfile
* base: mirrors.bupt.edu.cn
* centos-sclo-rh: mirrors.nju.edu.cn
* centos-sclo-sclo: mirrors.nju.edu.cn
* extras: mirrors.nju.edu.cn
* updates: mirrors.nju.edu.cn
devtoolset-7-gcc-7.1.1-2.1.el7.x86_64 : GCC version 7
Repo : centos-sclo-rh
Matched from:
Provides : gcc = 7.1.1-2.1.el7
gcc-4.8.5-44.el7.x86_64 : Various compilers (C, C++, Objective-C, Java, ...)
Repo : base
gcc-4.8.5-39.el7.x86_64 : Various compilers (C, C++, Objective-C, Java, ...)
Repo : @anaconda
使用yum deplist <rpm包>
查看rpm包所需的全部依赖:
yum命令的参数有很多,其中就有只是下载而不需要安装的命令,并且也会自动解决依赖;通常和 --downloaddir 参数一起使用。
yum install --downloadonly --downloaddir=/tmp/ vsftpd
yum reinstall --downloadonly --downloaddir=/tmp/ vsftpd
说明:如果该服务器已经安装了需要下载的软件包,那么使用 install下载就不行,可以使用reinstall下载。 放心(不会真的安装和重新安装,因为后面加了 --downloadonly,表明只是下载。
如果提示没有--downloadonly选项则需要安装yum-plugin-downloadonly软件包;
yum install yum-plugin-downloadonly
首先使用 yum install yum-utils
安装 repotrack
工具,然后使用 repotrack <rpm包>
下载全量依赖包,例如下载gcc:
repotrack -p /tmp gcc
注意:使用-p
指定下载目录。
reposync
:可以将远端Yum仓库里面的所有安装包全部下载到本地目录中。 该命令是来自于 yum-utils 软件包里面的。
reposync --repo ks10-adv-updates -p ./ks10-adv-updates