无法使用Ansible安装软件包

时间:2016-03-24 18:57:46

标签: ansible

问题:当我尝试安装包时,ansible不会继续。 CLI只是闲置在那里。

SSH配置为连接不提示输入密码。我创建了一个名为" test"我的sudoers文件具有以下配置:

test    ALL=(ALL)       NOPASSWD:ALL

同样在/etc/ansible/ansible.cfg

inventory      = /etc/ansible/hosts
#library        = /usr/share/my_modules/
remote_tmp     = $HOME/.ansible/tmp
pattern        = *
forks          = 5
poll_interval  = 15
sudo_user      = root
#ask_sudo_pass = True
#ask_pass      = True
transport      = smart
#remote_port = 22 module_lang = C

当用户"测试"我做了

yum install lynx

指定的软件包已安装。 但是如果我做的话

ansible local -s -m shell -a 'yum install lynx'

什么都没发生。

我不确定发生了什么:(

3 个答案:

答案 0 :(得分:2)

你必须对yum说“是”:

请改为尝试:

ansible local -s -m shell -a 'yum install lynx -y'

答案 1 :(得分:2)

请尝试使用yum模块:

ansible local -s -m yum -a 'name=lynx state=present'

答案 2 :(得分:0)

您应该使用yum模块,或者更好的是package模块,它是OS通用的。

另一方面,你的另一个选择是raw模块,它对你的节点运行一个SSH-dirty命令!

这是在任务中使用package模块的示例:

----
- hosts: <hosts_names>
  sudo: yes
  tasks:
  - name: install lynx
    register: result
    package: name=lynx state=latest
    become: yes
    become_user: root
    become_method: sudo
    ignore_errors: True

使用上面的剧本,希望能帮助您安装所需的软件包,即使它没有这样做,您也可以轻松浏览result变量,看看有什么问题。出错了。

当然,在所有这些之前,您应该确保您的YUM存储库/工作正常运行!