前言

我一直都想成为自动化运维界最亮的仔,奈何自己实力不允许。不过,我一直都在奋斗的路上;这不,最近就在学习自动化运维界的神器——Ansible。

要系统的学习一下Ansible,那就是要先搭建学习环境了,为了更切合我的实际工作环境,所以我需要在内网环境下搭建整套Ansible的学习环境,对于公网环境的搭建,我想说那个比较简单,几个命令就搞定了。对于内网环境的搭建,的确是非常麻烦的,所以这篇文章就对这个麻烦的事情进行一番总结,也希望我趟过的坑对你的学习有一点帮助。

离线安装

我们去Ansible的官网下载到最新的源代码,在源代码包中有一个requirements.txt文件,里面记录了安装Ansible需要依赖的包,在实际安装这些依赖包中,我们会发现这些依赖包又会依赖一些其它的包,所以当你看到这篇文章时,我想你是幸福的,因为我这里都整理好了,以及安装的顺序我都整理好了。来吧!

去PyPi下载这些依赖包的源码包

yum -y install python-devel openssl-devel

# 安装 setuptools
unzip setuptools-41.0.1.zip
cd setuptools-41.0.1
python3 setup.py install # 安装pycrypto
tar -xzf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python3 setup.py install # 安装 PyYAML
tar -xzf PyYAML-5.1.tar.gz
cd PyYAML-5.1
python3 setup.py install # 安装MarkupSafe
tar -xzf MarkupSafe-1.1.1.tar.gz
cd MarkupSafe-1.1.1
python3 setup.py install # 安装Jinja2
tar -xzf Jinja2-2.10.1.tar.gz
cd Jinja2-2.10.1
python3 setup.py install # 安装ecdsa
tar -xzf ecdsa-0.13.2.tar.gz
cd ecdsa-0.13.2
python3 setup.py install # 安装simplejson
tar -xzf simplejson-3.16.0.tar.gz
cd simplejson-3.16.0
python3 setup.py install # 安装libffi-devel
yum -y install libffi-devel-3.0.5-3.2.el6.x86_64.rpm # 安装pycparser
tar -xzf pycparser-2.19.tar.gz
cd pycparser-2.19
python3 setup.py install # 安装cffi
tar -xzf cffi-1.12.3.tar.gz
cd cffi-1.12.3
python3 setup.py install # 安装ipaddress
tar -xzf ipaddress-1.0.22.tar.gz
cd ipaddress-1.0.22
python3 setup.py install # 安装six
tar -xzf six-1.12.0.tar.gz
cd six-1.12.0
python3 setup.py install # 安装asn1crypto
tar -xzf asn1crypto-0.24.0.tar.gz
cd asn1crypto-0.24.0
python3 setup.py install # 安装idna
tar -xzf idna-2.8.tar.gz
cd idna-2.8
python3 setup.py install # 安装pyasn1
tar -xzf pyasn1-0.4.5.tar.gz
cd pyasn1-0.4.5
python3 setup.py install # 安装PyNaCl
tar -xzf PyNaCl-1.3.0.tar.gz
cd PyNaCl-1.3.0
python3 setup.py install # 安装cryptography
tar -xzf cryptography-2.6.1.tar.gz
cd cryptography-2.6.1
python3 setup.py install # 安装bcrypt
tar -xzf bcrypt-3.1.6.tar.gz
cd bcrypt-3.1.6
python3 setup.py install # 安装paramiko
tar -xzf paramiko-2.4.2.tar.gz
cd paramiko-2.4.2
python3 setup.py install # 安装ansible
tar -xzf ansible-latest.tar.gz
cd ansible-2.7.10/
python3 setup.py install

对于上面的安装,大家的疑惑点进行说明一下:

Q1:为什么是Python3?

A1:因为我的内网服务器是Python 2的版本,而我更喜欢玩Python 3版本,对于Python 2版本不感冒,而这个内网服务器又有很多应用使用的Python 2,所以,我只能编译一个Python 3安装到这个服务器了,让Python 2和Python 3共存。

Q2:对于从源码安装Python第三方模块不是很明白。

A2:如果对源码安装Python依赖包还要疑惑的话,我想这篇《[Python安装第三方模块总结][2]》可以解答你的疑惑。

按照上面的顺序,挨个安装吧,就可以顺利的完成Ansible的安装。安装完成后,在用户环境变量中添加以下代码:

export PATH=/home/jelly/Python/bin:$PATH

这样就可以将Ansible的相关命令就添加到环境变量中,我们就可以直接使用了。执行ansible --version命令来查看是否安装正确。

总结

我想我的这篇文章应该是大家需要的,根据这篇文章的指导,你一定可以正确的完成Ansible的安装。好了,一篇简单而实用的文章完成了。如果觉的还不错,可以点击下方的“打赏”哦。

