背景介绍
1、客户的服务器在内网,且不配置yum
#解决方案:
请客户提供系统DVD版安装镜像,自行搭建本地yum源
2、客户的服务器在内网,且不配置yum,且不能提供系统安装镜像
#解决方案:
rpm形式自行安装软件及处理依赖关系
分析
由于软件依赖关系较为复杂,很多时候安装A软件依赖B、C软件,而B软件又依赖D、E,C软件又依赖F、G、H。。。。
想法
针对不同版本操作系统,持久化一套软件及其依赖的安装脚本及RPM介质,这样每次根据现场操作系统选取对应的安装包进行安装
虽然这样很不优雅,但确实一定程度解决了集成痛点
实现
经查阅相关资料,发现yum-utils这个工具可以将软件的rpm包及依赖,持久化到指定目录
#命令如下(笔者本地选取的yum源为阿里云yum源,操作系统版本为CentOS7.3)
yum install -y yum-utils
mkdir -p /root/gcc
yumdownloader --resolve --destdir=/root/gcc gcc pcre-devel openssl-devel unzip telnet zlib-devel net-tools
#该命令并不会执行安装步骤,仅仅是持久化到本地目录
#添加安装命令(该方式较为粗暴,是否对系统产生影响有待验证)
cat >> /root/gcc/install.sh <<EOF
rpm -ivh *.rpm --force
EOF
#打包
cd /root && tar zcvf centos7.3.tar.gz gcc
#使用
匹配系统版本后,上传,解压,安装
tar zxvf centos7.3.tar.gz && cd gcc && sh install.sh
网友评论