1. 程式人生 > >20-Ansible常用模組-yum模組

20-Ansible常用模組-yum模組

一、概述

yum 模組可以幫助我們在遠端主機上通過 yum 源管理軟體包。

二、常用引數

name引數:必須引數,用於指定需要管理的軟體包,比如 nginx。

state引數:用於指定軟體包的狀態 ,預設值為。present,表示確保軟體包已經安裝,除了。present,其他可用值有 installed、latest、absent、removed,其中 installed 與present 等效,latest 表示安裝 yum 中最新的版本,absent 和 removed 等效,表示刪除對應的軟體包。

disable_gpg_check引數:用於禁用對 rpm 包的公鑰 gpg 驗證。預設值為 no,表示不禁用驗證,設定為 yes 表示禁用驗證,即不驗證包,直接安裝。在對應的 yum 源沒有開啟 gpg 驗證的情況下,需要將此引數的值設定為 yes,否則會報錯而無法進行安裝。

enablerepo引數:用於指定安裝軟體包時臨時啟用的 yum 源。假如你想要從A源中安裝軟體,但是你不確定A源是否啟用了,你可以在安裝軟體包時將此引數的值設定為 yes,即使A源的設定是未啟用,也可以在安裝軟體包時臨時啟用A源。

disablerepo引數:用於指定安裝軟體包時臨時禁用的 yum 源。某些場景下需要此引數,比如,當多個 yum 源中同時存在要安裝的軟體包時,你可以使用此引數臨時禁用某個源,這樣設定後,在安裝軟體包時則不會從對應的源中選擇安裝包。

enablerepo 引數和 disablerepo 引數可以同時使用。

三、示例

1.確保 ansible-demo3 主機上通過 yum 源安裝了 nginx (對應 yum 源未開啟 gpg 驗證,所以需要設定 disable_gpg_check=yes

),如下三條命令的效果相同。

ansible ansible-demo3 -m yum -a 'name=nginx disable_gpg_check=yes'
ansible ansible-demo3 -m yum -a 'name=nginx state=present disable_gpg_check=yes'
ansible ansible-demo3 -m yum -a 'name=nginx state=installed disable_gpg_check=yes'

2.確保 ansible-demo3 主機上安裝了 yum 源中最新版本的 nginx。

ansible ansible-demo3
-m yum -a 'name=nginx state=latest disable_gpg_check=yes'

3.確保 ansible-demo3 主機上通過 yum 源安裝的 nginx 被解除安裝了。如下兩條命令效果相同。

ansible ansible-demo3 -m yum -a 'name=nginx state=absent'
ansible ansible-demo3 -m yum -a 'name=nginx state=removed'

4.在 ansible-demo3 主機上安裝 telnet 時不確定 local 源是否啟用,使用 enablerepo=local確保臨時啟用 local 源。

ansible ansible-demo3 -m yum -a 'name=telnet disable_gpg_check=yes enablerepo=local'

5.在 ansible-demo3 主機上安裝 telnet 時,確定多個源中都有 telnet,但是不想從 local 源中安裝,所以在安裝時臨時禁用 local 源。

ansible ansible-demo3 -m yum -a 'name=telnet disable_gpg_check=yes disablerepo=local'

四、總結

本節介紹了 Ansible 常用模組之 yum 模組,並舉例說明如何使用,下節我們介紹 setup 模組。

這裡的命令常用引數介紹及示例,主要摘抄自下面文件內容,有部分改動,在這裡對原作者深表感謝!