由于使用pip安装的ansible,自带的模块会比较少,有的模块会不存在,需要自己手动添加

yum安装的ansible,基本上不会缺少模块,如果有缺少,操作的方式也是一样的

安装ansible

CentOS 系列

pip的方式安装ansible,需要先安装pip,并且ansible也需要用到python-devel

python2

yum install -y python-devel pip

python3

yum install -y python3-devel pip3

-i参数指定pip源,默认为官方源,速度比较慢,这里使用的是阿里源

pip3 install ansible -i https://mirrors.aliyun.com/pypi/simple/

ModuleNotFoundError: No module named 'setuptools_rust'

如果出现这个报错,执行如下命令,然后再次执行上面的ansible安装命令即可

pip3 install setuptools_rust -i https://mirrors.aliyun.com/pypi/simple/

distutils.errors.DistutilsError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpnzvqpzk3', '--quiet', 'cffi>=1.12']' returned non-zero exit status 1

如果出现这个报错,执行如下命令,然后再次执行上面的ansible安装命令即可

pip3 install cffi -i https://mirrors.aliyun.com/pypi/simple/

To update pip, run:

​ pip install --upgrade pip

如果出现这个报错,执行如下命令,然后再次执行上面的ansible安装命令即可

pip3 install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple

看到Successfully installed ansible-xxx,则安装成功

yum的方式安装ansible

ansible在epel源里面,因此,需要先安装epel源

yum install -y epel-release.noarch && yum install -y ansible

验证ansible版本

ansible --version

这是pip安装的

ansible [core 2.11.2]
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 2.7.13 (default, Jan 11 2017, 10:56:06) [GCC]
jinja version = 2.11.3
libyaml = True

这是yum安装的

ansible [core 2.11.2]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.6.8 (default, Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
jinja version = 3.0.1
libyaml = True

可以看出,yum安装的,默认配置文件在/etc/ansible/ansible.cfg,而pip安装的,默认没有配置文件,需要自己定义

定义ansible配置文件路径

export ANSIBLE_CONFIG=/etc/ansible/ansible.cfg

可以写在/etc/profile文件内,然后执行source /etc/profile,使配置生效

为ansible添加模块

ansible的模块,存储在ansible --versionansible python module location字段给出的目录下的modules目录下面

也就是上面的/usr/lib/python2.7/site-packages/ansible/modules或者/usr/local/lib/python3.6/site-packages/ansible/modules目录下

我的ansible缺少了synchronize这个模块

wget -O /usr/lib/python2.7/site-packages/ansible/modules/synchronize.py https://github.com/ansible/ansible-modules-core/blob/devel/files/synchronize.py

这样,我就有了synchronize这个模块了

ansible手动添加模块的更多相关文章

  1. Cisco packet tracer 的手动添加模块

    在PacketTracer 里面,路由器都是基本配置,这和真实设备是相同的 基本配置里面2620只有一个以太网口: 而2621和2811在背板上有两个以太网接口 所以,你在show run里面可以看到 ...

  2. 运维自动化神器ansible之user模块

    运维自动化神器ansible之user模块 一.概述   user模块 可管理远程主机上的 用户,比如创建用户.修改用户.删除用户.为用户创建密钥对等操作. 二.参数介绍   name: 用于指定操作 ...

  3. Apache不重新编译,利用apxs工具给Apache添加模块,如cgi模块

    想实践下Apache是如何运行cgi程序的,却发现先前编译安装Apache的时候,没有安装Apache的cgi模块. 附:CentOS6.x编译安装LAMP(2):编译安装 Apache2.2.25 ...

  4. 【Ansible】 各种模块

    [Ansible 模块] 就如python库一样,ansible的模块也分成了基本模块和第三方拓展模块(自定义的模块).这些模块其实才是作为真实的逻辑载体,在帮助ansible进行作业. ansibl ...

  5. 运维自动化神器ansible之group模块

    ansible之group模块 group模块是用来添加或者删除组 首先使用ansible-doc来查看用法 [root@note0 ansible]# ansible-doc -s group - ...

  6. python基础】——python添加模块搜索路径和包的导入

    方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.append("c:\\") 方法二:修改环境变量w用户可以修改系统环境变量PYTHONP ...

  7. GCC -l选项:手动添加链接库

    链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件.在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等)替代,以完成程 ...

  8. gcc -l:手动添加链接库

    链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件.在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等)替代,以完成程 ...

  9. ansible用authorized_key模块批量推送密钥到受控主机(免密登录)(ansible2.9.5)

    一,ansible的authorized_key模块的用途 用来配置密钥实现免密登录: ansible所在的主控机生成密钥后,如何把公钥上传到受控端? 当然可以用ssh-copy-id命令逐台手动处理 ...

随机推荐

  1. 小程序云开发请求第三方http或https接口

    1.新建http云函数,选中http云函数,右键,打开终端,安装依赖: npm install request-promise 2.http.js引入request-promise用于做网络请求 va ...

  2. 51 Nod 1083 矩阵取数问题(动态规划)

    原题链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1083 题目分析:通过读题发现我们只能往右边或者下边走,意味着 ...

  3. HashMap原理及源码分析

    HashMap 原理及源码分析 1. 存储结构 HashMap 内部是由 Node 类型的数组实现的.Node 包含着键值对,内部有四个字段,从 next 字段我们可以看出,Node 是一个链表.即数 ...

  4. ecos matlab版本安装

    官网链接 github地址 1.注意不仅要下载matlab版本,同时还要下载c版本,因为matlab版本缺少第三方软件,将两个版本解压缩后将c版本下的文件夹external,ecos_bb,inclu ...

  5. Redisson 实现分布式锁原理分析

    Redisson 实现分布式锁原理分析   写在前面 在了解分布式锁具体实现方案之前,我们应该先思考一下使用分布式锁必须要考虑的一些问题.​ 互斥性:在任意时刻,只能有一个进程持有锁. 防死锁:即使有 ...

  6. javaObject类—getClass方法

    1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...

  7. django之js模板插件artTemplate的使用

    安装: 方式1:artTemplate模板源码下载地址:https://aui.github.io/art-template/zh-cn/index.html 方式2:使用node.js进行安装:np ...

  8. Programiz 中文系列教程·翻译完成

    原文:Programiz 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 学习资源 目录 Programiz C ...

  9. 详解git pull和git fetch的区别(原理)

    感谢原文作者:马恩光 原文链接:https://blog.csdn.net/weixin_41975655/article/details/82887273 前言 在我们使用git的时候用的更新代码是 ...

  10. php表单初始化

    转载请注明来源:https://www.cnblogs.com/hookjc/ //初始化表单值的函数function  InitForm($row,$form="form1"){ ...