2019年5月18日,于内蒙古呼和浩特。

CentOS 7离线安装Ansible的更多相关文章

  1. CentOS 7离线安装MySQL 5.7

    系列文章首发平台为果冻想个人博客.果冻想,是一个原创技术文章分享网站.在这里果冻会分享他的技术心得,技术得失,技术人生.我在果冻想等待你,也希望你能和我分享你的技术得与失,期待. 前言 网上已经有那么 ...

  2. centOS 7 离线安装 MySQL 5.6 完美安装

    centOS 7 离线安装 MySQL 5.6 centOS 7 离线安装 MySQL 5.6 准备环境 1.离线 centOS 7(此处为 centOS 7 最小安装) 2.nginx 安装文件 ( ...

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

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

  4. 自制yum源离线安装ansible

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

  5. CentOS 8 离线安装 podman 解决方法

    CentOS 8 系统中如果没有安装Podman的话,想要离线安装会比较麻烦,因为podman依赖的包比较多,从网上一个一个下载会很繁琐,也容易出错. 这里介绍一种曲线救国的方式来离线安装. 首先分享 ...

  6. CentOS 8 Yum安装ansible

    ansible的安装 直接yum安装ansible会报错,需要先安装epel源. ansible的安装来源于epel仓库,因此在安装前需确保安装了正确的epel源. yum install -y ep ...

  7. centos如何离线安装部署node&pm2?

    最近我们项目要上即时通讯,因为项目对安全要求比较高,所以选择了即时通讯云服务器yun2win,他们提供了数据服务器让我们自己安装部署.那么问题来了,我们服务器是放在内网,完全无法访问外网,而yun2w ...

  8. [ansible-playbook]离线安装ansible 2.3

    痛点: 测试环境无法连上外网升级ansible 预计阅读时间:5分钟 参考文档 http://docs.ansible.com/ansible/latest/intro_installation.ht ...

  9. centos下离线安装zip和unzip

    首先如果你的centos可以联网,那可以不用看了,直接yum install -y zip unzip就行,非常的痛快! 如果不能联网,像我一样,只能用vpn连上去,做了点限制.那就非常烦了,yum了 ...

随机推荐

  1. Use Spring @Scheduled To Achieve Timing Task

    Today I have a chance to use the @Scheduled to achieve a timing task.It is useful.Anyway,it was the ...

  2. PowerDesigner 在通过jdbc连接数据库时 Could not Initialize JavaVM!

    最近用到PowerDesigner的逆向工程,从数据库中逆向生成模型,本想使用odbc连接的,但是需要安装驱动,mysql的还好弄,oracle对我来讲实在是有些麻烦,看到能用jdbc连接,就想试试, ...

  3. EF 里的 join and Group Join

    join ); pageCount = _db.Orders.Count(); return _db.Orders.OrderByDescending(c=>c.ID).Skip(skip).T ...

  4. spring bean 加载过程(spring)

    以classpathXmlApplication为例 入口方法包含3个部分, public ClassPathXmlApplicationContext(String[] configLocation ...

  5. x64系统的判断和x64下文件和注册表访问的重定向(举例了GetProcAddress后转成函数指针的用法)

    判断一个32位应用程序是否运行在x64系统下,可以使用下面的代码: BOOL IsX64System() { BOOL bIsWow64 = FALSE; typedef BOOL (WINAPI * ...

  6. Python装饰器和回调函数

    1.装饰器 装饰器用来实现一种切面功能,即一些函数在调用前都必须实现的功能,比如用户是否登录,用户是否有权限这类需求,都很容易由装饰器来实现. import functools def log(fun ...

  7. Python字典的合并与拆分

    1.字典的合并 dict1={1:[1,11,111],2:[2,22,222]} dict2={3:[3,33,333],4:[4,44,444]} dictMerged2=dict(dict1, ...

  8. TCP UDP socket http webSocket 之间的关系

    ---恢复内容开始--- OSI&TCP/IP模型 要弄清tcp udp socket http websocket之间的关系,首先要知道经典的OSI七层模型,与之对应的是TCP/IP的四层模 ...

  9. Unity 通用透明物体漫反射Shader(双面渲染&多光源&光照衰减&法线贴图&凹凸透明度控制)

    Shader "MyUnlit/AlphaBlendDiffuse" { Properties { _Color("Color Tint(贴图染色)",Colo ...

  10. Binary classification - 聊聊评价指标的那些事儿【实战篇】

    分类问题就像披着羊皮的狼,看起来天真无害用起来天雷滚滚.比如在建模前你思考过下面的问题么? 你的分类模型输出的概率只是用来做样本间的相对排序,还是概率本身? 你的训练数据本身分布如何是否存在Imbal ...