16.1、python版本说明:

Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点,

其中saltstack和ansible都是用python开发的。ansible其实准确的说只提供了一个框架,它要基于很多其他的python模块才能工

作的,所以在安装ansible的时候你要再装很多其他的依赖包的。ansible的好处之一是使用者可以开发自己的模块,放在里面使用;

第二个好处是无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;第三个好处是批量任务执行可以写成脚本,

而且不用分发到远程就可以执行。强烈建议升级python版本到2.6以上,不然运行会出错或者有些功能会没有,在编译安装其他包的

时候也会因为兼容问题报错。

16.2、centos7下python版本是2.7.5,符合ansible的安装需求,直接进行编译安装即可。centos6下的python版本为Python 2.6.6,

需要升级python版本到2.7,升级步骤如下:

1、提前安装依赖包:

yum install zlib zlib-devel openssl openssl-devel gcc -y

2、编译安装:

wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz

tar zxf Python-2.7.12.tgz

cd Python-2.7.12

./configure --prefix=/usr/local/python2.7.12

make

make install

3、修改环境变量:

echo "export PATH=$PATH:/usr/local/python2.7.12/bin" >>/etc/profile

source /etc/profile

4、修改python默认版本:

mv /usr/bin/python /usr/bin/python.old

ln -s /usr/local/python2.7.12/bin/python2.7 /usr/bin/python

5、为防止yum执行异常,修改yum使用的python版本:

vim /usr/bin/yum

#将文件头#!/usr/bin/python修改为#!/usr/bin/python2.6

16.3、编译安装ansible:

1、安装setuptools:

wget https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip

unzip setuptools-40.6.3.zip 1>/dev/null

cd setuptools-40.6.3

python setup.py install

2、安装pip:

(1)方法一:

easy_install-2.7 pip

(2)方法二(推荐):

wget https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7/pip-18.1.tar.gz

tar xzf pip-18.1.tar.gz

cd pip-18.1

python setup.py install

3、通过pip安装常用模块:

pip2.7 install paramiko PyYAML Jinja2 httplib2 six pycrypto markupsafe ecdsa simplejson

模块功能介绍:

paramiko:用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。

PyYAML:一个Python的YAML解析器。

Jinja2:基于python的模板引擎。

httplib2:一个使用python写的支持的非常全面的http特性的库。

six:提供了一些简单的工具用来封装 Python 2 和 Python 3 之间的差异性。

pycrypto:是一个免费的加密算法库,支持常见的DES、AES加密以及MD5、SHA各种HASH运算。

markupsafe:为Python实现 XML/HTML/XHTML 标记安全字符串。

ecdsa:椭圆曲线数字签名算法( ECDSA)是非对称加密技术的一种。

simplejson:方便完成json的生成和解析。

4、安装ansible:

wget https://releases.ansible.com/ansible/ansible-2.9.5.tar.gz

tar xzf ansible-2.9.5.tar.gz

cd ansible-2.9.5

python setup.py install

5、查看ansible的版本:

ansible --version

6、创建Ansible配置文件,并开启Ansible日志(Ansible默认不启用日志):

mkdir /etc/ansible

cp -a /tools/ansible-2.9.5/examples/ansible.cfg /etc/ansible/

sed -i.bak 's/#log_path/log_path/' /etc/ansible/ansible.cfg

16、编译安装ansible的更多相关文章

  1. centos7源码编译安装Ansible详细部署

    一.基础介绍==========================================================================================ansi ...

  2. centos6.5-7编译安装Ansible详细部署

    一.基础介绍==========================================================================================ansi ...

  3. suse 12 sp3 利用shell脚本离线编译安装ansible

    # 测试环境是suse 12 sp3的系统,机器都是内网使用的,安装ansible真的很难顶 # 测试环境使用的python版本:2.7.13-27 # 此脚本只在本人测试环境成功,其他环境,需要选择 ...

  4. Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  5. CentOS 6.4下编译安装MySQL 5.6.16

    一.卸载旧版本号MySql 1.rpm卸载: 1> 检查安装包: rpm -qa | grep mysql 2> 普通删除: rpm -e mysql-5.6.16.rpm 3> 强 ...

  6. centos7下编译安装nginx-1.16.0

    一.下载nginx源码 http://nginx.org/en/download.html 如:nginx-1.16.0.tar.gz 二.创建用户和组,并解压 groupadd www userad ...

  7. ansible配合shell脚本批量编译安装python3.6.6

    [root@node1:/etc]# tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── python.yml └── rol ...

  8. CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

  9. CentOS 7.4编译安装Nginx1.10.3+MySQL5.7.16

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

随机推荐

  1. [bug] python3 pip 安装 MarkupSafe==1.0 失败:ImportError:cannot import name 'Feature' from 'setpools'

    解决 先升级pip到最新版本 python -m pip install --upgrade pip 再升级setuptools pip install --upgrade pip setuptool ...

  2. python类变量的分类和调用方式

    #!/usr/bin/python # -*- coding: UTF-8 -*- # 父类 class JustCounter: ''' 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中 ...

  3. 强哥PHP面向对象学习笔记

    面向对象编程OOP目标:重用性.灵活性.扩展性特点:封装.继承.多态 类的书写方法:class PersionName{} 特征:属性.其实就是变量行为:方法.其实就是函数 1.实例化对象2.对象中成 ...

  4. 一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程

    一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程原创CrownP 最后发布于2019-02-05 00:48:30 阅读数 2982 收藏展开1.更改为阿里云的源点击软件和更新 点击其 ...

  5. JDK、JRE 和 JVM 的区别

    JDK JDK 是 Java Development Kit 的缩写,JDK 是 Java 语言的软件开发工具包( SDK ).它提供了Java 开发.编译.运行需要的文件和环境. 如果你是 Java ...

  6. STM32串口编程易错点

    注意   串口发送函数 使用STM官方的LIB 中的库函数发送之后 加一点延时   否则会错误  接收数据不正常 正确做法是  加上等待发送完成

  7. keil 中的incompatible错误

    http://blog.csdn.net/kobesdu/article/details/42268065

  8. 入坑java工程师那些事

    最近在知乎上看到好多关于转行做java的朋友,有的在担心学历,有的在想着如何学习java,有的在纠结如何面试.作为一个工作了近10年的java程序员来聊聊我的一些想法,主要从学历.个人能力.工作环境等 ...

  9. Prometheus监控软件部署方法

    背景:负责基于区块链的某公正项目的状态上报模块设计编码,基于Prometheus进行二次开发 1.说明Prometheus 是一个开源的服务监控软件,它通过 HTTP 协议从远程机器收集数据并存储在本 ...

  10. Springboot单元测试@RunWith注解

    1.RunWith 注解 RunWith 就是一个运行器 可以在单元测试的时候,自动创建spring的应用上下文 2.正确使用 pom.xml <dependency> <group ...