ansible手动添加模块
由于使用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 --version的ansible python module location字段给出的目录下的modules目录下面也就是上面的
/usr/lib/python2.7/site-packages/ansible/modules或者/usr/local/lib/python3.6/site-packages/ansible/modules目录下
ansible的模块,可以在github上获取:
找到自己需要的模块,下载下来,放到上面看到的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手动添加模块的更多相关文章
- Cisco packet tracer 的手动添加模块
在PacketTracer 里面,路由器都是基本配置,这和真实设备是相同的 基本配置里面2620只有一个以太网口: 而2621和2811在背板上有两个以太网接口 所以,你在show run里面可以看到 ...
- 运维自动化神器ansible之user模块
运维自动化神器ansible之user模块 一.概述 user模块 可管理远程主机上的 用户,比如创建用户.修改用户.删除用户.为用户创建密钥对等操作. 二.参数介绍 name: 用于指定操作 ...
- Apache不重新编译,利用apxs工具给Apache添加模块,如cgi模块
想实践下Apache是如何运行cgi程序的,却发现先前编译安装Apache的时候,没有安装Apache的cgi模块. 附:CentOS6.x编译安装LAMP(2):编译安装 Apache2.2.25 ...
- 【Ansible】 各种模块
[Ansible 模块] 就如python库一样,ansible的模块也分成了基本模块和第三方拓展模块(自定义的模块).这些模块其实才是作为真实的逻辑载体,在帮助ansible进行作业. ansibl ...
- 运维自动化神器ansible之group模块
ansible之group模块 group模块是用来添加或者删除组 首先使用ansible-doc来查看用法 [root@note0 ansible]# ansible-doc -s group - ...
- python基础】——python添加模块搜索路径和包的导入
方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.append("c:\\") 方法二:修改环境变量w用户可以修改系统环境变量PYTHONP ...
- GCC -l选项:手动添加链接库
链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件.在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等)替代,以完成程 ...
- gcc -l:手动添加链接库
链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件.在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等)替代,以完成程 ...
- ansible用authorized_key模块批量推送密钥到受控主机(免密登录)(ansible2.9.5)
一,ansible的authorized_key模块的用途 用来配置密钥实现免密登录: ansible所在的主控机生成密钥后,如何把公钥上传到受控端? 当然可以用ssh-copy-id命令逐台手动处理 ...
随机推荐
- 小程序云开发请求第三方http或https接口
1.新建http云函数,选中http云函数,右键,打开终端,安装依赖: npm install request-promise 2.http.js引入request-promise用于做网络请求 va ...
- 51 Nod 1083 矩阵取数问题(动态规划)
原题链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1083 题目分析:通过读题发现我们只能往右边或者下边走,意味着 ...
- HashMap原理及源码分析
HashMap 原理及源码分析 1. 存储结构 HashMap 内部是由 Node 类型的数组实现的.Node 包含着键值对,内部有四个字段,从 next 字段我们可以看出,Node 是一个链表.即数 ...
- ecos matlab版本安装
官网链接 github地址 1.注意不仅要下载matlab版本,同时还要下载c版本,因为matlab版本缺少第三方软件,将两个版本解压缩后将c版本下的文件夹external,ecos_bb,inclu ...
- Redisson 实现分布式锁原理分析
Redisson 实现分布式锁原理分析 写在前面 在了解分布式锁具体实现方案之前,我们应该先思考一下使用分布式锁必须要考虑的一些问题. 互斥性:在任意时刻,只能有一个进程持有锁. 防死锁:即使有 ...
- javaObject类—getClass方法
1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...
- django之js模板插件artTemplate的使用
安装: 方式1:artTemplate模板源码下载地址:https://aui.github.io/art-template/zh-cn/index.html 方式2:使用node.js进行安装:np ...
- Programiz 中文系列教程·翻译完成
原文:Programiz 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 学习资源 目录 Programiz C ...
- 详解git pull和git fetch的区别(原理)
感谢原文作者:马恩光 原文链接:https://blog.csdn.net/weixin_41975655/article/details/82887273 前言 在我们使用git的时候用的更新代码是 ...
- php表单初始化
转载请注明来源:https://www.cnblogs.com/hookjc/ //初始化表单值的函数function InitForm($row,$form="form1"){ ...