Förgrena efter fakta om operativsystemfamilj
Olika steg för Debian och RedHat
Förgrena efter fakta om operativsystemfamilj är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
En playbook, många distributioner
Debian använder apt och RedHat använder dnf. Med fakta och when anpassar sig en enda playbook till varje operativsystem. 🐧
Faktumet os_family
Ansible samlar in ansible_os_family, en övergripande etikett som Debian eller RedHat och som grupperar relaterade distributioner.
when: ansible_facts["os_family"] == "Debian"Familj kontra distribution
os_family är övergripande, medan ansible_distribution är exakt. Ubuntu och Debian tillhör samma Debian-familj men är olika distributioner.
En task enbart för Debian
Villkora en apt-task så att den bara körs på Debian-familjen. RedHat-hostar hoppar helt enkelt över den.
- name: Install nginx (apt)
ansible.builtin.apt:
name: nginx
when: ansible_os_family == "Debian"Motsvarigheten för RedHat
Lägg till en motsvarande task för RedHat-familjen. Nu täcks båda världarna av samma play.
- name: Install nginx (dnf)
ansible.builtin.dnf:
name: nginx
when: ansible_os_family == "RedHat"Genvägen package
För enkla installationer väljer den generiska modulen package rätt verktyg automatiskt, så Ni kanske inte ens behöver förgreningen.
Strängar är skiftlägeskänsliga
Familjenamnen måste vara exakta: det är RedHat, inte Redhat eller redhat. Fel skiftläge gör att alla hostar tyst hoppas över. ⚠️
Andra användbara OS-fakta
Utöver familjen finns ansible_distribution_version och ansible_distribution_major_version för mer detaljerade, versionsmedvetna beslut.
when: ansible_distribution_major_version == "9"Inspektera innan Ni förgrenar
Är Ni osäker på ett värde? En snabb task med debug skriver ut faktumet, så att Ni kan formulera exakt det villkor Ni behöver.
- ansible.builtin.debug:
var: ansible_os_familyFakta måste samlas in
Förgrening utifrån OS-fakta kräver att gather_facts är aktiverat. Om Ni har inaktiverat det är variabeln os_family odefinierad.
Portabla playbooks lönar sig
En fil som hanterar alla distributioner är enklare att underhålla än separata kopior för varje operativsystem. Fakta tillsammans med when gör automatiseringen portabel. 🌍
Snabb kontroll
Låt oss reda ut hur OS-förgrening fungerar.
Sammanfattning
Använd ansible_os_family i when för att skilja mellan Debian och RedHat. Låt fakta vara aktiverade och matcha det exakta namnet. ✅
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Förgrena efter fakta om operativsystemfamilj” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Förgrena efter fakta om operativsystemfamilj”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Förgrena efter fakta om operativsystemfamilj”?
Olika steg för Debian och RedHat Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Förgrena efter fakta om operativsystemfamilj”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Kör en uppgift endast när värdet är true
- Förgrena efter fakta om operativsystemfamilj
- Kombinera villkor med and / or
- Registrera ett resultat och fatta sedan beslut