1. 程式人生 > >【Absible學習】Ansible常用模塊---包管理模塊

【Absible學習】Ansible常用模塊---包管理模塊

裝包 ID 前綴 mir 配置文件 ansible isa yun 需要

  • yum_repository模塊
  • yum_repository模塊可以管理遠程主機上的yum倉庫。

    模塊參數

    參數 說明
    name 必須參數,用於指定要操作的唯一的倉庫ID,也就是".repo"配置文件中每個倉庫對應的"中括號"內的倉庫ID
    baseurl 設置yum倉庫的baseurl
    description 設置倉庫的註釋信息,也就是".repo"配置文件中每個倉庫對應的"name字段"對應的內容。
    file 設置倉庫的配置文件名稱,即設置".repo"配置文件的文件名前綴,在不使用此參數的情況下,默認以name參數的倉庫ID作為".repo"配置文件的文件名前綴,同一個‘.repo‘配置文件中可以存在多個yum源
    enabled 設置是否激活對應的yum源,此參數默認值為yes,表示啟用對應的yum源,設置為no表示不啟用對應的yum源。
    gpgcheck 設置是否開啟rpm包驗證功能,默認值為no,表示不啟用包驗證,設置為yes表示開啟包驗證功能。
    gpgcakey 當gpgcheck參數設置為yes時,需要使用此參數指定驗證包所需的公鑰
    state 默認值為present,當值設置為absent時,表示刪除對應的yum源
    [root@Super ~]# ansible 10.15.43.15 -S -R root -m yum_repository -a ‘name=aliEpel description="alibaba EPEL" baseurl=https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/ ‘
    10.15.43.15 | SUCCESS => {
        "changed": true, 
        "repo": "aliEpel", 
        "state": "present"
    }
    [root@Super ~]# ansible 10.15.43.15 -S -R root -m shell -a ‘ls /etc/yum.repos.d/‘
    10.15.43.15 | SUCCESS | rc=0 >>
    aliEpel.repo
    CentOS-Base.repo
    CentOS-CR.repo
    CentOS-Debuginfo.repo
    CentOS-fasttrack.repo
    CentOS-Media.repo
    CentOS-Sources.repo
    CentOS-Vault.repo
    
    [root@Super ~]# 

    在管理主機上設置ID為aliEpel的yum源,倉庫配置文件路徑為/etc/yum.repos.d/aliEpel.repo

    [root@Super ~]# ansible 10.15.43.15 -S -R root -m yum_repository -a ‘name=aliEpel file=aliEpel state=absent‘
    10.15.43.15 | SUCCESS => {
        "changed": true, 
        "repo": "aliEpel", 
        "state": "absent"
    }
    [root@Super ~]# ansible 10.15.43.15 -S -R root -m shell -a ‘ls /etc/yum.repos.d/‘
    10.15.43.15 | SUCCESS | rc=0 >>
    CentOS-Base.repo
    CentOS-CR.repo
    CentOS-Debuginfo.repo
    CentOS-fasttrack.repo
    CentOS-Media.repo
    CentOS-Sources.repo
    CentOS-Vault.repo
    
    [root@Super ~]# 
    

    刪除/etc/yum.repos.d/alibaba.repo配置文件中的aliEpel源

    • 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參數可以同時使用

    [root@Super ~]# ansible 10.15.43.15 -S -R root -m yum -a ‘name=nginx disable_gpg_check=yes state=installed enablerepo=aliEpel disablerepo=CentOS-Base‘

    【Absible學習】Ansible常用模塊---包管理模塊