系统 | |
RHEL8(ansible) | 主控 |
CentOS7 | 被控 |
RHEL8 | 被控 |
目录结构
[root@ansible warehouse]# tree . ├── ansible.cfg ├── inventory ├── scripts │ └── el.sh └── warehouse.yml
el.sh
[root@ansible warehouse]# vim scripts/el.sh#!/bin/bash #!/bin/bash #install curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo #yum config sed -i -e ‘/mirrors.cloud.aliyuncs.com/d‘ -e ‘/mirrors.aliyuncs.com/d‘ /etc/yum.repos.d/CentOS-Base.repo sed -i ‘s#\$releasever#8#g‘ /etc/yum.repos.d/CentOS-Base.repo #makecache yum clean all && yum makecache #install epel yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm #epel config sed -i ‘s|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|‘ /etc/yum.repos.d/epel* sed -i ‘s|^metalink|#metalink|‘ /etc/yum.repos.d/epel* sed -i ‘s#\$releasever#8#g‘ /etc/yum.repos.d/epel.repo
playbook
[root@ansible warehouse]# vim warehouse.yml --- - hosts: group_yum tasks: - name: yum warehouse script: ./scripts/el.sh when: > ( ansible_facts[‘distribution‘] == "RedHat") and ( ansible_facts[‘distribution_version‘] > "7") - name: epel get_url: url: http://mirrors.aliyun.com/repo/epel-7.repo dest: /etc/yum.repos.d/ when: > ( ansible_facts[‘distribution‘] == "CentOS") and ( ansible_facts[‘distribution_version‘] > "6")
执行剧本
[root@ansible warehouse]# ansible-playbook warehouse.yml PLAY [group_yum] ****************************************************************************************** TASK [Gathering Facts] ************************************************************************************ ok: [redhat] ok: [centos] TASK [yum warehouse] ************************************************************************************** skipping: [centos] changed: [redhat] TASK [epel] *********************************************************************************************** skipping: [redhat] changed: [centos] PLAY RECAP ************************************************************************************************ centos : ok=2 changed=1 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 redhat : ok=2 changed=1 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
查看
[root@ansible warehouse]# ansible group_yum -a "ls /etc/yum.repos.d/" redhat | CHANGED | rc=0 >> CentOS-Base.repo epel-modular.repo epel-playground.repo epel.repo epel-testing-modular.repo epel-testing.repo redhat.repo centos | CHANGED | rc=0 >> CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo epel-7.repo
标签:shangdixinxi 上地信息