0

如果我尝试使用 ansible playbook 从 awx 控制台安装任何软件包,则从 git 中提取它。

但它在本地 ubuntu 机器中给出了以下错误。

/bin/sh: apt: command not found", "stderr_lines": ["/bin/sh: apt: command not found"], "stdout": "", "stdout_lines

或者有时。

已更改”:false,“cmd”:“apt-get update”,“msg”:“[Errno 2] 没有这样的文件或目录”,“rc

它可以与 yum 包一起使用,但不能与 opt 包一起使用,可能是什么原因,请对此提供帮助。

如果我尝试使用 ansible playbook 从 awx 控制台安装任何软件包,它会从 github 中提取它。


  • 主机:全部变成:是的 become_method:sudo 任务:
    • name:确保 apache 是最新版本 apt:name={{ item }} update_cache=yes with_items:
      • 阿帕奇2

/bin/sh: apt: command not found", "stderr_lines": ["/bin/sh: apt: command not found"], "stdout": "", "stdout_lines

4

1 回答 1

0

将您的代码更改为:

---
- hosts: all 
  become: True 
  tasks:
    - name: ensure apache is at the latest version 
      yum: 
        name: "{{ item }}" 
      update_cache: yes 
      with_items:
        - apache2

您的发行版没有安装 APT,它是包管理器。您很可能在使用 YUM 作为包管理器的 CentOS 上。

您不应该使用 apt,而是使用yum

--编辑--

可能有几个问题正在发生。首先,我们将验证您是否针对正确的机器。你能运行这个 Ansible 剧本吗:

---
- hosts: all 
  become: True 
  tasks:
    - name: test
      shell: touch /tmp/file.txt

    - name: ip address of targeted nodes
      debug: var=hostvars[inventory_hostname]['ansible_default_ipv4']['address']

现在,连接到您的 AWS 节点,您是否可以验证文件位于/tmp/file.txt.

在节点本身上,当您运行命令yumapt.

此外,ip -a在您的 Ubuntu 节点上运行,并验证 IP 地址是否匹配。

如果 APT 真的丢失了,那么你应该重新安装你的机器。因为这

于 2019-02-12T15:10:41.447 回答