1. 程式人生 > >19-Ansible常用模組-yum_repository模組

19-Ansible常用模組-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 源。

三、示例

1.在 ansible-demo3 主機上設定ID為 aliEpel 的 yum 源,倉庫配置檔案路徑為 /etc/yum.repos.d/aliEpel.repo

[root@ansible-manager ~]# ansible ansible-demo3 -m yum_repository -a 'name=aliEpel description="alibaba EPEL" baseurl=https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/'
ansible-demo3 | SUCCESS => {
    "changed": true, 
    "repo": "aliEpel", 
    "state": "present"
}

2.在 ansible-demo3 主機上設定ID為 aliEpel 的 yum 源,倉庫配置檔案路徑為 /etc/yum.repos.d/alibaba.repo

[root@ansible-manager ~]# ansible ansible-demo3 -m yum_repository -a 'name=aliEpel description="alibaba EPEL" baseurl=https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/ file=alibaba'
ansible-demo3 | SUCCESS => {
    "changed": true, 
    "repo": "aliEpel", 
    "state": "present"
}

3.在 ansible-demo3 主機上設定ID為 local 的 yum 源,但是不啟用它(local源使用系統光碟映象作為本地 yum 源,以便測試舉例,所以 baseurl 中的值以 file:/// 開頭)。

ansible ansible-demo3 -m yum_repository -a 'name=local baseurl=file:///media description="local cd yum" enabled=no'

4.在 ansible-demo3 主機上設定ID為 local 的 yum 源,開啟包驗證功能,並指定驗證包所需的公鑰位置為 /media/RPM-GPG-KEY-CentOS-7

ansible ansible-demo3  -m yum_repository -a 'name=local baseurl=file:///media description="local cd yum" gpgcheck=yes gpgcakey=file:///media/RPM-GPG-KEY-CentOS-7'

5.在 ansible-demo3 主機上刪除 /etc/yum.repos.d/alibaba.repo 配置檔案中的 aliEpel 源。

[root@ansible-manager ~]# ansible ansible-demo3 -m yum_repository -a 'file=alibaba name=aliEpel state=absent'
ansible-demo3 | SUCCESS => {
    "changed": true, 
    "repo": "aliEpel", 
    "state": "absent"
}

四、總結

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

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