【问题标题】:ansible yum not workingansible yum 不工作
【发布时间】:2020-05-14 22:25:12
【问题描述】:

当我在 ops 机器上运行命令时:

ansible web -b -l 192.168.31.101 -m yum -a "name=gcc state=latest"

返回错误如下:

192.168.31.101 | FAILED! => {
    "changed": false,
    "failed": true,
    "msg": "python2 bindings for rpm are needed for this module. python2 yum module is needed for this  module" 
}

但是当我直接在192.168.31.101上执行命令sudo yum install gcc时,执行正确。

好像 ansible 不能使用正确的 yum 和 python

【问题讨论】:

  • 尝试使用-m package 而不是-m yum。它应该与各种包管理器一起使用。我认为 yum 将被 DNF 取代。 en.wikipedia.org/wiki/Dnf_(Fedora)。也许最新的centos镜像中不再默认安装yum python模块?

标签: python ansible centos7 yum


【解决方案1】:

我找到了解决方案,只需在hosts文件中添加一个python路径

ansible_python_interpreter=/usr/bin/python2.7

【讨论】:

    【解决方案2】:

    这发生在我身上,因为我的机器上安装了 python2.7 和 python3。 ansible 正在使用 python3 并因此出现错误。 所以我必须在我的makefile目标中明确指定它,如下所示 /bin/python2.7 /bin/ansible-playbook configure-box.yml

    【讨论】:

      【解决方案3】:

      在我的情况下,我需要在目标主机上安装yum 包并使用标志--system-site-packages 重新配置virtualenv,然后使用ansible 环境变量ansible_python_interpreter

      yum install yum
      virtualenv --system-site-packages venv
      

      【讨论】:

      • 你的意思可能是pip install yum ?
      猜你喜欢
      • 2020-11-03
      • 2020-02-25
      • 1970-01-01
      • 2022-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-29
      • 1970-01-01
      相关资源
      最近更新 更多