自制yum源离线安装ansible

适应场景

在实际生产环境中,服务器往往是不能访问互联网,如果简单的下载ansible源码安装,会碰到缺少各种依赖包的问题,因此,推荐制作yum源,然后使用yum安装ansible。

实验环境

  • 模拟可以通互联网的主机A
    • hostname:zabbix
    • IP:192.168.101.201
    • OS:CentOS 7.5
    • 下载包目录:/data/ansible_packages
  • 模拟生产环境不通互联网的主机B
    • hostname:kvm
    • IP:192.168.101.222
    • OS:CentOS 7.5
    • 存放包目录:/data/ansible_packages

关键工具(命令)

  • yumdownloader:只下载指定软件的所有依赖包和安装包到指定目录,不安装
  • createrepo:用于创建repodata

主机zabbix的操作

在主机zabbix上安装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/要存在!

主机kvm上的操作

解压压缩包

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

posted @ 2019-05-14 23:32  长翅膀的蜗牛  阅读(3733)  评论(1编辑  收藏  举报