Forutsetninger
Slik aktiverer du EPEL-depot på CentOS 7- eller CentOS 8-maskiner med Ansible:
- Du må ha Ansible installert på datamaskinen din.
- Du må ha CentOS 7- eller CentOS 8-maskiner konfigurert for Ansible-automatisering.
Det er mange artikler om LinuxHint dedikert til å installere Ansible og konfigurere verter for Ansible automatisering. Det kan være lurt å sjekke ut disse artiklene om nødvendig for dine formål.
Aktivering av EPEL Repository på CentOS Hosts
Opprett først en prosjektkatalog ~ / prosjekt med følgende kommando:
$ mkdir -pv ~ / prosjekt / spillbøker
Naviger til ~ / prosjekt katalog med følgende kommando:
$ cd ~ / prosjekt
Opprett en ny fil verter i prosjektkatalogen og åpne den med nano-teksteditoren som følger:
$ nano verter
En tom fil verter skal opprettes og åpnes med nano-teksteditoren.
Skriv inn IP-adressene eller DNS-navnene på mål CentOS 7- og CentOS 8-maskiner (der du vil aktivere EPEL-depot) i centos delen av verter filen, som følger:
[centos]192.168.20.169
192.168.20.222
Her, 192.168.20.169 er IP-adressen til min virtuelle maskin CentOS 8 og 192.168.20.222 er IP-adressen til min virtuelle maskin CentOS 7. Disse vil være forskjellige for deg. Sørg for å erstatte IP-adressene med eksempler med din egen liste fra nå av.
MERK: Du finner IP-adressene til CentOS-vertene dine med følgende kommando:
$ vertsnavn -I
Hvis CentOS-vertene dine har konfigurert DNS-navn, bør du kunne finne dem med følgende kommando:
$ vertsnavn -A
Finalen verter filen skal se ut som vist på skjermbildet nedenfor.
Lagre nå vertsfilen ved å trykke på
Opprett en Ansible-konfigurasjonsfil ansible.cfg som følger:
$ nano ansible.cfg
Skriv inn følgende linjer i ansible.CFG-fil:
[standard]varelager =./ verter
Når du har fullført dette trinnet, lagrer du filen ved å trykke på
Lag nå en ny Ansible-spillbok enable_epel_repo.yaml i lekebøker / katalog som følger:
$ nano playbooks / enable_epel_repo.yaml
Deretter skriver du inn følgende koder i enable_epel_repo.yaml fil:
- verter: centosbruker: ansible
oppgaver:
- navn: Aktiver EPEL Repository på CentOS 8
dnf:
navn: epel-release
tilstand: siste
bli: Sant
når: ansible_facts ['os_family'] == 'RedHat' og ansible_facts
['distribution_major_version'] == '8'
- navn: Aktiver EPEL Repository på CentOS 7
yum:
navn: epel-release
tilstand: siste
bli: Sant
når: ansible_facts ['os_family'] == 'RedHat' og ansible_facts
['distribution_major_version'] == '7'
I denne koden:
verter: centos, velger bare vertene i centos gruppe fra verter fil.
bruker: ansible, SSH-brukernavnet til vertene (hvor Ansible kjører oppgavene) vil være ansible.
Jeg har definert 2 oppgaver her. En for CentOS 8-verter og en for CentOS 7-verter. Grunnen til at jeg har gjort det på denne måten er fordi standard pakkebehandling for CentOS 8 er DNF, og CentOS 7 er YUM. Én oppgave (første oppgave) vil bruke DNF-pakkebehandling og kjøres bare på CentOS 8-verter. Den andre oppgaven (siste oppgave) vil bruke YUM-pakkebehandleren og vil bare kjøre på CentOS 7-verter.
Disse to oppgavene er nesten identiske. De eneste forskjellene er pakkehåndteringsmodulene (dnf og yum) brukt i oppgavene og CentOS-versjonskontrollkoden.
dnf og yum Ansible moduler godtar de samme parameterne.
Her, navn: epel-release, pakken som skal installeres er epel-release.
tilstand: siste, pakken epel-release skal installeres. Hvis pakken allerede er installert og en oppdatert versjon er tilgjengelig, vil pakken bli oppdatert.
når: tilstand, hvis tilstand er ekte, så vil oppgaven løpe. Ellers vil ikke oppgaven kjøre.
ansible_facts, brukes til å få tilgang til Ansible vertsvariablene.
ansible_facts ['os_family'] == 'RedHat', sjekker om verts-operativsystemet er CentOS eller RedHat.
ansible_facts ['distribution_major_version'] == '8', sjekker om verts OS-versjonen er 8 (CentOS 8 eller RedHat 8, i dette tilfellet).
ansible_facts ['distribution_major_version'] == '7', sjekker om verts OS-versjonen er 7 (CentOS 7 eller RedHat 7, i dette tilfellet).
Lagre deretter enable_epel_repo.yaml filen ved å trykke på
Nå kan du kjøre Ansible-spillboken som følger:
$ ansible-playbook playbooks / enable_epel_repo.yaml
Spillboken skal kjøre uten feil, og EPEL-depotet skal være aktivert på både CentOS 7- og CentOS 8-vertene.
Som du kan se, er EPEL-depot aktivert i min CentOS 8-vert.
Som du kan se, er EPEL-depot aktivert i min CentOS 7-vert.
Så det er slik du aktiverer EPEL-depot på CentOS ved hjelp av Ansible. Takk for at du leser denne artikkelen.