Ansible

Cómo habilitar el repositorio EPEL en CentOS con Ansible

Cómo habilitar el repositorio EPEL en CentOS con Ansible
En este artículo, le mostraré cómo habilitar el repositorio EPEL en CentOS usando Ansible. Entonces empecemos.

Prerrequisitos

Para habilitar el repositorio EPEL en máquinas CentOS 7 o CentOS 8 con Ansible:

  1. Debes tener Ansible instalado en tu computadora.
  2. Debe tener máquinas CentOS 7 o CentOS 8 configuradas para la automatización de Ansible.

Hay muchos artículos sobre LinuxHint dedicados a la instalación de Ansible y la configuración de hosts para la automatización de Ansible. Es posible que desee consultar estos artículos si es necesario, para sus propósitos.

Habilitación del repositorio EPEL en hosts CentOS

Primero, crea un directorio de proyecto ~ / proyecto con el siguiente comando:

$ mkdir -pv ~ / project / playbooks

Navega al ~ / proyecto directorio con el siguiente comando:

$ cd ~ / proyecto

Crea un archivo nuevo Hospedadores en el directorio del proyecto y ábralo con el editor de texto nano de la siguiente manera:

$ nano hosts

Un archivo en blanco Hospedadores debe crearse y abrirse con el editor de texto nano.

Escriba las direcciones IP o los nombres DNS de las máquinas CentOS 7 y CentOS 8 de destino (donde desea habilitar el repositorio EPEL) en el centos sección de la Hospedadores archivo, de la siguiente manera:

[centos]
192.168.20.169
192.168.20.222

Aquí, 192.168.20.169 es la dirección IP de mi máquina virtual CentOS 8 y 192.168.20.222 es la dirección IP de mi máquina virtual CentOS 7. Estos serán diferentes para ti. Asegúrese de reemplazar las direcciones IP de muestra con su propia lista a partir de ahora.

NOTA: Puede encontrar las direcciones IP de sus hosts CentOS con el siguiente comando:

$ nombre de host -I

Si sus hosts CentOS tienen configurados nombres de DNS, debería poder encontrarlos con el siguiente comando:

$ nombre de host -A

El final Hospedadores el archivo debe verse como se muestra en la captura de pantalla a continuación.

Ahora, guarde el archivo de hosts presionando + X seguido por Y y .

Cree un archivo de configuración de Ansible ansible.cfg como sigue:

$ nano ansible.cfg

Escriba las siguientes líneas en ansible.archivo cfg:

[valores predeterminados]
inventario =./Hospedadores

Una vez que haya completado este paso, guarde el archivo presionando + X seguido por Y y .

Ahora, cree un nuevo libro de jugadas de Ansible enable_epel_repo.yaml en el libros de jugadas / directorio de la siguiente manera:

$ nano playbooks / enable_epel_repo.yaml

A continuación, escriba los siguientes códigos en el enable_epel_repo.yaml expediente:

- anfitriones: centos
usuario: ansible
Tareas:
- name: Habilite el repositorio EPEL en CentOS 8
dnf:
nombre: epel-release
estado: último
hecho realidad
cuando: ansible_facts ['os_family'] == 'RedHat' y ansible_facts
['distribution_major_version'] == '8'
- name: Habilite el repositorio EPEL en CentOS 7
mmm:
nombre: epel-release
estado: último
hecho realidad
cuando: ansible_facts ['os_family'] == 'RedHat' y ansible_facts
['distribution_major_version'] == '7'

En este código:

anfitriones: centos, selecciona solo los hosts en el centos grupo del Hospedadores expediente.

usuario: ansible, el nombre de usuario SSH de los hosts (donde Ansible ejecutará las tareas) será ansible.

He definido 2 Tareas aquí. Uno para hosts CentOS 8 y otro para hosts CentOS 7. La razón por la que lo he hecho de esta manera es porque el administrador de paquetes predeterminado para CentOS 8 es DNF y CentOS 7 es YUM. Una tarea (primera tarea) usará el administrador de paquetes DNF y se ejecutará solo en hosts CentOS 8. La otra tarea (última tarea) usará el administrador de paquetes YUM y se ejecutará solo en hosts CentOS 7.

Estas dos tareas son casi idénticas. Las únicas diferencias son los módulos del administrador de paquetes (dnf y mmm) utilizado en las tareas y el código de verificación de la versión de CentOS.

dnf y mmm Los módulos Ansible aceptan los mismos parámetros.

Aquí, nombre: epel-release, el paquete que se instalará es el epel-release.

estado: último, el paquete epel-release debe ser instalado. Si el paquete ya está instalado y hay una versión actualizada disponible, el paquete se actualizará.

cuando: condición, Si el condición es cierto, entonces la tarea se ejecutará. De lo contrario, la tarea no se ejecutará.

ansible_facts, utilizado para acceder a las variables del lenguaje principal de Ansible.

ansible_facts ['os_family'] == 'RedHat', comprueba si el sistema operativo del host es CentOS o RedHat.

ansible_facts ['distribution_major_version'] == '8', comprueba si la versión del sistema operativo del host es 8 (CentOS 8 o RedHat 8, en este caso).

ansible_facts ['distribution_major_version'] == '7', comprueba si la versión del sistema operativo del host es 7 (CentOS 7 o RedHat 7, en este caso).

Entonces, guarda enable_epel_repo.yaml archivo presionando + X seguido por Y y .

Ahora, puede ejecutar el libro de jugadas de Ansible de la siguiente manera:

$ ansible-playbook playbooks / enable_epel_repo.yaml

El libro de jugadas debe ejecutarse sin errores y el repositorio de EPEL debe estar habilitado en los hosts de CentOS 7 y CentOS 8.

Como puede ver, el repositorio EPEL está habilitado en mi host CentOS 8.

Como puede ver, el repositorio EPEL está habilitado en mi host CentOS 7.

Entonces, así es como habilita el repositorio EPEL en CentOS usando Ansible. Gracias por leer este artículo.

Juegos HD remasterizados para Linux que nunca tuvieron un lanzamiento de Linux antes
Muchos desarrolladores y editores de juegos están creando una remasterización HD de juegos antiguos para extender la vida útil de la franquicia, por f...
Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...