Ansible 通过 apt 和 yum 安装软件包时抛出错误

Ansible 通过 apt 和 yum 安装软件包时抛出错误

我正在尝试使用 playbook 在 ansible 中安装软件包。为此,我需要在 yum 中安装一些软件包,在 apt 中安装一些软件包。我使用的 ansible 版本是:

root@server:~# ansible --version
ansible 2.6.0

当我尝试为 yum 运行此剧本时,出现以下错误:

fatal: [centos]: FAILED! => {"changed": false, "module_stderr": "Shared connection to centos closed.\r\n", 
"module_stdout": "sudo: a password is required\r\n", 
"msg": "MODULE FAILURE", "rc": 1}
to retry, use: --limit @/root/test.retry

当我尝试为 apt 运行此剧本时,出现以下错误:

致命:[服务器]:失败! => {“changed”:false,“module_stderr”:“与服务器的共享连接已关闭。\r\n”,“module_stdout”:“回溯(最近一次调用最后一次):\r\n 文件 \”/tmp/ansible_t9NeHG/ansible_module_apt.py\“,第 269 行,位于 \r\n 来自 ansible.module_utils.urls 导入 fetch_url \r\n 文件 \”/tmp/ansible_t9NeHG/ansible_modlib.zip/ansible/module_utils/urls.py\“,第 95 行,位于 \r\n 文件 \”/usr/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py\“,第 54 行,位于 \r\n 导入 OpenSSL.SSL \r\n 文件 \”/usr/lib/python2.7/dist-packages/OpenSSL/在里面.py\", 第 8 行,位于 \r\n 来自 OpenSSL 导入 rand、crypto、SSL\r\n 文件 \"/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py\", 第 118 行,位于 \r\n SSL_ST_INIT = _lib.SSL_ST_INIT\r\nAttributeError:'module' 对象没有属性'SSL_ST_INIT'\r\n", "msg": "MODULE FAILURE", "rc": 1}

在此处输入图片描述

我看过各种帮助帖子,但他们建议的运行剧本的方式就是这样。我哪里犯错了?你能具体说明一下吗?提前谢谢

答案1

我确实做了很多工作来解决这个问题。原因很简单。我们需要在远程机器上安装 Python。

为此,使用

# apt-get install python-pip

检查远程机器上安装的python版本:

# python --version

接下来,在远程机器上确保我们可以不用密码访问它们。为此,编辑sudoers文件:

# visudo or #nano /etc/sudoers

然后在文件末尾添加

user ALL=(ALL) NOPASSWD: ALL

并保存。

这将起到作用,并且应该适用于每一个安装yum步骤apt

相关内容