ansible的安装

   在决定安装高版本的ansible的时候,一定要注意openssl的版本,否则,源码编译openssl太难了。


违章动物许嵩 - 违章动物

1、 准备环境

       在使用ansible的时候,最好使用python2.7,,查看目前环境如下:

[root@Cserver~]# python -V(python版本)

Python2.6.6

[root@Cserver~]# cat /etc/redhat-release (操作系统版本)

RedHat Enterprise Linux Server release 6.5 (Santiago)

[root@Cserver~]# rpm -qa openssl(openssl版本)

openssl-1.0.1e-15.el6.x86_64

升级python

       python升级如下过程:

libffi-devel-3.0.5-3.2.el6.x86_64.rpm

[root@Cserver~]# yum -y groupinstall "Development tools"(安装开发包,主要是gcc)

[root@Cserverinstall]# cat upgradepython.sh (升级python的脚本)

#!/bin/bash

#filename:upgradepython.sh

#date:2016/09/19

#version:1.0

#author:kel

INSTALLPATH=/server/install/

#checkthe package

echo"check the package"

fori in  python-devel readline-develsqlite-devel bzip2-devel openssl-devel ncurses-devel zlib-devel  readline sqlite bzip2 openssl libdbi ncurseszlib gdbm MysqL-python MysqL-server MysqL-devel

do

         result=`rpm -qa $i`

         if [ ! -n "$result" ]

         then

                   yum -y install $i&>/dev/null

         else

                   echo "--$i is install--"

         fi

done

 

#installpython

echo"install python ,will take six minutes,smoking Now..."

cd$INSTALLPATH && tar -zxvf Python-* &>/dev/null && cdPython-* && ./configure --prefix=/usr/local/python &>/dev/null&& make &>/dev/null && make install &>/dev/null&& echo "python is installed /usr/local/python"

 

sed-i "1s/python/python2.6/" /usr/bin/yum

mv/usr/bin/python /usr/bin/python2.6.bak

ln-s /usr/local/python/bin/python /usr/bin/python

python-V

       在脚本中,首先进行检查相关的依赖包是否安装,如果没有安装那么使用yum进行安装,然后进行源码安装python,安装目录如下所示:

[root@Cserver~]# ls -dl /usr/local/python/(python安装目录)

drwxr-xr-x.6 root root 4096 Feb  5 11:21/usr/local/python/

       安装完成之后,将新版本的链接放置到原来的位置,并且备份老版本的python,然后修改yum使用到的python2.6。

[root@Cserver~]# tail -3 .bash_profile (手动修改PATH路径)

PATH=$PATH:$HOME/bin:/usr/local/python/bin

 

exportPATH

       最后可以使用如下来检查python的版本:

[root@Cserver~]# python -V(检查python版本)

Python2.7.11

      

3、 安装ansible

       在进行安装ansible的时候,可以看到ansible依赖的模块如下:

[root@Cserver~]# pip install ansible-2.2.1.0.tar.gz (安装ansible)

Processing./ansible-2.2.1.0.tar.gz

Requirementalready satisfied  : paramiko in/usr/local/python/lib/python2.7/site-packages (from ansible==2.2.1.0)

Requirementalready satisfied  : jinja2<2.9 in/usr/local/python/lib/python2.7/site-packages (from ansible==2.2.1.0)

Requirementalready satisfied  : PyYAML in/usr/local/python/lib/python2.7/site-packages (from ansible==2.2.1.0)

Requirementalready satisfied  : setuptoolsin/usr/local/python/lib/python2.7/site-packages (from ansible==2.2.1.0)

Requirementalready satisfied  : pycrypto>=2.6in/usr/local/python/lib/python2.7/site-packages (from ansible==2.2.1.0)

Requirementalready satisfied  : pyasn1>=0.1.7in/usr/local/python/lib/python2.7/site-packages (from paramiko->ansible==2.2.1.0)

Requirementalready satisfied  : cryptography>=1.1in/usr/local/python/lib/python2.7/site-packages (fromparamiko->ansible==2.2.1.0)

Requirementalready satisfied  : MarkupSafein/usr/local/python/lib/python2.7/site-packages (from jinja2<2.9->ansible==2.2.1.0)

Requirementalready satisfied  : idna>=2.0 in/usr/local/python/lib/python2.7/site-packages (fromcryptography>=1.1->paramiko->ansible==2.2.1.0)

Requirementalready satisfied  : six>=1.4.1 in/usr/local/python/lib/python2.7/site-packages (fromcryptography>=1.1->paramiko->ansible==2.2.1.0)

