天天看點

20-yum子產品-Ansible常用子產品

一、概述

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'           

繼續閱讀