问题:当我尝试安装包时,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'
什么都没发生。
我不确定发生了什么:(
答案 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存储库/工作正常运行!