运行ansible-playbook时出错

mll*_*mll 12 ubuntu ansible

我在Ubuntu Precise 64上安装了Ansible 1.2.3.

跑步ansible-playbook -i ansible_hosts playbook.yml给我这个错误:

ERROR: problem running ansible_hosts --list ([Errno 8] Exec format error)
Run Code Online (Sandbox Code Playgroud)

这是以下内容ansible_hosts:

[development]
localhost   ansible_connection=local
Run Code Online (Sandbox Code Playgroud)

并且playbook.yml:

---
- hosts: development
  sudo: yes
  tasks:
    - name: install curl
      apt: pkg=curl update_cache=yes
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Chr*_*ach 21

对我来说,通过删除ansible文件(playbook,库存等)的"执行"权限来解决问题:

find . -type f -exec chmod -x {} \;
Run Code Online (Sandbox Code Playgroud)

  • 执行权限告诉ansible您正在尝试希望库存文件是动态的:http://stackoverflow.com/questions/26859360/cant-use-ansible-inventory-file-because-it-is-executable/26863968 ?noredirect = 1 #comment42326480_26863968 (3认同)

And*_*ski 10

我有一个类似的问题:

$ ansible --version
Run Code Online (Sandbox Code Playgroud)

ansible 1.5.4

$ ansible-playbook -i hosts main.yml
Run Code Online (Sandbox Code Playgroud)

错误:运行问题/ mnt/d/Works/ansible-zipkin/hosts --list([Errno 8] Exec格式错误)

我为Debian/Ubuntu做的步骤:

$ sudo apt-get purge ansible
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
$ ansible --version
Run Code Online (Sandbox Code Playgroud)

ansible 2.2.1.0

$ ansible-playbook -i hosts main.yml
Run Code Online (Sandbox Code Playgroud)

现在它有效!!!


ami*_*ine 5

你必须删除执行权限 ansible_hosts

chmod a-x ansible_hosts
Run Code Online (Sandbox Code Playgroud)

如果这不起作用.尝试用sudo

sudo chmod a-x ansible_hosts
Run Code Online (Sandbox Code Playgroud)

  • 另外请记住,在vagrant中,如果这些文件安装在Windows(config.vm.synced_folder)中,则chmod不起作用.我结束了整个文件夹的复制,以便我可以在库存文件上运行chmod. (2认同)

Pro*_*was -1

我刚刚学习ansible。据我所知,apt 模块似乎没有名为“pkg”的密钥。也许,您正在寻找的是“名称”[1]

我认为,改变以下行

apt: pkg=curl update_cache=yes 
Run Code Online (Sandbox Code Playgroud)

apt: name=curl update_cache=yes
Run Code Online (Sandbox Code Playgroud)

应该可以解决问题。

参考: http: //docs.ansible.com/apt_module.html