Forudsætninger
Sådan aktiveres EPEL-lager på CentOS 7- eller CentOS 8-maskiner med Ansible:
- Du skal have Ansible installeret på din computer.
- Du skal have CentOS 7- eller CentOS 8-maskiner konfigureret til Ansible-automatisering.
Der er mange artikler om LinuxHint dedikeret til installation af Ansible og konfigurering af værter til Ansible-automatisering. Det kan være en god idé at tjekke disse artikler ud til dine formål.
Aktivering af EPEL-lager på CentOS-værter
Opret først et projektmappe ~ / projekt med følgende kommando:
$ mkdir -pv ~ / projekt / playbøger
Naviger til ~ / projekt bibliotek med følgende kommando:
$ cd ~ / projekt
Opret en ny fil værter i projektmappen, og åbn den med nano-teksteditoren som følger:
$ nano værter
En tom fil værter skal oprettes og åbnes med nano-teksteditoren.
Indtast IP-adresser eller DNS-navne på mål CentOS 7- og CentOS 8-maskiner (hvor du vil aktivere EPEL-lager) i centos sektion af værter fil som følger:
[centos]192.168.20.169
192.168.20.222
Her, 192.168.20.169 er IP-adressen på min CentOS 8 virtuelle maskine og 192.168.20.222 er IP-adressen på min CentOS 7 virtuelle maskine. Disse vil være forskellige for dig. Sørg for at erstatte eksemplerne på IP-adresser med din egen liste fra nu af.
BEMÆRK: Du kan finde IP-adresserne på dine CentOS-værter med følgende kommando:
$ værtsnavn -I
Hvis dine CentOS-værter har konfigureret DNS-navne, skal du kunne finde dem med følgende kommando:
$ værtsnavn -A
Finalen værter filen skal se ud som vist på skærmbilledet nedenfor.
Gem nu værtsfilen ved at trykke på
Opret en Ansible konfigurationsfil ansible.cfg som følger:
$ nano ansible.cfg
Skriv følgende linjer i ansible.CFG-fil:
[standard]opgørelse =./ værter
Når du er færdig med dette trin, skal du gemme filen ved at trykke på
Opret nu en ny Ansible playbook aktivér_epel_repo.yaml i legebøger / katalog som følger:
$ nano playbooks / enable_epel_repo.yaml
Indtast derefter følgende koder i aktivér_epel_repo.yaml fil:
- værter: centosbruger: ansible
opgaver:
- navn: Aktivér EPEL Repository på CentOS 8
dnf:
navn: epel-release
tilstand: seneste
blive: Sandt
når: ansible_facts ['os_family'] == 'RedHat' og ansible_facts
['distribution_major_version'] == '8'
- navn: Aktivér EPEL Repository på CentOS 7
yum:
navn: epel-release
tilstand: seneste
blive: Sandt
hvornår: ansible_facts ['os_family'] == 'RedHat' og ansible_facts
['distribution_major_version'] == '7'
I denne kode:
værter: centos, vælger kun værter i centos gruppe fra værter fil.
bruger: ansible, SSH-brugernavnet på værterne (hvor Ansible kører opgaverne) vil være ansible.
Jeg har defineret 2 opgaver her. En til CentOS 8-værter og en til CentOS 7-værter. Grunden til, at jeg har gjort det på denne måde, er, at standardpakkehåndteringen til CentOS 8 er DNF, og CentOS 7 er YUM. Én opgave (første opgave) bruger DNF-pakkehåndtering og kører kun på CentOS 8-værter. Den anden opgave (sidste opgave) bruger YUM-pakkehåndteringen og kører kun på CentOS 7-værter.
Disse to opgaver er næsten identiske. De eneste forskelle er pakkehåndteringsmodulerne (dnf og yum) bruges i opgaverne og CentOS-versionskontrolkoden.
dnf og yum Ansible moduler accepterer de samme parametre.
Her, navn: epel-release, pakken, der skal installeres, er epel-frigivelse.
tilstand: seneste, pakken epel-frigivelse skal installeres. Hvis pakken allerede er installeret, og en opdateret version er tilgængelig, opdateres pakken.
når: tilstand, hvis den tilstand er rigtigt, så kører opgaven. Ellers kører opgaven ikke.
ansible_facts, bruges til at få adgang til Ansible-værtsvariablerne.
ansible_facts ['os_family'] == 'RedHat', kontrollerer, om værts-OS er CentOS eller RedHat.
ansible_facts ['distribution_major_version'] == '8', kontrollerer, om værts-OS-versionen er 8 (i dette tilfælde CentOS 8 eller RedHat 8).
ansible_facts ['distribution_major_version'] == '7', kontrollerer, om værts-OS-versionen er 7 (CentOS 7 eller RedHat 7, i dette tilfælde).
Gem derefter aktivér_epel_repo.yaml fil ved at trykke på
Nu kan du køre Ansible playbook som følger:
$ ansible-playbook playbooks / enable_epel_repo.yaml
Afspilningsbogen skal køre uden nogen fejl, og EPEL-arkivet skal være aktiveret på både CentOS 7 og CentOS 8 værter.
Som du kan se, er EPEL-lager aktiveret i min CentOS 8-vært.
Som du kan se, er EPEL-lager aktiveret i min CentOS 7-vært.
Så det er sådan, du aktiverer EPEL-lager på CentOS ved hjælp af Ansible. Tak, fordi du læste denne artikel.