วิธีจัดการบริการ Systemd บนระบบ Linux
ตอนนี้ Systemd ถูกใช้โดยค่าเริ่มต้นในการแจกแจง Linux ส่วนใหญ่จาก Fedora และ Red Hat เป็น Ubuntu, Debian, openSUSE และ Arch คำสั่ง systemctl อนุญาตให้คุณรับข้อมูลเกี่ยวกับสถานะของ systemd และควบคุมบริการที่รันอยู่.
แม้จะมีข้อโต้แย้งนี้อย่างน้อยก็แนะนำมาตรฐานบางอย่างในการกระจาย Linux คำสั่งเดียวกันจะอนุญาตให้คุณจัดการบริการในลักษณะเดียวกันกับการแจกจ่าย Linux โดยใช้ systemd.
บันทึก: หากต้องการแก้ไขการกำหนดค่าระบบของคุณในการแจกจ่าย Linux เช่น Ubuntu ที่ใช้ sudo คุณจะต้องใส่คำสั่งล่วงหน้าที่นี่ด้วย sudo. ในลีนุกซ์รุ่นอื่นคุณจะต้องเป็นผู้ใช้รูทด้วย su คำสั่งก่อน.
ตรวจสอบว่าระบบ Linux ของคุณกำลังใช้งาน Systemd หรือไม่
หากคุณไม่แน่ใจว่าการกระจาย Linux ของคุณใช้ systemd หรือไม่ให้เปิดหน้าต่าง Terminal และเรียกใช้คำสั่งต่อไปนี้ สิ่งนี้แสดงหมายเลขเวอร์ชันของ systemd บนระบบ Linux ของคุณหากมีการติดตั้ง systemd:
systemd -version
วิเคราะห์กระบวนการบู๊ต
คำสั่ง systemd-วิเคราะห์ช่วยให้คุณสามารถดูข้อมูลเกี่ยวกับกระบวนการบู๊ตของคุณเช่นระยะเวลาที่ใช้และบริการใด (และกระบวนการอื่น) เพิ่มเวลาส่วนใหญ่ในกระบวนการบู๊ต.
หากต้องการดูข้อมูลเกี่ยวกับกระบวนการเริ่มต้นโดยทั่วไปให้เรียกใช้คำสั่งนี้:
systemd-วิเคราะห์
หากต้องการดูระยะเวลาที่แต่ละกระบวนการเริ่มต้นให้เรียกใช้คำสั่งนี้:
systemd- วิเคราะห์ความผิด
ดูหน่วย
Systemd ใช้“ units” ซึ่งอาจเป็นบริการ (.service) จุดเชื่อมต่อ (.mount) อุปกรณ์ (.device) หรือซ็อกเก็ต (.socket) คำสั่ง systemctl เดียวกันจัดการหน่วยประเภทเหล่านี้ทั้งหมด.
วิธีดูไฟล์หน่วยที่มีอยู่ทั้งหมดในระบบของคุณ:
systemctl list-unit-files
ในการแสดงรายการหน่วยที่กำลังทำงานทั้งหมด:
systemctl list-units
ในการแสดงรายการยูนิตที่ล้มเหลวทั้งหมด:
systemctl -failed
การจัดการบริการ
ในการดูรายการบริการที่เปิดใช้งานและปิดใช้งานคุณใช้คำสั่ง systemctl เหมือนด้านบน แต่บอกให้รายการบริการเท่านั้น:
systemctl list-unit-files -type = service
คำสั่ง systemctl อนุญาตให้คุณเริ่มหยุดหรือรีสตาร์ทเซอร์วิส นอกจากนี้คุณยังสามารถบอกบริการเพื่อ“ โหลด” การกำหนดค่า.
คำสั่งสถานะเป็นการกระทำเดียวที่นี่ที่จะพิมพ์และส่งออกไปยังสถานี คำสั่งอื่น ๆ จะมีผลเงียบ ๆ.
systemctl ชื่อเริ่มต้นบริการ
systemctl stop name.service
systemctl รีสตาร์ท name.service
systemctl reload name.service
systemctl status name.service
ใช้คำสั่ง systemctl enable เพื่อให้ systemd เริ่มบริการโดยอัตโนมัติ (หรือหน่วยประเภทอื่น ๆ ) เมื่อเริ่มต้นระบบ คำสั่ง systemctl ปิดการใช้งานปิดบริการและหยุดมันจากการเริ่มต้นโดยอัตโนมัติด้วยคอมพิวเตอร์ของคุณ.
systemctl เปิดใช้งาน name.service
systemctl ปิดการใช้งาน name.service
คุณสามารถ“ ปิดบัง” บริการหรือหน่วยอื่น ๆ เพื่อป้องกันไม่ให้เริ่มต้นเลย คุณจะต้องเปิดโปงก่อนที่มันจะเริ่มในอนาคต:
systemctl mask name.service
systemctl unmask name.service
มีมากขึ้นในการ systemd และคำสั่งต่าง ๆ กว่านี้แน่นอน Systemd เสนอคำสั่งที่หลากหลายหรือการจัดการพลังงานเพื่อปิดรีบูตไฮเบอร์เนตและควบคุมสถานะพลังงานของระบบ คุณสามารถเขียนไฟล์หน่วยของคุณเองเพื่อสร้างบริการและจุดเชื่อมต่อหรือแก้ไขไฟล์หน่วยที่มีอยู่.
Systemd ยังเสนอ "เป้าหมาย" ซึ่งคล้ายกับ runlevels แต่แตกต่างกัน แทนที่จะเป็นตัวเลขเป้าหมายมีชื่อ - เป็นไปได้ที่ systemd จะอยู่ในสถานะเป้าหมายหลายรายการพร้อมกัน Systemd ยังเสนอสมุดบันทึกระบบของตัวเองซึ่งสามารถเข้าถึงได้ด้วยคำสั่ง journalctl โดยค่าเริ่มต้นจะเก็บบันทึกระบบในรูปแบบไบนารี - แต่คุณสามารถเปลี่ยนไปใช้บันทึกรูปแบบข้อความธรรมดาได้หากต้องการ.
Arch Linux wiki มีข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับ systemd และข้อมูลส่วนใหญ่ที่ใช้กับ systemd ในการกระจาย Linux ทั้งหมด คุณควรตรวจสอบเอกสาร systemd ของการแจกจ่าย Linux ของคุณเองสำหรับข้อมูลเพิ่มเติม.
เครดิตรูปภาพ: Bert Heymans บน Flickr