原文地址
之前在 centos 下有网装置软件很傻瓜根本都是
yum install xxx
一行命就完事。yum 会主动帮忙你解决依赖关系,十分不便。然而在离线环境下装置就没那么容易了,以前认为基本不会有这个场景,还是我太年老了还真有个别都是政府机构或者保密性比拟严格的单位。一个看似简略的软件包也就是 rpm 可能会依赖其他软件或者动态链接库,而后被依赖的软件又会依赖其他软件在断网环境下十分麻烦。比方装置软件 a -> b,c, 依赖 b 和 c 而后,b->d,e,f。c->g,h。这样就十分失望。光是找依赖就要破费很常见。有一些方法能够缩小反复找依赖的麻烦。首先确定断网环境的零碎版本,要装置软件的版本。装置一个版本一摸一样的虚拟机并且有网。在虚拟机中装置 yumdownloader
,执行 yum install yum-utils -y
, 实现装置 yumdownloader --resolve --destdir /tmp/nginx nginx
。这条命令会将 nginx 和 nginx 依赖下载到/tmp/nginx
目录下。而后传输到离线机器上。执行 rpm 批量装置命令,怕出错也能够一个一个按程序装置。然走验证没问题,再执行批量装置。
可能会遇到的问题:循环依赖,a->b,b->a,这种问题不常见,遇到了也很简略,rpm 命令反对一次性装置多个包,rpm -ivh a.rpm b.rpm
即可。