Requirementalready satisfied  : enum34 in/usr/local/python/lib/python2.7/site-packages (fromcryptography>=1.1->paramiko->ansible==2.2.1.0)

Requirementalready satisfied  : ipaddress in /usr/local/python/lib/python2.7/site-packages(from cryptography>=1.1->paramiko->ansible==2.2.1.0)

Requirementalready satisfied  : cffi>=1.4.1in/usr/local/python/lib/python2.7/site-packages (fromcryptography>=1.1->paramiko->ansible==2.2.1.0)

Requirementalready satisfied  : pycparser in/usr/local/python/lib/python2.7/site-packages (fromcffi>=1.4.1->cryptography>=1.1->paramiko->ansible==2.2.1.0)

Installingcollected packages: ansible

  Running setup.py install for ansible ... done

Successfullyinstalled ansible-2.2.1.0

 

       当有外网的时候,是可以直接pip进行安装,会再网络上去找相关的依赖模块,但是当没有外网的时候咋办,那么可以使用如下的方法

[root@Cserverinstall]# pip download ansible(下载ansible及相关的依赖包)

[root@Cserverinstall]# ls -l

total5244

-rw-r--r--1 root root 2511062 Feb  5 12:14ansible-2.2.1.0.tar.gz

-rw-r--r--1 root root   11593 Feb  5 12:14 appdirs-1.4.0-py2.py3-none-any.whl

-rw-r--r--1 root root  389473 Feb  5 12:14cffi-1.9.1-cp27-cp27m-manylinux1_x86_64.whl

-rw-r--r--1 root root  420867 Feb  5 12:14 cryptography-1.7.2.tar.gz

-rw-r--r--1 root root   12427 Feb  5 12:14 enum34-1.1.6-py2-none-any.whl

-rw-r--r--1 root root   55347 Feb  5 12:14 idna-2.2-py2.py3-none-any.whl

-rw-r--r--1 root root   17511 Feb  5 12:14 ipaddress-1.0.18-py2-none-any.whl

-rw-r--r--1 root root  264916 Feb  5 12:14 Jinja2-2.8.1-py2.py3-none-any.whl

-rw-r--r--1 root root   13416 Feb  5 12:14 MarkupSafe-0.23.tar.gz

-rw-r--r--1 root root   23069 Feb  5 12:14 packaging-16.8-py2.py3-none-any.whl

-rw-r--r--1 root root  172565 Feb  5 12:14 paramiko-2.1.1-py2.py3-none-any.whl

-rw-r--r--1 root root   51371 Feb  5 12:14 pyasn1-0.2.1-py2.py3-none-any.whl

-rw-r--r--1 root root  231163 Feb  5 12:14 pycparser-2.17.tar.gz

-rw-r--r--1 root root  446240 Feb  5 12:14 pycrypto-2.6.1.tar.gz

-rw-r--r--1 root root   56164 Feb  5 12:14 pyparsing-2.1.10-py2.py3-none-any.whl

-rw-r--r--1 root root  253011 Feb  5 12:14 PyYAML-3.12.tar.gz

-rw-r--r--1 root root  389363 Feb  5 12:14setuptools-34.1.1-py2.py3-none-any.whl

-rw-r--r--1 root root   10341 Feb  5 12:14 six-1.10.0-py2.py3-none-any.whl

       然后就可以拷贝到没有网的机器上,进行pip install安装即可。

       在没有pip的时候,可以使用如下的方式安装,先下载源码,然后如下:

[root@Cserverinstall]tar -xf setuptools-7.0.tar.gz

[root@Cserverinstall]cd setuptools-7.0

[root@Cserverinstall]python setup.py install

[root@Cserverinstall]tar -xf pip-8.1.0.tar.gz

[root@Cserverinstall]cd pip-8.1.0

[root@Cserverinstall]python setup.py install

 

4、 检查ansible是否成功安装

       在安装完ansible的时候,可以使用如下来进行测试:

[root@Cserverexamples]# mkdir /etc/ansible (创建ansible配置文件目录)

[root@Cserverexamples]# cp * /etc/ansible/(源码路径下的配置文件拷贝到配置目录)

[root@Cserverexamples]# vim /etc/ansible/hosts (编辑清单文件加入本机IP

172.168.1.75

[root@Cserverexamples]# ansible all -m ping -k(测试)

SSHpassword:

 

paramiko:The authenticity of host '172.168.1.75' can't be established.

Thessh-rsa key fingerprint is 00c9353527d29127a289f9caf662ffc4.

Areyou sure you want to continue connecting (yes/no)?

yes(第一次连接)

172.168.1.75 | SUCCESS => {

   "changed": false,

   "ping": "pong"

}

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...