问题:我想使用Ansible安装全功能vim。如何获得Ansible安装vim-yum
问题:ansible yum模块无法安装vim,因为它与vim-minimal冲突。如果vim-minimal被卸载,sudo软件包也是如此。如果没有安装sudo软件包,则无法正常运行。
问题:安装vim的正确方法是什么?
问题:我想使用Ansible安装全功能vim。如何获得Ansible安装vim-yum
问题:ansible yum模块无法安装vim,因为它与vim-minimal冲突。如果vim-minimal被卸载,sudo软件包也是如此。如果没有安装sudo软件包,则无法正常运行。
问题:安装vim的正确方法是什么?
这里是我的解决方案,我只是不知道它是Ansible方式:
- name: Check if vim-enhanced.rpm is installed
command: rpm -q vim-enhanced
register: vim_rpm_check
changed_when: false
failed_when: "'command not found' in vim_rpm_check.stderr"
when: ansible_pkg_mgr == 'yum'
- name: Execute yum to install vim
sudo: yes
command: yum -y swap vim-minimal vim install sudo
when: ansible_pkg_mgr == 'yum' and vim_rpm_check.stdout.find('is not installed') != -1
Ansible的百胜模块是非常有限的,并且不能够高级交易,如yum shell
或yum swap
的。你将不得不使用命令模块来自己做。
yum -y swap vim-minimal vim-enhanced
这就是我所想的。既然我必须使用命令模块,那么以幂等的方式做赌注的方式是什么?如果我只是使用命令模块,它不会在每次运行时显示更改吗? – Frobbit
我不知道确切的方法来做到这一点,但我想像你会想要这样的bash片段: '''rpm -q vim-enhanced || yum -y swap vim-minimal vim-enhanced''' 换句话说,检查是否安装了vim-enhanced,如果不是,请尝试为vim-enhanced交换vim-minimal。 – carlwgeorge
有没有一种方法来防止卸载sudo的方式? – Frobbit