Centos/Redhat6.9离线安装Ansible

如果是python2.版本,setuptools的版本必须低于45,如果python3.版本,则可以安装,否则编译Ansible的时候会提示警告!(建议使用Python3+版本)

控制服务器:需要安装 Python2.6/2.7

被控服务器:需要安装 Python2.4 以上版本,若低于 Python2.5 需要安装 pythonsimplejson; 若启用了 selinux,则需要安装 libselinux-python。

Linux系统版本以及Python版本

[root@vm-CentOS75-1-63 ansible-2.9.7]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[root@vm-CentOS75-1-63 ansible-2.9.7]# python --version

Python 2.7.5

升级python:

第一、检查当前Python版本

python -V

检查之后,我们可以看到是Python 2.6.6版本,这里就不截图了,琐碎的东西太多,就直接把过程记录下来。

第二、升级系统和安装开发工具包

yum -y update

yum groupinstall "Development tools" -y

第三、补充安装需要的组件支持

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc -y

第四、安装Python2.7.12

cd /ansible

tar xf Python-2.7.12.tgz

cd Python-2.7.12

./configure --prefix=/usr/local

sudo make && sudo make altinstall

注意了,这里是用的altinstall。

第五、检查是否安装

/usr/local/bin/python2.7 --version

目前,我们只能通过这个命令检查,看到Python 2.7.12版本。

第六、创建软链接

mv /usr/bin/python /usr/bin/python2.6.6

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

移除原来的老版本,然后创建2.7的软链接。这样我们直接用python -V可以看到已经是Python 2.7.12。

第七、修复兼容问题

这里我们直接执行yum是无法安装软件的,需要修改yum兼容。

vi /usr/bin/yum

编辑文件,在顶部修改成

#!/usr/bin/python2.6.6

第八:查看python版本

python -V

安装ansible:

# 安装python-devel和openssl-devel(前提需要配置本地yum源,可参考https://www.cnblogs.com/fusheng11711/p/10863845.html

1. # yum -y install python-devel openssl-devel

2. cd /ansible

2.# 安装 setuptools

unzip setuptools-44.1.1.zip

cd setuptools-44.1.1

python setup.py install

# 安装pycrypto

tar -xzf pycrypto-2.6.1.tar.gz

cd pycrypto-2.6.1

python setup.py install

# 安装 PyYAML

tar -xzf PyYAML-5.3.1.tar.gz

cd PyYAML-5.3.1

python setup.py install

# 安装MarkupSafe

tar -xzf MarkupSafe-1.1.1.tar.gz

cd MarkupSafe-1.1.1

python setup.py install

# 安装Jinja2

tar -xzf Jinja2-2.10.1.tar.gz

cd Jinja2-2.10.1

python setup.py install

# 安装ecdsa

tar -xzf ecdsa-0.15.tar.gz

cd ecdsa-0.15

python setup.py install

# 安装simplejson

tar -xzf simplejson-3.17.0.tar.gz

cd simplejson-3.17.0

python setup.py install

# 安装libffi-devel

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

# 安装pycparser

tar -xzf pycparser-2.20.tar.gz

cd pycparser-2.20

python setup.py install

# 安装cffi

tar -xzf cffi-1.14.0.tar.gz

cd cffi-1.14.0

python setup.py install

# 安装ipaddress

tar -xzf ipaddress-1.0.23.tar.gz

cd ipaddress-1.0.23

python setup.py install

# 安装six

tar -xzf six-1.14.0.tar.gz

cd six-1.14.0

python setup.py install

# 安装asn1crypto

tar -xzf asn1crypto-1.3.0.tar.gz

cd asn1crypto-1.3.0

python setup.py install

# 安装idna

tar -xzf idna-2.9.tar.gz

cd idna-2.9

python setup.py install

# 安装pyasn1

tar -xzf pyasn1-0.4.8.tar.gz

cd pyasn1-0.4.8

python setup.py install

# 安装PyNaCl

tar -xzf PyNaCl-1.3.0.tar.gz

cd PyNaCl-1.3.0

python setup.py install

# 安装cryptography

tar -xzf cryptography-2.9.1.tar.gz

cd cryptography-2.9.1

python setup.py install

# 安装bcrypt

tar -xzf bcrypt-3.1.7.tar.gz

cd bcrypt-3.1.7

python setup.py install

# 安装enum34

tar -xzf enum34-1.1.9.tar.gz

cd enum34-1.1.9

python setup.py install

# 安装paramiko

tar -xzf paramiko-2.7.1.tar.gz

cd paramiko-2.7.1

python setup.py install

# 安装ansible

tar -zxvf ansible-2.3.3.0.tar.gz

cd ansible-2.3.3.0

python setup.py install

到这里安装结束,产看Ansible版本

ansible --version

3.# 修改Ansible配置文件位置

cd /etc

mkdir ansible

cp -a /ansible/ansible-2.3.3.0/examples/ansible.cfg /etc/ansible/

cp -a /ansible/ansible-2.3.3.0/examples/hosts /etc/ansible/

# 修改ansible.cfg文件开启日志

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

# 启动ansible

1.如果报找不到yaml.h的错,如图:

加上参数 --without-libyaml:

python setup.py --without-libyaml install 

2.缺少sshpass

tar xvzf sshpass-1.10.tar.gz

cd sshpass-1.10.tar.gz

./configure

make

make install

问题1:在使用copy模块的时候,部分主机出现以下报错:

"msg": "Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!"

解决方法:在被管理的主机上安装libselinux

yum -y install libselinux-python

问题2:在执行ansible host -m ping的时候遇到如下报错

192.168.56.6 | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true }

解决方法:修改配置文件/etc/ansible/ansible.cfg

[root@linux-node-ansible ansible]# vim /etc/ansible/ansible.cfg host_key_checking = False #将True改为False

然后清空/root/.ssh/known_hosts配置文件,重新执行命令即可

问题3:ansible “failed to resolve remote temporary directory from ansible-tmp”

问题最终解决办法安装高版本的openssh

yum update openssh -y

所有安装包附件:链接:https://pan.baidu.com/s/1e018x9DTOGk2iXEuIfoC9A 
提取码:H8DJ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值