centos 离线环境下软件的安装

image

原文
https://balalals.cn/archives/centos%E7%A6%BB%E7%BA%BF%E7%8E%AF%E5%A2%83%E4%B8%8B%E8%BD%AF%E4%BB%B6%E7%9A%84%E5%AE%89%E8%A3%85

之前在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即可。

你可能感兴趣的:(centos 离线环境下软件的安装)