12

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)

の内容は次のansible_hostsとおりです。

[development]
localhost   ansible_connection=local

playbook.yml:

---
- hosts: development
  sudo: yes
  tasks:
    - name: install curl
      apt: pkg=curl update_cache=yes

どうすればこれを機能させることができますか?

4

7 に答える 7

21

私にとって、この問題は、ansible ファイル (プレイブック、インベントリなど) の「実行」権限を削除することで解決されました。

find . -type f -exec chmod -x {} \;
于 2014-06-10T10:35:36.873 に答える
5

の実行権を削除する必要がありますansible_hosts

chmod a-x ansible_hosts

これが機能しない場合。sudoで試してください

sudo chmod a-x ansible_hosts
于 2015-08-21T15:40:23.537 に答える
2

実行権限は、たとえば のような動的インベントリ スクリプトに使用されますrax.py。これは特に、RackSpace から取得してインベントリを作成します。インベントリを手動で維持している場合、インベントリ ファイルは実行可能であってはなりません。

于 2014-09-17T14:44:53.770 に答える
0

私はちょうどansibleを学んでいます。私の知る限りでは、apt モジュールには「pkg」という名前のキーがないようです。おそらく、あなたが探しているのは「名前」です [1]

私は、次の行を変更すると思います

apt: pkg=curl update_cache=yes 

apt: name=curl update_cache=yes

問題を解決する必要があります。

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

于 2014-06-05T05:15:30.450 に答える
0

これは ansible 2.0 で修正されましたhttps://github.com/ansible/ansible/issues/10068

于 2016-05-02T10:01:40.243 に答える