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 DevOps Bootcamp 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 DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp 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_familyLos 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 DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp 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 DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp 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
- Ejecutar una tarea solo cuando sea True
- Ramificar según los datos de la familia del sistema operativo
- Combinar condiciones con and / or
- Registrar un resultado y decidir después