适应场景

在实际生产环境中,服务器往往是不能访问互联网,如果简单的下载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

自制yum源离线安装ansible的更多相关文章

  1. 通过自制yum源离线安装ansible

    系统环境 --CentOS release 7 python版本--Python 3.5.4   背景:在企业环境中,安装ansible的服务器往往不能访问互联网,简单的下载ansible源码安装,会 ...

  2. redhat centos yum源的安装

    redhat centos yum源的安装 1.除旧 #cd /etc/yum.repos.d #mv rhel-debuginfo.repo rhel-debuginfo.repo.bak 此处将其 ...

  3. 源码安装Ansible

    一.Ansible介绍 ansible是一款的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批 ...

  4. (转)国内yum源的安装(163,阿里云,epel)

    国内yum源的安装(163,阿里云,epel) ----阿里云镜像源 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS ...

  5. redhat更改yum源及安装PHP环境

    redhat更新yum源 删除同RHEL一同安装的yum源 rpm -qa|grep yum #查看本地yum yum list | wc -l #看个数 yum install pip #看现象 r ...

  6. CentOS 7离线安装Ansible

    前言 我一直都想成为自动化运维界最亮的仔,奈何自己实力不允许.不过,我一直都在奋斗的路上:这不,最近就在学习自动化运维界的神器--Ansible. 要系统的学习一下Ansible,那就是要先搭建学习环 ...

  7. centos--软件源--本地软件源---离线安装

    一.软件源配置文件 1./etc/yum.conf 配置文件 [main] cachedir=/var/cache/yum #yum下载的RPM包的缓存目录 keepcache= #缓存是否保存,1保 ...

  8. Linux配置yum源(离线和在线)

    配置yum源有2种方法,一种是离线yum源,另外一种是在线yum源. 一.离线yum源,基于安装光盘提供的安装仓库. 建立一个属于仓库文件夹 mkdir /media/zidong cd /media ...

  9. Linux 源码安装Ansible 参考篇

    Ansible 源码搭建配置 近期在学习自动化运维相关技术,文章主要模拟内网情况下对Ansible的安装演示,源码安装较为繁琐.枯燥,尤其是在实际安装过程中可能出现各式各样的问题,所有在安装过程中尽量 ...

随机推荐

  1. 简单CSS的应用

    今天主要学习了一些关于CSS的内容 通过css调试了一个简单的表格 <%@ page language="java" contentType="text/html; ...

  2. Bazinga HDU - 5510【技巧暴力+字符串】

    题目:https://vjudge.net/problem/HDU-5510 $2015ACM/ICPC$ 亚洲区沈阳站 题目大意: 输入$t$(表示样例个数) 如何每个样例一个 $n$,表示字符串的 ...

  3. Mybaits(10)N+1问题

    N+1问题 从上面的例子日志中我们可以看到所有级联都成功了,但是引发了性能问题,例如我们在查询雇员的信息和工作任务信息,此时体检表和工牌信息就是多余,我们没必要查询一次.如果想日志体现的那样,取出了所 ...

  4. Linux 进程调度笔记(一)

    主要讨论的是单核 CPU 的情况下,进行调度的一些算法和思路.讨论都是基于单核 CPU 的条件下进行. 在内存中,无论对于用户而言有多少个进程,但在 CPU 运行的时候,总是只有只执行一个进程.进程调 ...

  5. JSP页面取不到ModelAndView里面存的值

    方法1:在jsp页面上加上<%@ page isELIgnored="false" %>

  6. PAT 基础编程题目集 6-10 阶乘计算升级版 (20 分)

    本题要求实现一个打印非负整数阶乘的函数. 函数接口定义: void Print_Factorial ( const int N ); 其中N是用户传入的参数,其值不超过1000.如果N是非负整数,则该 ...

  7. 解决ios手机中input输入框光标过长的问题

    修改前css部分代码: .receiving-info .receiving-info-list input { display: inline-block; width: 70%; font-siz ...

  8. Java知识串讲

    一.JDK个版本之间的区别: 1.JDK1.5的新特性: 泛型ArrayList list = new ArrayList();-->ArrayList<int> list = ne ...

  9. @Configuration@Bean

    https://blog.csdn.net/u014199143/article/details/80692685 @Configuation等价于<Beans></Beans> ...

  10. Java改变引用数据类型的值

    Java改变引用数据类型的值 在Java中,引用数据类型的数据传递的是值(地址)的拷贝 对于以下代码 class BirthDate { private int day; private int mo ...