我在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)
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)
现在它有效!!!
你必须删除执行权限 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)
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