适应场景

在实际生产环境中,服务器往往是不能访问互联网,如果简单的下载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. Selenium实战(七)——自动发送邮件

    SMPT(Simple Mail Transfer Protocol)简单邮件传输协议,是一组由源地址到目的地址传送邮件的规则,可以控制信件的中转方式.Python的smptlib模块提供了简单的AP ...

  2. Postman测试上传MultipartFile文件

    单个文件上传 后台代码 //导入excel @PostMapping("/import") public Result excelImport( @RequestParam(&qu ...

  3. Elasticsearch操作Document文档

    1.利用客户端操作Document文档数据        1.1 创建一个文档(创建数据的过程,向表中去添加数据)            请求方式:Post    请求地址:es所在IP:9200/索 ...

  4. php趣题小记

    题目一: $a = 'abc'; $a++; echo $a; // abd 题目二: function myfun($a){ echo $a+10; } $a = 10; echo "my ...

  5. Java_Day6(上)

    Java learning_Day6 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA> 提 ...

  6. Tomcat目录详解

    最近在项目部署时,有时通过使用公司提供的Jdoc容器引擎部署上线项目,有时使用Jenkins自动化部署,甚至有的项目直接打war包上传到弹性云的tomcat中进行部署.虽然部署方式略有不同,但是归根结 ...

  7. C++ fstream文件操作问题记录

    今天测试阿里云OSS文件上传接口,用fstream获取文件指针,代码如下 std::shared_ptr<std::iostream> content = std::make_shared ...

  8. Hangfire设置隔天的指定时间执行

    一.说明 一开始只需要每天执行指定的备份逻辑,后来需求变更为间隔X天的指定时间执行备份操作,于是有了本篇文章所述的操作. 二.代码 1.先执行间隔天数的逻辑. 2.当到达要备份的当天时,再添加一个任务 ...

  9. javascript控制台 js的调试

    一.错误查询,按F12键,点击控制台.

  10. Udacity_deep_learning_anconda

    1.创建anconda的虚拟环境: conda create -n your_env_name Python=X.X(2.7.3.6等) 2.查看anconda 有哪些虚拟环境: conda env ...