Ansible

Come abilitare il repository EPEL su CentOS con Ansible

Come abilitare il repository EPEL su CentOS con Ansible
In questo articolo, ti mostrerò come abilitare il repository EPEL su CentOS usando Ansible. Quindi iniziamo.

Prerequisiti

Per abilitare il repository EPEL su macchine CentOS 7 o CentOS 8 con Ansible:

  1. Devi avere Ansible installato sul tuo computer.
  2. È necessario disporre di macchine CentOS 7 o CentOS 8 configurate per l'automazione Ansible.

Ci sono molti articoli su LinuxHint dedicati all'installazione di Ansible e alla configurazione degli host per l'automazione di Ansible. Potresti voler controllare questi articoli se necessario, per i tuoi scopi.

Abilitazione del repository EPEL su host CentOS

Per prima cosa, crea una directory di progetto ~/progetto con il seguente comando:

$ mkdir -pv ~/progetto/playbook

Vai a ~/progetto directory con il seguente comando:

$ cd ~/progetto

Crea un nuovo file padroni di casa nella directory del progetto e aprirlo con l'editor di testo nano come segue:

$ nano host

Un file vuoto padroni di casa dovrebbe essere creato e aperto con l'editor di testo nano.

Digitare gli indirizzi IP o i nomi DNS delle macchine CentOS 7 e CentOS 8 di destinazione (dove si desidera abilitare il repository EPEL) nel centos sezione del padroni di casa file, come segue:

[centos]
192.168.20.169
192.168.20.222

Qui, 192.168.20.169 è l'indirizzo IP della mia macchina virtuale CentOS 8 e 192.168.20.222 è l'indirizzo IP della mia macchina virtuale CentOS 7. Questi saranno diversi per te. Assicurati di sostituire gli indirizzi IP di esempio con il tuo elenco d'ora in poi.

NOTA: Puoi trovare gli indirizzi IP dei tuoi host CentOS con il seguente comando:

$ hostname -I

Se i tuoi host CentOS hanno nomi DNS configurati, dovresti essere in grado di trovarli con il seguente comando:

$ nome host -A

Il finale padroni di casa il file dovrebbe apparire come mostrato nello screenshot qui sotto.

Ora salva il file hosts premendo + X seguito da e .

Crea un file di configurazione Ansible ansible.cfg come segue:

$ nano ansible.cfg

Digita le seguenti righe nell'ansible.file cfg:

[predefiniti]
inventario=./host

Una volta completato questo passaggio, salvare il file premendo + X seguito da e .

Ora crea un nuovo playbook Ansible enable_epel_repo.igname nel libri di gioco/ directory come segue:

$ nano playbook/enable_epel_repo.igname

Quindi, digita i seguenti codici nel enable_epel_repo.igname file:

- host: centos
utente: ansible
compiti:
- nome: Abilita il repository EPEL su CentOS 8
dnf:
nome: epel-release
stato: ultimo
diventa vero
quando: ansible_facts['os_family'] == 'RedHat' e ansible_facts
['distribution_major_version'] == '8'
- nome: Abilita il repository EPEL su CentOS 7
yum:
nome: epel-release
stato: ultimo
diventa vero
quando: ansible_facts['os_family'] == 'RedHat' e ansible_facts
['distribution_major_version'] == '7'

In questo codice:

host: centos, seleziona solo gli host nel centos gruppo dal padroni di casa file.

utente: ansible, il nome utente SSH degli host (dove Ansible eseguirà le attività) sarà ansible.

ho definito 2 compiti Qui. Uno per gli host CentOS 8 e uno per gli host CentOS 7. Il motivo per cui l'ho fatto in questo modo è perché il gestore di pacchetti predefinito per CentOS 8 è DNF e CentOS 7 è YUM. Un'attività (prima attività) utilizzerà il gestore di pacchetti DNF e verrà eseguita solo su host CentOS 8. L'altra attività (ultima attività) utilizzerà il gestore di pacchetti YUM e verrà eseguita solo su host CentOS 7.

Questi due compiti sono quasi identici. Le uniche differenze sono i moduli del gestore pacchetti (dnf e yum) utilizzato nelle attività e nel codice di controllo della versione di CentOS.

dnf e yum I moduli Ansible accettano gli stessi parametri.

Qui, nome: epel-release, il pacchetto da installare è il epel-rilascio.

stato: ultimo, il pacchetto epel-rilascio dovrebbe essere installato. Se il pacchetto è già installato ed è disponibile una versione aggiornata, il pacchetto verrà aggiornato.

quando: condizione, se la condizione è vero, quindi l'attività verrà eseguita. In caso contrario, l'attività non verrà eseguita.

fatti_ansible, utilizzato per accedere alle variabili host di Ansible.

ansible_facts['os_family'] == 'RedHat', controlla se il sistema operativo host è CentOS o RedHat.

ansible_facts['distribution_major_version'] == '8', controlla se la versione del sistema operativo host è 8 (CentOS 8 o RedHat 8, in questo caso).

ansible_facts['distribution_major_version'] == '7', controlla se la versione del sistema operativo host è 7 (CentOS 7 o RedHat 7, in questo caso).

Quindi, salva enable_epel_repo.igname file premendo + X seguito da e .

Ora puoi eseguire il playbook di Ansible come segue:

$ playbook ansible-playbook/enable_epel_repo.igname

Il playbook dovrebbe essere eseguito senza errori e il repository EPEL dovrebbe essere abilitato su entrambi gli host CentOS 7 e CentOS 8.

Come puoi vedere, il repository EPEL è abilitato nel mio host CentOS 8.

Come puoi vedere, il repository EPEL è abilitato nel mio host CentOS 7.

Quindi, è così che abiliti il ​​repository EPEL su CentOS usando Ansible. Grazie per aver letto questo articolo.

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...