linux下载软件依赖包

生产环境通常没有公网,只能将软件rpm包下载下来进行安装,而linux环境下软件可能需要多个依赖包,因为操作系统可能有各种定制化、安全加固情况,不同操作系统镜像已有依赖包及版本也不尽相同。本文以ansible为例,描述如何下载所需依赖包。

环境:与私网环主机同版本操作系统的有公网环境的主机

1.安装yum-utils

yum install yum-utils -y

安装完成之后即可使用yumdownloader

2.安装epel

epel所包含软件数量和版本都比默认源优质很多

yum install -y epel-release

如果安装后使用yun会出现找不到mirro报错,
vim /etc/yum.repos.d/epel.repo
注释掉mirrorlist,取消注释baseurl

yum clean all
yum makecache

3.下载ansible

yumdownloader ansible --resolve --destdir=/home/user/ansible/
仅下载不安装,至此在/home/user/ansible/目录中,所需rpm包已下载完成,本机即使断网,ansible也可以正确无误的完成安装。如果操作系统版本完全一致,在私网主机上也可以顺利安装了。

但事实上,通常两台主机的操作系统不可能完全一致,因此下载好的依赖包到了私网主机上可能再次出现缺依赖包情况,此时需要使用yum deplist ansible命令查看所需依赖包,再在公网主机上使用yumdownloader命令或者在其他仓库中把依赖包下载下来。

上一篇:ansible系列(23)--ansible的when控制语句


下一篇:2 - Ansible common modules Part 2