以ansible为例
可联网主机
更换阿里云yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
安装所需软件包
yum-utils工具(可使用yumdownloader命令),createrepo(生成repo库)
yum install yum-utils createrepo
下载ansible依赖包
mkdir ansible-offline
cd ansible-offline
yumdownloader --resolve --destdir ./ ansible
创建repo仓库
cd ..
createrepo ansible-offline
编写安装脚本
vim ansible-offline/install.sh
#!/bin/bash
path=$(cd `dirname $0`; pwd)
cat > /etc/yum.repos.d/ansible.repo << EOF
[ansible]
name=ansible
baseurl=file://${path}
gpgcheck=0
enabled=1
EOF
echo "清除YUM缓存"
yum clean all
echo "重建YUM缓存"
yum makecache
echo "安装Ansible"
yum install ansible -y
打包
tar -zcf ansible-offline.tar.gz ansible-offline
离线主机
解压
tar -zxf ansible-offline.tar.gz
安装ansible
cd ansible-offline
sh install.sh
可联网主机系统配置尽量与离线主机一致,尤其安装系统是所选软件包尽量一样,否则会导致联网主机下载依赖少而无法到离线主机上安装