0Pricing
Ansible Academy · บทเรียน

แยกแขนงตามข้อเท็จจริงของตระกูล OS

ใช้ขั้นตอนต่างกันสำหรับ Debian และ RedHat

แยกแขนงตามข้อเท็จจริงของตระกูล OS เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

เพลย์บุ๊กเดียว รองรับหลายดิสโทร

Debian ใช้ apt ส่วน RedHat ใช้ dnf เมื่อใช้แฟกต์ร่วมกับ when เพลย์บุ๊กเดียวจะปรับให้เหมาะกับแต่ละระบบปฏิบัติการได้ 🐧

แฟกต์ os_family

Ansible จะรวบรวม ansible_os_family ซึ่งเป็นป้ายกำกับระดับกว้าง เช่น Debian หรือ RedHat ที่ใช้จัดกลุ่มดิสโทรที่เกี่ยวข้องกัน

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

ตระกูลกับดิสโทร

os_family เป็นข้อมูลระดับกว้าง ส่วน ansible_distribution ระบุได้ละเอียดกว่า Ubuntu และ Debian อยู่ในตระกูล Debian เดียวกัน แต่เป็นคนละดิสโทร

งานสำหรับ Debian เท่านั้น

กำหนดเงื่อนไขให้งาน apt ทำงานเฉพาะบนตระกูล Debian เท่านั้น โฮสต์ RedHat จะถูกข้ามไป

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

คู่กันสำหรับ RedHat

เพิ่มงานอีกงานสำหรับตระกูล RedHat ตอนนี้ทั้งสองสภาพแวดล้อมได้รับการรองรับใน play เดียวกัน

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

ทางลัดของมอดูล package

สำหรับการติดตั้งแบบง่าย มอดูลทั่วไปอย่าง package จะเลือกเครื่องมือที่เหมาะสมให้อัตโนมัติ ดังนั้นคุณอาจไม่จำเป็นต้องแยกงานตามระบบปฏิบัติการ

สตริงแยกแยะตัวพิมพ์เล็กใหญ่

ชื่อตระกูลต้องตรงกันทุกตัวอักษร คือ RedHat ไม่ใช่ Redhat หรือ redhat หากใช้ตัวพิมพ์ผิด โฮสต์ทุกเครื่องจะถูกข้ามไปอย่างเงียบ ๆ ⚠️

แฟกต์ OS อื่น ๆ ที่มีประโยชน์

นอกจากตระกูลแล้ว ยังมี ansible_distribution_version และ ansible_distribution_major_version สำหรับการตัดสินใจที่ละเอียดและคำนึงถึงเวอร์ชันมากขึ้น

when: ansible_distribution_major_version == "9"

ตรวจสอบก่อนแยกเงื่อนไข

ไม่แน่ใจค่าที่ได้ใช่ไหม งาน debug อย่างง่ายจะแสดงแฟกต์นั้น เพื่อให้คุณเขียนเงื่อนไขที่ตรงกับค่าจริงได้

- ansible.builtin.debug:
    var: ansible_os_family

ต้องรวบรวมแฟกต์ก่อน

การแยกเงื่อนไขตามแฟกต์ของระบบปฏิบัติการต้องเปิดใช้ gather_facts หากคุณปิดใช้งานไว้ ตัวแปร os_family จะไม่ได้รับการกำหนดค่า

คู่มือพกพาชนะ

ไฟล์เดียวที่รองรับทุกดิสโทรดูแลรักษาได้ง่ายกว่าการมีสำเนาแยกตาม OS ข้อมูลข้อเท็จจริงและ when ทำให้การทำงานอัตโนมัติพกพาได้ 🌍

ตรวจสอบอย่างรวดเร็ว

มาทำความเข้าใจการแยกแขนงตาม OS ให้ชัดเจนกัน

สรุปทบทวน

ใช้ ansible_os_family ใน when เพื่อแยก Debian กับ RedHat เปิดใช้ข้อมูลข้อเท็จจริงไว้ และจับคู่ด้วยชื่อที่ตรงกันทุกตัวอักษร ✅

คำถามที่พบบ่อย

บทเรียน “แยกแขนงตามข้อเท็จจริงของตระกูล OS” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “แยกแขนงตามข้อเท็จจริงของตระกูล OS” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “แยกแขนงตามข้อเท็จจริงของตระกูล OS”

ใช้ขั้นตอนต่างกันสำหรับ Debian และ RedHat คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “แยกแขนงตามข้อเท็จจริงของตระกูล OS” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม

ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เรียกใช้งานเฉพาะเมื่อเป็น True
  2. แยกแขนงตามข้อเท็จจริงของตระกูล OS
  3. รวมเงื่อนไขด้วย and / or
  4. ลงทะเบียนผลลัพธ์ แล้วจึงตัดสินใจ
← กลับไปที่ Ansible Academy