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命令逐台手动处理 ...
随机推荐
- Git 的配置 config
Git 的配置 config Git 的配置 config config 文件简述 config 文件位置 信息查询 修改 config 文件 编辑配置文件 增加指定配置项 删除指定配置项 自助餐 ...
- Ubuntu18.04 内核升级
查看当前版本 在终端输入以下命令并回车 uname -sr 可以发现当前内核为 Linux 4.15.0-88-generic 查看目前最新的稳定内核 访问 The Linux Kernel A ...
- 浅谈xss漏洞
0x00 xss漏洞简介 XSS漏洞是Web应用程序中最常见的漏洞之一.如果您的站点没有预防XSS漏洞的固定方法, 那么很可能就存在XSS漏洞. 跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Scr ...
- markdown mermaid序列图
序列图(时序图) 序列图是一种交互图,它显示了进程如何相互操作以及按什么顺序操作. sequenceDiagram participant l as 大灰狼 participant y as 小羊 l ...
- day 11 算法的时间空间复杂度
(1).有以下程序: 求输入的n值(除1和n)之外的所有因子之和. 分析:这里函数内的循环体i初值不能为零.%是表示"取余",0除以任何数都不会存在余数的,所有是余数为0. (2) ...
- 前端——JSON学习总结
学习网址: https://www.bilibili.com/video/BV1Pt411u7R3 什么是JSON?(以下有关概念内容为视频中学习文档相关内容,代码为本人学习时使用的有关代码) JSO ...
- 热词cloud-EChart安装
1.安装npm install echarts npm install echarts-wordcloud注意版本:echarts版本5只能和wordcloud版本2的一起使用 :echarts版本4 ...
- JSON串、JSON对象、Java对象的相互转换2
对象类型转换: 1.Java对象-->JSON对象2.Java对象-->JSON字符串 3.JSON对象-->JSON字符串 4.JSON对象-->Java对象 5.JSON字 ...
- 2月10日 体温APP开发总结
1.Java代码 1.user package bean;public class User { private String name; private String riqi; private S ...
- 【记录一个问题】golang的xorm组件更新数据库未生效
代码中使用了类似的方式来更新数据库: func (writer *dbWriter) updateVersion(ctx context.Context, IP string, version str ...