变更原因
ubuntu上apt安装的ansible版本太低,一些新特性不支持,而且它还依赖于python2,导致安装了一些不必要的东西。使用pip3安装ansible是一个更好的方案。
操作步骤
备份ansible配置文件
# 打包ansible配置文件目录
tar -zcf /etc/ansible ansible-bak-0408.tar.gz
# 检查备份是否正常
ls -l ansible-data-bak-0408.tar.gz
tar -tf ansible-data-bak-0408.tar.gz
安装配置pip3
# 安装pip3
sudo apt install python3-pip
# 升级pip到最新版本
sudo -H pip3 install -U pip
# 配置pip3使用国内源
sudo pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 可以用pip3 config list查看一下相应配置项有没有
pip3安装ansible
sudo -H pip3 install ansible
# 新的ansible执行文件路径为/usr/local/bin/ansible
# 运行whereis ansible结果如下
# ansible: /usr/bin/ansible /etc/ansible /usr/local/bin/ansible /usr/share/man/man1/ansible.1.gz
卸载apt安装的ansible及其依赖
sudo apt remove ansible
sudo apt antoremove
检查新的ansible是否可用
# 运行相关的命令或playbook
ansible all -m shell -a "hostname"