套件庫 - yum_repository 模組

  1. yum_repository 模組可以增加或刪除套件庫,完整文件可用 ansible-doc 查詢 yum_repository 模組文件。
    [root@kvm19 ~]# ansible-doc yum_repository
    
  2. 使用 ad-hoc 命令在每一個受管節點產生 yum repository 設定,並將執行命令寫成腳本 /home/deyu1/ansible/adhoc.sh,yum repository 要求如下:
  3. Repository 1
    1. 名稱 (name):DYW_BASE
    2. 描述 (description):DYW base software
    3. 套件來源網址:http://dywang.csie.cyut.edu.tw/centos8/BaseOS
    4. 啟甪 GPG 簽章檢查
    5. GPG 金鑰網址:http://dywang.csie.cyut.edu.tw/materials/RPM-GPG-KEY-centosofficial
  4. Repository 2
    1. 名稱 (name):DYW_STREAM
    2. 描述 (description):DYW stream software
    3. 套件來源網址:http://dywang.csie.cyut.edu.tw/centos8/AppStream
    4. 啟甪 GPG 簽章檢查
    5. GPG 金鑰網址:http://dywang.csie.cyut.edu.tw/materials/RPM-GPG-KEY-centosofficial
  5. 編輯 /home/deyu1/ansible/adhoc.sh。
    [deyu1@kvm19 ansible]$ vim adhoc.sh 
    [deyu1@kvm19 ansible]$ cat adhoc.sh
    #!/bin/bash
    ansible dev -m yum_repository -a '\
    name="DYW_BASE" \
    description="DYW base software" \
    baseurl="http://dywang.csie.cyut.edu.tw/centos8/BaseOS" \
    gpgcheck=yes \
    gpgkey="http://dywang.csie.cyut.edu.tw/materials/RPM-GPG-KEY-centosofficial" \
    enabled=yes'
    
    ansible dev -m yum_repository -a '\
    name="DYW_STREAM" \
    description="DYW stream software" \
    baseurl="http://dywang.csie.cyut.edu.tw/centos8/AppStream" \
    gpgcheck=yes \
    gpgkey="http://dywang.csie.cyut.edu.tw/materials/RPM-GPG-KEY-centosofficial" \
    enabled=yes'
    
  6. 設定 /home/deyu1/ansible/adhoc.sh 為可執行。
    [deyu1@kvm19 ansible]$ chmod +x adhoc.sh
    
  7. sudo 執行 /home/deyu1/ansible/adhoc.sh (以下只顯示一台受管主機)。
    [deyu1@kvm19 ansible]$ ./adhoc.sh
    kvm11 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/libexec/platform-python"
        },
        "changed": true,
        "repo": "DYW_BASE",
        "state": "present"
    }
    kvm11 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/libexec/platform-python"
        },
        "changed": true,
        "repo": "DYW_STREAM",
        "state": "present"
    }