【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

参考资料

1. 使用repotrack下载指定rpm包及其全量依赖包

2. 下载整个Yum源的所有安装包到本地指定目录

3. yum离线安装

4. 通过yum命令只下载rpm包不安装

posted @ 2022-12-08 09:27  苏格拉底的落泪  阅读(2450)  评论(0编辑  收藏  举报