systemd unit คืออะไร ประเภทของ unit ที่พบบ่อย รวมถึงวิธีการเริ่ม หยุด เปิดใช้งาน และตรวจสอบบริการต่างๆ ด้วย systemctl
systemd unit คือออบเจกต์การกำหนดค่าที่ systemd ซึ่งเป็นระบบ init ของ Linux ส่วนใหญ่ใช้จัดการ ไม่ว่าจะเป็นบริการ (services), ซ็อกเก็ต (sockets), ตัวตั้งเวลา (timers), การเมานต์ (mounts) และอื่นๆ unit จะถูกอธิบายไว้ในไฟล์ unit เช่น /etc/systemd/system/<name>.service และควบคุมผ่านคำสั่ง systemctl
.service ใช้รันโปรแกรม, .socket ใช้เริ่มบริการเมื่อมีการเชื่อมต่อเข้ามา, .timer ใช้รัน unit ตามกำหนดเวลา, .mount และ .automount ใช้จัดการระบบไฟล์, .target ใช้จัดกลุ่ม unit เข้าด้วยกันตามสถานะ เช่น multi-user.target
แพ็กเกจจะติดตั้ง unit ไว้ใน /usr/lib/systemd/system (หรือ /lib/systemd/system) การเปลี่ยนแปลงในเครื่องควรทำใน /etc/systemd/system ซึ่งจะมีลำดับความสำคัญสูงกว่า คำสั่ง 'systemctl edit <unit>' จะสร้างไฟล์ override แบบ drop-in แทนการแก้ไขไฟล์ที่มากับแพ็กเกจโดยตรง
'systemctl status <unit>' ใช้แสดงสถานะและบรรทัดบันทึกเหตุการณ์ล่าสุด 'start', 'stop' และ 'restart' ใช้ดำเนินการทันที 'enable' และ 'disable' ใช้ควบคุมการเริ่มทำงานตอนบูตเครื่อง ส่วน 'enable --now' จะทำทั้งสองอย่าง 'systemctl --failed' ใช้แสดงรายการ unit ที่ทำงานล้มเหลว และ 'systemctl daemon-reload' ใช้สำหรับอ่านไฟล์ unit ใหม่หลังจากมีการแก้ไข
systemctl --failedsystemctl status <unit>journalctl -u <unit> -bsudo systemctl restart <unit>systemctl edit' แทนการแก้ไขไฟล์ใน /usr/lib/systemd/system โดยตรง เนื่องจากไฟล์จะถูกเขียนทับเมื่อมีการอัปเดตอัปเดตล่าสุด: 2026-10-08
วิธีอ่านบันทึกด้วย journalctl ตรวจสอบพื้นที่ที่ journal ใช้งาน และลดขนาดอย่างปลอดภัยด้วยตัวเลือก --vacuum
วิธีที่ cron ใช้รันงานตามกำหนดการ, ฟิลด์เวลาทั้งห้าของ crontab, ตำแหน่งที่เก็บไฟล์ cron ของระบบ และการเปรียบเทียบกับ systemd timers
การทำงานของ logrotate วิธีการตั้งค่าใน /etc/logrotate.conf และ /etc/logrotate.d รวมถึงวิธีทดสอบกฎอย่างปลอดภัย