0Pricing
Ansible Academy · Aula

Ramificando com fatos da família do OS

Etapas diferentes para Debian e RedHat.

Ramificando com fatos da família do OS é uma aula grátis de Ansible Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ansible Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ansible Academy inclui 4 aulas no total.

Um playbook, muitas distribuições

O Debian usa apt, e o RedHat usa dnf. Com fatos e when, um único playbook se adapta a cada sistema operacional. 🐧

O fato os_family

O Ansible coleta ansible_os_family, um rótulo amplo como Debian ou RedHat que agrupa distribuições relacionadas.

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

Família versus distribuição

os_family é abrangente; ansible_distribution é específico. Ubuntu e Debian compartilham a família Debian, mas são distribuições diferentes.

Uma tarefa somente para Debian

Condicione uma tarefa apt para que ela seja executada apenas na família Debian. Os hosts RedHat simplesmente a ignoram.

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

A equivalente para RedHat

Adicione uma tarefa semelhante para a família RedHat. Agora os dois ambientes são contemplados pela mesma execução.

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

O atalho package

Para instalações simples, o módulo genérico package escolhe automaticamente a ferramenta correta, portanto talvez você nem precise da ramificação.

Strings diferenciam maiúsculas de minúsculas

Os nomes das famílias precisam ser exatos: é RedHat, não Redhat nem redhat. Usar maiúsculas ou minúsculas incorretamente faz com que todos os hosts sejam ignorados silenciosamente. ⚠️

Outros fatos úteis do OS

Além da família, há ansible_distribution_version e ansible_distribution_major_version para decisões mais detalhadas e baseadas na versão.

when: ansible_distribution_major_version == "9"

Inspecione antes de ramificar

Não tem certeza de um valor? Uma tarefa rápida de debug imprime o fato para que você possa escrever exatamente a condição necessária.

- ansible.builtin.debug:
    var: ansible_os_family

Os fatos precisam ser coletados

A ramificação com base em fatos do OS exige que gather_facts esteja ativado. Se você o tiver desativado, a variável os_family ficará indefinida.

Playbooks portáteis fazem a diferença

Um único arquivo que lida com todas as distribuições é mais fácil de manter do que cópias específicas para cada OS. Fatos combinados com when tornam a automação portátil. 🌍

Verificação rápida

Vamos esclarecer a ramificação por OS.

Recapitulação

Use ansible_os_family em when para ramificar entre Debian e RedHat. Mantenha os fatos ativados e corresponda ao nome exato. ✅

Perguntas Frequentes

A aula “Ramificando com fatos da família do OS” é grátis?

Sim — o texto completo de “Ramificando com fatos da família do OS” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ansible Academy, atualize para CoddyKit PRO. O curso de Ansible Academy inclui 4 aulas no total.

O que vou aprender em “Ramificando com fatos da família do OS”?

Etapas diferentes para Debian e RedHat. Você pratica Ansible Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ansible Academy?

Nenhuma experiência prévia é necessária. Ansible Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Ramificando com fatos da família do OS”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ansible Academy?

Sim. Cada aula de Ansible Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Execute uma tarefa somente quando for verdadeiro
  2. Ramificando com fatos da família do OS
  3. Combinando condições com and / or
  4. Registre um resultado e depois decida
← Voltar para Ansible Academy