ansible源码安装

一.升级python


笔者系统为centos6.5,系统默认安装python2.6,虽然ansible官方文档要求python版本为2.6或2.7,然而许多人都说使用2.6可能出现一系列问题,所以作者决定将2.6升级为2.7以避免不必要的麻烦。

python下载地址:https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz

wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz -P /download
cd /download
tar xf Python-2.7.13.tgz -C tmp/
cd tmp/Python-2.7.13
./configure --prefix=/usr/local/python2.7
make && make install yum install gcc gcc-c++ openssl-devel zlib zlib-devel -y ./configure --prefix=/usr/local/ make && make install
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python

python -V    #查看版本信息已经不是Python 2.6.6了
Python 2.7.13  

*注:python升级后yum不能使用?

查看yum命令脚本可以发现yum使用的解释器是系统默认的python,而默认python(/usr/bin/python)已经被重命名为python2.6.6(/usr/bin/python2.6.6)了,所以我们只需要把yum脚本中的
#!/usr/bin/python    改为    #!/usr/bin/python2.6.6  即可
View Code

二.安装pip


pip 是python软件包的安装和管理工具, 有了这个工具, 我们只需要一个命令就可以轻松的python 的任意类库。有点类似于centos中的yum

下载地址:https://pypi.python.org/pypi/pip

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 -P /download/
tar xf /download/pip-9.0.1.tar.gz -C /download/tmp
cd /download/tmp/pip-9.0.1
python setup.py install  

安装过程中可能报错:

[root@xiamihost2 pip-9.0.1]# python setup.py install
Traceback (most recent call last):
  File "setup.py", line 6, in <module>
    from setuptools import setup, find_packages
ImportError: No module named setuptools
#大概意思是说缺少setuptools这个模块,没有就安装嘛!下载地址:https://pypi.python.org/pypi/setuptools

 setuptools 是 Python 的基础包工具,和pip类似,可以帮助我们轻松的下载,构建,安装,升级,卸载 python的软件包。

wget https://pypi.python.org/packages/07/a0/11d3d76df54b9701c0f7bf23ea9b00c61c5e14eb7962bb29aed866a5844e/setuptools-36.2.7.zip#md5=b9e6c049617bac0f9e908a41ab4a29ac -P /download
unzip /download/setuptools-36.2.7.zip -d /download/tmp/
cd /download/tmp/setuptools-36.2.7/
python setup.py install
#setuptools需要zlib模块,否则报错: "Compression requires the (missing) zlib module"
yum install zlib zlib-devel -y
#再重新安装python,安装完成后继续安装setuptools、pip

三.从源码安装ansible 


安装ansible控制主机需要的python模块,顺道检验下pip命令是否安装成功 

pip install paramiko PyYAML Jinja2 httplib2 six

笔者通过git下载的所有库都放在/opt目录下

git clone git://github.com/ansible/ansible.git --recursive
cd /opt/ansible
source ./hacking/env-setup

第一条ansible命令

编辑(或创建)/etc/ansible/hosts 并在其中加入一个或多个远程系统.你的public SSH key必须在这些系统的``authorized_keys``中

#mkdir /etc/ansible
#vim /etc/ansible/hosts

192.168.119.132

  

ansible all -a "/bin/mkdir /opt/hehe" -k

查看192.168.110.132机器的/opt目录下是否生成hehe目录  

 


进入python交互模式后,无法使用退格和方向键

 pip install readline

#然而,竟然报错:/usr/bin/ld: cannot find -lncurses
yum install ncurses-devel ncurses-static -y
 pip install readline

一切ok

  

  

 

  

  

  

原文地址:https://www.cnblogs.com/xiami-xm/p/7405740.html