1.适应场景
在实际生产环境中,服务器往往是不能访问互联网,这里我们使用ansible为例;如果简单的下载ansible源码安装,会碰到缺少各种依赖包的问题,因此,推荐制作yum源,然后使用yum安装ansible。
- 实验环境
- 模拟可以通互联网的主机A
- IP:192.168.101.201
- OS:CentOS 7.5
- 下载包目录:/data/ansible_packages
- 模拟生产环境不通互联网的主机B
- IP:192.168.101.222
- OS:CentOS 7.5
- 存放包目录:/data/ansible_packages
这里要求主机A和B操作系统版本号完全一致;环境信息也一致。
通常互联网主机A选择使用纯净版系统。
关键工具(命令)
- yumdownloader:只下载指定软件的所有依赖包和安装包到指定目录,不安装
- createrepo:用于创建repodata
2.1 在互联网主机上安装yumdownloader
yumdownloader命令在yum-utils软件包中,首先安装yum-utils
yum -y install yum-utils
获取ansible依赖包和安装包
- 安装epel源
对于CentOS的官方yum源中没有ansible安装包,这就需要先安装支持第三方的yum仓库组件,这里选择安装epel源;执行下边命令从互联网安装epel源:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- 获取ansible依赖包和安装包
yumdownloader --resolve --destdir /data/ansible_packages ansible
获取createrepo的依赖包和安装包
yumdownloader --resolve --destdir /data/ansible_packages createrepo
成功执行上边几条命令后,查看/data/ansible_packages下文件列表如下:
打包/data/ansible_packages目录下的所有包并上传到主机kvm
cd /data/ansible_packages/
tar -zcvf ansible.tar.gz ./*
scp ./ansible.tar.gz root@192.168.101.222:/data/ansible_packages/
注意:主机kvm上的/data/ansible_packages/要存在!
2.2 内网主机上的操作
解压压缩包
cd /data/ansible_packages
tar -zxvf ansible.tar.gz
安装createrepo
cd /data/ansible_packages
rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
制作离线源
createrepo /data/ansible_packages
成功执行后能在/data/ansible_packages看到新增了一个repodata目录:
新增yum文件/etc/yum.repos.d/ansible.repo
[ansible]
name=ansible
baseurl=file:///data/ansible_packages
gpgcheck=0
enabled=1
测试安装ansible
yum install ansible
验证
ansible --version