Ansible

Comment activer le référentiel EPEL sur CentOS avec Ansible

Comment activer le référentiel EPEL sur CentOS avec Ansible
Dans cet article, je vais vous montrer comment activer le référentiel EPEL sur CentOS à l'aide d'Ansible. Alors, commençons.

Conditions préalables

Pour activer le référentiel EPEL sur les machines CentOS 7 ou CentOS 8 avec Ansible :

  1. Vous devez avoir Ansible installé sur votre ordinateur.
  2. Vous devez avoir des machines CentOS 7 ou CentOS 8 configurées pour l'automatisation Ansible.

Il existe de nombreux articles sur LinuxHint dédiés à l'installation d'Ansible et à la configuration des hôtes pour l'automatisation d'Ansible. Vous pouvez consulter ces articles si nécessaire, pour vos besoins.

Activation du référentiel EPEL sur les hôtes CentOS

Tout d'abord, créez un répertoire de projet ~/projet avec la commande suivante :

$ mkdir -pv ~/project/playbooks

Naviguez vers le ~/projet répertoire avec la commande suivante :

$ cd ~/projet

Créer un nouveau fichier hôtes dans le répertoire du projet et ouvrez-le avec l'éditeur de texte nano comme suit :

$ nano hôtes

Un fichier vierge hôtes doit être créé et ouvert avec l'éditeur de texte nano.

Saisissez les adresses IP ou les noms DNS des machines cibles CentOS 7 et CentOS 8 (où vous souhaitez activer le référentiel EPEL) dans le champ centos partie de la hôtes fichier, comme suit :

[cento]
192.168.20.169
192.168.20.222

Ici, 192.168.20.169 est l'adresse IP de ma machine virtuelle CentOS 8 et 192.168.20.222 est l'adresse IP de ma machine virtuelle CentOS 7. Ceux-ci seront différents pour vous. Assurez-vous de remplacer les exemples d'adresses IP par votre propre liste à partir de maintenant.

REMARQUE: Vous pouvez trouver les adresses IP de vos hôtes CentOS avec la commande suivante :

$ nom d'hôte -I

Si vos hôtes CentOS ont des noms DNS configurés, vous devriez pouvoir les trouver avec la commande suivante :

$ nom d'hôte -A

Le final hôtes le fichier devrait ressembler à celui indiqué dans la capture d'écran ci-dessous.

Maintenant, enregistrez le fichier hosts en appuyant sur + X suivie par Oui et .

Créer un fichier de configuration Ansible ansible.cfg comme suit:

$ nano ansible.cfg

Tapez les lignes suivantes dans l'ansible.fichier cfg :

[valeurs par défaut]
inventaire=./hôtes

Une fois cette étape terminée, enregistrez le fichier en appuyant sur + X suivie par Oui et .

Maintenant, créez un nouveau playbook Ansible enable_epel_repo.yaml dans le cahiers/ répertoire comme suit :

$ nano playbooks/enable_epel_repo.yaml

Ensuite, tapez les codes suivants dans le enable_epel_repo.yaml déposer:

- hôtes: centos
utilisateur : ansible
Tâches:
- nom : Activer le référentiel EPEL sur CentOS 8
dnf :
nom: epel-release
état : dernier
devenir vrai
quand : ansible_facts['os_family'] == 'RedHat' et ansible_facts
['distribution_major_version'] == '8'
- nom : Activer le référentiel EPEL sur CentOS 7
Miam:
nom: epel-release
état : dernier
devenir vrai
quand : ansible_facts['os_family'] == 'RedHat' et ansible_facts
['distribution_major_version'] == '7'

Dans ce code :

hôtes: centos, sélectionne uniquement les hôtes dans le centos groupe de la hôtes déposer.

utilisateur : ansible, le nom d'utilisateur SSH des hôtes (où Ansible exécutera les tâches) sera ansible.

j'en ai défini 2 Tâches ici. Un pour les hôtes CentOS 8 et un pour les hôtes CentOS 7. La raison pour laquelle je l'ai fait de cette façon est parce que le gestionnaire de packages par défaut pour CentOS 8 est DNF, et CentOS 7 est YUM. Une tâche (première tâche) utilisera le gestionnaire de packages DNF et s'exécutera uniquement sur les hôtes CentOS 8. L'autre tâche (dernière tâche) utilisera le gestionnaire de packages YUM et s'exécutera uniquement sur les hôtes CentOS 7.

Ces deux tâches sont presque identiques. Les seules différences sont les modules du gestionnaire de paquets (dnf et Miam) utilisé dans les tâches et le code de vérification de version CentOS.

dnf et Miam Les modules Ansible acceptent les mêmes paramètres.

Ici, nom: epel-release, le paquet à installer est le epel-libération.

état : dernier, le paquet epel-libération devrait être installé. Si le package est déjà installé et qu'une version mise à jour est disponible, le package sera mis à jour.

quand : état, si la état est vrai, alors la tâche s'exécutera. Sinon, la tâche ne s'exécutera pas.

ansible_facts, utilisé pour accéder aux variables de l'hôte Ansible.

ansible_facts['os_family'] == 'RedHat', vérifie si le système d'exploitation hôte est CentOS ou RedHat.

ansible_facts['distribution_major_version'] == '8', vérifie si la version du système d'exploitation hôte est 8 (CentOS 8 ou RedHat 8, dans ce cas).

ansible_facts['distribution_major_version'] == '7', vérifie si la version du système d'exploitation hôte est 7 (CentOS 7 ou RedHat 7, dans ce cas).

Ensuite, enregistrez enable_epel_repo.yaml fichier en appuyant sur + X suivie par Oui et .

Maintenant, vous pouvez exécuter le playbook Ansible comme suit :

$ ansible-playbook playbooks/enable_epel_repo.yaml

Le playbook doit s'exécuter sans erreur et le référentiel EPEL doit être activé sur les hôtes CentOS 7 et CentOS 8.

Comme vous pouvez le voir, le référentiel EPEL est activé dans mon hôte CentOS 8.

Comme vous pouvez le voir, le référentiel EPEL est activé dans mon hôte CentOS 7.

C'est ainsi que vous activez le référentiel EPEL sur CentOS à l'aide d'Ansible. Merci d'avoir lu cet article.

Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...
Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...
OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...