問題:我想使用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