由于使用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请求报文和响应报文

    1.http请求报文 请求报文由请求行.报文头.空行.报文体组成. 请求行可分为请求方法.请求URL.HTTP协议及版本. 举例1: GET / HTTP/1.1\nHost: 220.181.38. ...

  2. Android函数抽取壳的实现

    0x0 前言 函数抽取壳这个词不知道从哪起源的,但我理解的函数抽取壳是那种将dex文件中的函数代码给nop,然后在运行时再把字节码给填回dex的这么一种壳. 函数抽取前: 函数抽取后: 很早之前就想写 ...

  3. python极简教程07:封装、多态和继承

    测试奇谭,BUG不见. 这一场主讲python的面向对象部分--封装.多态和继承. 目的:掌握Python面向对象的三个核心概念. 封装 01 什么是封装? 封装的目的是,保护隐私.通俗的讲:不想让别 ...

  4. java之类的抽取与对象的创建

    Java语言之类的抽取 前言:世界由什么组成?This is a question.有人说是原子.分子,有人说是山川草木. 诚然,一千个人眼中有一千个哈姆雷特.而在程序员眼中,万物皆对象. 定义: 在 ...

  5. unity3d之public变量引发错误

    public变量引发错误 在vs ide中怎么更改也无效 后来发现public里面的值一直不改变,手动改之.

  6. 读书笔记http之第一章

    http TCP/IP协议各层: 应用层 决定了向用户提供应用服务时通信的活动. 比如 : FTP(FileTransferProtocol,文件传输协议)和DNS(DomainNameSystem, ...

  7. HBase结构

      Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据 Hive,可以使用类似SQL语言来访问HBase,最终本质是编译成MapReduce Job来处理HBase表数据,适合做数 ...

  8. 515. Find Largest Value in Each Tree Row

    You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 / \ \ 5 3 ...

  9. WebGPU图形编程(2):构建一个单色的三角形<学习引自徐博士教程>

    非常兴奋,我坚持了下来,开始更新我的第二篇博客,还是关于WebGPU的,我在学习过程中,对这项技术非常感兴趣,即使它非常抽象,难以理解,因为我看到未来Web3D的发展,WebGPU会成为主流技术,学习 ...

  10. 解决vscode下载很慢的问题

    1.打开vscode官网,https://code.visualstudio.com; 2.点击下载稳定版;这里我的电脑是win10版本 3.下载时可以去谷歌的下载内容里面,看到正在下载的vscode ...