0Pricing
Ansible Academy · Lección

Ramificar según los datos de la familia del sistema operativo

Pasos diferentes para Debian y RedHat

Ramificar según los datos de la familia del sistema operativo es una lección gratuita de Ansible Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ansible Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ansible Academy incluye 4 lecciones en total.

Un playbook, muchas distribuciones

Debian utiliza apt y RedHat utiliza dnf. Con los facts y when, un solo playbook se adapta a cada sistema operativo. 🐧

El dato os_family

Ansible recopila ansible_os_family, una etiqueta general como Debian o RedHat que agrupa distribuciones relacionadas.

when: ansible_facts["os_family"] == "Debian"

Familia frente a distribución

os_family es general; ansible_distribution es específico. Ubuntu y Debian pertenecen a la familia Debian, pero son distribuciones diferentes.

Una tarea solo para Debian

Condicione una tarea apt para que se ejecute únicamente en la familia Debian. Los hosts RedHat simplemente la omitirán.

- name: Install nginx (apt)
  ansible.builtin.apt:
    name: nginx
  when: ansible_os_family == "Debian"

El equivalente para RedHat

Añada una tarea complementaria para la familia RedHat. Así, ambos entornos quedan cubiertos por el mismo play.

- name: Install nginx (dnf)
  ansible.builtin.dnf:
    name: nginx
  when: ansible_os_family == "RedHat"

El atajo package

Para instalaciones sencillas, el módulo genérico package elige automáticamente la herramienta adecuada, por lo que quizá ni siquiera necesite la ramificación.

Las cadenas distinguen mayúsculas y minúsculas

Los nombres de las familias deben coincidir exactamente: es RedHat, no Redhat ni redhat. Usar una mayúscula incorrecta hace que se omitan silenciosamente todos los hosts. ⚠️

Otros datos útiles del sistema operativo

Además de la familia, existen ansible_distribution_version y ansible_distribution_major_version para tomar decisiones más precisas según la versión.

when: ansible_distribution_major_version == "9"

Inspeccione antes de ramificar

¿No está seguro de un valor? Una tarea rápida de debug muestra el dato para que pueda escribir la condición exacta que necesita.

- ansible.builtin.debug:
    var: ansible_os_family

Los datos deben recopilarse

Para ramificar según datos del sistema operativo, gather_facts debe estar activado. Si lo desactivó, la variable os_family no estará definida.

Los playbooks portables triunfan

Es más fácil mantener un solo archivo que gestione todas las distribuciones que copias específicas para cada sistema operativo. Los facts y when hacen que la automatización sea portable. 🌍

Comprobación rápida

Vamos a precisar cómo ramificar según el sistema operativo.

Repaso

Use ansible_os_family en when para ramificar entre Debian y RedHat. Mantenga activados los facts y use el nombre exacto. ✅

Preguntas frecuentes

¿La lección «Ramificar según los datos de la familia del sistema operativo» es gratis?

Sí — el texto completo de «Ramificar según los datos de la familia del sistema operativo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ansible Academy, actualiza a CoddyKit PRO. El curso de Ansible Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Ramificar según los datos de la familia del sistema operativo»?

Pasos diferentes para Debian y RedHat Practicas Ansible Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ansible Academy?

No se requiere experiencia previa. Ansible Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Ramificar según los datos de la familia del sistema operativo»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ansible Academy?

Sí. Cada lección de Ansible Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Ejecutar una tarea solo cuando sea True
  2. Ramificar según los datos de la familia del sistema operativo
  3. Combinar condiciones con and / or
  4. Registrar un resultado y decidir después
← Volver a Ansible Academy