前言

我一直都想成为自动化运维界最亮的仔,奈何自己实力不允许。不过,我一直都在奋斗的路上;这不,最近就在学习自动化运维界的神器——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. 使用内核对象Mutex可以防止同一个进程运行两次

    用互斥法实现防止程序重复运行,使用内核对象Mutex可以防止同一个进程运行两次.注意:是名称相同的进程,而不是exe,因为exe程序可以改名. using System.Threading; publ ...

  2. PowerDesigner逆向工程导入MYSQL数据库总结(不容易,感谢前者们)

    原文:PowerDesigner逆向工程导入MYSQL数据库总结(不容易,感谢前者们) 参考来源: http://blog.csdn.net/chamtianjiao/article/details/ ...

  3. UWP 圆角TextBox和PassWord框

    最近在做一个UWP项目,登录的用户和密码框需要圆角的,由于UWP的TextBlock 和PasswordBox是没有CornerRadius属性的,于是我就使用了一个Border嵌套在最外层,设置其他 ...

  4. 值得推荐的C/C++框架和库(深度好文)

    [本文系外部转贴,原文地址:http://www.cppblog.com/merlinfang/archive/2014/12/26/209311.html http://coolshell.info ...

  5. QT5.6,5.7,5.8的新特征以及展望(Qt5.7首次正式支持Qt3D,以前都是预览版)

    https://wiki.qt.io/New_Features_in_Qt_5.6 (跨平台High-DPI,改进WebEngine到45,支持WIN 10,Canvas3D,3D) https:// ...

  6. 命令行版扫雷(vc08)

    复制代码模拟鼠标各种按键 左键 翻开右键 标雷左右键 翻开周围 先判断当前点是否为已翻开的点 时间地雷计数器清屏 展开 大于8时不管 小于等于8时翻开本身 为0时翻开周围的输出 同雷数图雷区判断 判断 ...

  7. kube框架结构-一个小型响应式CSS框架

    当你开始初建一个新的项目时,你可能需要一个不太复杂的基础框架,Kube框架应该是你最好的选择.一个独立的CSS文件,帮助你更简单的创建响应式的的布局设计. Kube Framework包括网格.按钮. ...

  8. 18 HTML标签以及属性全

    基本结构标签: <HTML>,表示该文件为HTML文件 <HEAD>,包含文件的标题,使用的脚本,样式定义等 <TITLE>---</TITLE>,包含 ...

  9. pytorch实现yolov3(3) 实现forward

    之前的文章里https://www.cnblogs.com/sdu20112013/p/11099244.html实现了网络的各个layer. 本篇来实现网络的forward的过程. 定义网络 cla ...

  10. HBase 学习之路(六)——HBase Java API 的基本使用

    一.简述 截至到目前(2019.04),HBase 有两个主要的版本,分别是1.x 和 2.x ,两个版本的Java API有所不同,1.x 中某些方法在2.x中被标识为@deprecated过时.所 ...