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


违章动物许嵩 - 违章动物

1、 准备环境

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

[root@Cserver~]# python -Vpython版本

Python2.6.6

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

RedHat Enterprise Linux Server release 6.5 (Santiago)

[root@Cserver~]# rpm -qa opensslopenssl版本

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"

}


©著作权归作者所有:来自51CTO博客作者mb5fdb131956bf3的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 02-K8s部署安装配置 Kuboard v2
  2. CentOS 7安装netatlak来实现Mac电脑Time Machine
  3. 将Hexo部署到自己的服务器上
  4. Docker企业级镜像仓库Harbor
  5. Hive3.1.0入门:安装部署详解
  6. Hadoop3.x入门:完全分布式Hadoop集群安装部署
  7. 统一了Excel和Python的神级编辑器GridStudio,安装起来确实不简单
  8. 7.Cisco vWLC在VMware exsi下的安装与组网说明
  9. 6:VMware Horizon View 8.0-安装数据库服务器

随机推荐

  1. 转:Android文件操作总结
  2. 北京android待遇 月薪过万秘籍分享
  3. linux下android开发环境的配置
  4. android 开源项目集锦
  5. ubuntu android 调用 动态链接库
  6. Android布局优化
  7. android button 自定义
  8. Android Design版微信首度亮相:微信的一小
  9. Android之Android(安卓)Studio三种方式导
  10. Android图像处理技术(实现Android中的PS)(一