#!/bin/bash

ansible_dir="/server/tools/ansible"

rm -rf $ansible_dir/*

#(1)、python2.7安装

cd $ansible_dir

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

tar xvzf Python-2.7.8.tgz

cd Python-2.7.8

./configure --prefix=/usr/local

make --jobs=`grep processor /proc/cpuinfo | wc -l`

make install

cd -

# 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件

cd /usr/local/include/python2.7

cp -a ./* /usr/local/include/

cd -

# 备份旧版本的python,并符号链接新版本的python

cd /usr/bin

mv python python2.6

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

cd -


# 修改yum脚本,使其指向旧版本的python,已避免其无法运行

# vim /usr/bin/yum

#!/usr/bin/python  -->  #!/usr/bin/python2.6

cp /usr/bin/yum /usr/bin/yum.bak

sed -i 's#/usr/bin/python.*#/usr/bin/python2.6#' /usr/bin/yum

#(2)、setuptools模块安装

cd $ansible_dir

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz

tar xvzf setuptools-7.0.tar.gz

cd setuptools-7.0

python setup.py install

cd -

#(3)、pycrypto模块安装

cd $ansible_dir

wget https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz

tar xvzf pycrypto-2.6.1.tar.gz

cd pycrypto-2.6.1

python setup.py install

cd -

#(4)、PyYAML模块安装

cd $ansible_dir

wget http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz

tar xvzf yaml-0.1.5.tar.gz

cd yaml-0.1.5

./configure --prefix=/usr/local

make --jobs=`grep processor /proc/cpuinfo | wc -l`

make install

cd -


wget https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz

tar xvzf PyYAML-3.11.tar.gz

cd PyYAML-3.11

python setup.py install

cd -

#(5)、Jinja2模块安装

cd $ansible_dir

wget https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz

tar xvzf MarkupSafe-0.9.3.tar.gz

cd MarkupSafe-0.9.3

python setup.py install

cd -


wget https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz

tar xvzf Jinja2-2.7.3.tar.gz

cd Jinja2-2.7.3

python setup.py install

cd -

#(6)、paramiko模块安装

cd $ansible_dir

wget https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz

tar xvzf ecdsa-0.11.tar.gz

cd ecdsa-0.11

python setup.py install

cd -


wget https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz

tar xvzf paramiko-1.15.1.tar.gz

cd paramiko-1.15.1

python setup.py install

cd -

#(7)、simplejson模块安装

cd $ansible_dir

wget https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz

tar xvzf simplejson-3.6.5.tar.gz

cd simplejson-3.6.5

python setup.py install

cd -

#(8)、ansible安装

cd $ansible_dir

wget https://github.com/ansible/ansible/archive/v1.7.2.tar.gz

tar xvzf v1.7.2.tar.gz

cd ansible-1.7.2

python setup.py install

cd -


配置&测试见附件