前言

我一直都想成为自动化运维界最亮的仔,奈何自己实力不允许。不过,我一直都在奋斗的路上;这不,最近就在学习自动化运维界的神器——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. Android零基础入门第40节:自定义ArrayAdapter

    原文:Android零基础入门第40节:自定义ArrayAdapter ListView用起来还是比较简单的,也是Android应用程序中最重要的一个组件,但其他ListView可以随你所愿,能够完成 ...

  2. JAVA SHA1加密

    public static String getSha1(String str){ if(str==null||str.length()==0){ return null; } char hexDig ...

  3. Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...

  4. 当一个控件属性不存在的时候,IDE会出错在这里(说明是TWinControl.ReadState在读属性,并执行相关动作)

    procedure TWinControl.ReadState(Reader: TReader); begin DisableAlign; try inherited ReadState(Reader ...

  5. EF 6.0 Code First 迁移MySql数据库

    一.准备工作     使用NUGET安装Entity Framework 6,下载MySql Connector/Net 6.9.5   二.创建实体     我们在下面创建了两个类(博客和文章),并 ...

  6. vmware linux虚拟机忘记密码怎么办

    你又忘了root密码??? 针对好多好多同学经常忘记root密码...这里给你整理怎么重置root密码!! 重启 Linux 系统主机并出现引导界面时,按下键盘上的 e 键进入内核编辑界面 在 lin ...

  7. 微信商城小程序 带java后台源码

    微信小程序商城(Java版) 技术选型 1 后端使用技术 1.1 spring-web-4.0.2.RELEASE 1.2 mybatis3.2.8 1.3 shiro1.2.3 1.4 servle ...

  8. MAC 安装telnet

    https://blog.csdn.net/licheng70356213/article/details/81162660 在10.12及以下版本,都内置了telnet命令,但是在10.13中,已经 ...

  9. eclipse下jdbc数据源与连接池的配置及功能简介

    今天在做四则运算网页版的时候遇到了一个困惑,由于需要把每个产生的式子存进 数据库,所以就需要很多次重复的加载驱动,建立连接等操作,这样一方面写程序不方便,加大了程序量,另一方面,还有导致数据库的性能急 ...

  10. Linux系统:centos7下安装Jdk8、Tomcat8、MySQL5.7环境

    一.JDK1.8 环境搭建 1.上传文件解压 [root@localhost mysoft]# tar -zxvf jdk-8u161-linux-x64.tar.gz [root@localhost ...