2017-08-02 289 views
0

我已經用ubuntu系統啓動了一個ec2實例。我將通過安全的方式在該系統上安裝git。下面是我的劇本文件:如何設置ec2實例?

--- 

- hosts: ec2 
    roles: 
    - git 
下面

是我混帳的角色任務文件:

--- 
- name: install git 
    sudo: yes 
    yum: 
    pkg: git 
    state: latest 

我得到以下錯誤,當我運行ansible-playbook -i hosts git.yml

TASK [git : install git] ********************************************************************************************************************************************************************************* 
fatal: [xxxxx.ap-southeast-2.compute.amazonaws.com]: FAILED! => {"changed": false, "failed": true, "msg": "python2 bindings for rpm are needed for this module. python2 yum module is needed fo 
r this module"} 
     to retry, use: --limit @/Users/joey/dev/dbkoda/jenkins-docker-file/playbooks/git.retry 

我不知道爲什麼我得到這個錯誤信息。我已經在ec2實例上安裝了python。並且PATH上有python2

下面是Ansible版本我使用:

$ ansible-playbook --version 
ansible-playbook 2.3.1.0 
    config file = 
    configured module search path = Default w/o overrides 
    python version = 2.7.13 (default, Jul 18 2017, 09:17:00) [GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] 

回答

0

Yum是在Red Hat的家庭分佈的標準包管理器。

的Ubuntu,基於Debian,使用APT

在Ansible使用apt module

您也可以嘗試package module,但由於包名跨包管理器不同,你可能不能夠爲不同分佈的共同發揮作用。