解析:通过yum-utils软件包中的 yumdownloader命令获取yum源中指定软件包和该软件包的依赖包,并下载到指定文件夹
应用场景:如内网环境无eple yum源,但需要安装A软件,又必须安装A软件,可以通过在外网环境下配置eple yum可用的yum源,然后通过该yum将A软件的软件包和相关依赖包下载,然后拷贝至内网安装,以下使用安装ansible作为演示。
一、外网环境
1、配置可用的 eple yum源
wget -p /etc/yum.repo.d/ http://mirrors.aliyun.com/repo/Centos-7.repo
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum clean all
yum makecache
yum repolist
2、安装工具yumdownloader命令所需的工具
yum install yum-utils -y
3、下载软件包和依赖环境的rpm包
yumdownloader --enablerepo=elrepo-kernel --resolve --destdir=/tmp kernel-lt
#--enablerepo 指定yum源
#--resolve 解析依赖项并下载所需的包
mkdir -p /tmp/ansible-yum
yumdownloader --resolve --destdir=/tmp/ansible-yum ansible
#备注:这里我们演示下载ansible所需的软件包和依赖
#注意 注意 注意:yumdownloader该命令是下载ansible软件包和当前系统环境缺少的相关依赖包,也就是说使用该命令时最好是当前系统环境没有安装过ansible和ansible相关的依赖,这样下载下来的依赖包是最全的,如果安装了ansible,在使用该命令,只会下载下来ansible的安装包,而没有相关的依赖程序包。
tar -zcvf ansible-yum.tar.gz /tmp/ansible-yum/
二、内网环境
1、解压
将tar.gz从外网环境拷贝到内网环境
tar zxvf ansible-yum.tar.gz -C /tmp/ansible-yum/
2、制成repo
yum install createrep
createrepo /tmp/ansible-yum/
3、配置yum文件
vim /etc/yum.repo.d/ansible-yum.repo
[ansible]
name=ansible
baseurl=file:///tmp/ansible-yum/
enabled=1
gpgcheck=0
yum clean all
yum makecache
yum repolist
4、安装ansible
yum install -y ansible