0Pricing
Ansible Academy · Lezione

Diramare in base ai facts della famiglia del sistema operativo

Passi diversi per Debian e RedHat

Diramare in base ai facts della famiglia del sistema operativo è una lezione Ansible Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ansible Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ansible Academy include 4 lezioni in totale.

Un playbook, molte distribuzioni

Debian usa apt, mentre RedHat usa dnf. Con i fact e when, un singolo playbook si adatta a ogni sistema operativo. 🐧

Il fact os_family

Ansible raccoglie ansible_os_family, un'etichetta generale come Debian o RedHat che raggruppa le distribuzioni correlate.

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

Famiglia e distribuzione

os_family è generale, mentre ansible_distribution è specifico. Ubuntu e Debian appartengono alla famiglia Debian, ma sono distribuzioni diverse.

Un task solo per Debian

Imposti una condizione sul task apt, in modo che venga eseguito solo sulla famiglia Debian. Gli host RedHat lo ignoreranno.

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

L'equivalente per RedHat

Aggiunga un task analogo per la famiglia RedHat. Ora lo stesso play copre entrambi gli ambienti.

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

La scorciatoia package

Per le installazioni semplici, il modulo generico package seleziona automaticamente lo strumento corretto, quindi potrebbe non essere necessario alcun ramo.

Le stringhe distinguono maiuscole e minuscole

I nomi delle famiglie devono essere esatti: è RedHat, non Redhat o redhat. Una maiuscola errata fa ignorare silenziosamente ogni host. ⚠️

Altri fact utili sul sistema operativo

Oltre alla famiglia, sono disponibili ansible_distribution_version e ansible_distribution_major_version per decisioni più precise basate sulla versione.

when: ansible_distribution_major_version == "9"

Verificare prima di scegliere il ramo

Non è sicuro di un valore? Un rapido task debug visualizza il fact, così può scrivere la condizione esatta di cui ha bisogno.

- ansible.builtin.debug:
    var: ansible_os_family

È necessario raccogliere i fact

Per creare diramazioni basate sui fact del sistema operativo, gather_facts deve essere attivo. Se lo ha disabilitato, la variabile os_family non sarà definita.

I playbook portabili fanno la differenza

Un unico file che gestisce ogni distribuzione è più facile da mantenere rispetto a copie specifiche per sistema operativo. I facts insieme a when rendono l'automazione portabile. 🌍

Verifica rapida

Definiamo con precisione la diramazione in base al sistema operativo.

Riepilogo

Usi ansible_os_family in when per distinguere Debian da RedHat. Mantenga i facts attivati e usi il nome esatto. ✅

Domande Frequenti

La lezione «Diramare in base ai facts della famiglia del sistema operativo» è gratuita?

Sì — il testo completo di «Diramare in base ai facts della famiglia del sistema operativo» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ansible Academy, passa a CoddyKit PRO. Il corso Ansible Academy include 4 lezioni in totale.

Cosa imparerò in «Diramare in base ai facts della famiglia del sistema operativo»?

Passi diversi per Debian e RedHat Eserciti Ansible Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ansible Academy?

Non è richiesta alcuna esperienza precedente. Ansible Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Diramare in base ai facts della famiglia del sistema operativo»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ansible Academy?

Sì. Ogni lezione Ansible Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Eseguire un'attività solo quando è True
  2. Diramare in base ai facts della famiglia del sistema operativo
  3. Combinare condizioni con and / or
  4. Registrare un risultato e poi decidere
← Torna a Ansible Academy