systemctl: การควบคุมทั้งหมดใน Linux ใน 12 ขั้นตอน

คำสั่ง systemctl 12 ที่เป็นมาสเตอร์ Linux

systemctl: 12 คำสั่งที่เชี่ยวชาญ Linux 🚀

คำสั่ง systemctl มีคุณลักษณะหลายประการที่มักมองข้ามไป นอกจากการเริ่มและหยุดบริการใน Linux แล้ว คุณยังสามารถแสดงรายการบริการที่ติดตั้งและตรวจสอบสถานะของบริการเหล่านั้นได้อีกด้วย มารีวิวกันสักหน่อยดีกว่า!

คำสั่ง Systemctl คืออะไร?

คำสั่ง systemctl เป็นเครื่องมือการจัดการส่วนกลางสำหรับระบบ systemd init โดยส่วนใหญ่รู้จักกันในชื่อเครื่องมือที่ใช้เพื่อเริ่มและหยุดบริการ แต่ยังมีอีกมากมายดังที่พิสูจน์ได้จาก หน้าคู่มือ ซึ่งมีมากกว่า 1,600 เส้น.

เนื่องจาก systemctl เป็นเครื่องมือการจัดการ ไม่ใช่เพียงตัวเรียกใช้บริการ ดังนั้นคุณจึงสามารถใช้มันเพื่อเข้าถึงข้อมูลที่เป็นประโยชน์เกี่ยวกับระบบของคุณและบริการ systemd ได้

ระบบปฏิบัติการ Linux ส่วนใหญ่ได้นำเอา systemd มาใช้ แต่บางส่วนก็เลือกที่จะคงไว้ซึ่งระบบ SystemV init แบบดั้งเดิม หากคุณไม่แน่ใจว่าการกระจายของคุณใช้แบบใด คุณสามารถค้นหาได้ง่ายๆ เราจะใช้คำสั่ง stat เพื่อดูไฟล์ init

สถิติ /sbin/เริ่มต้น 
การใช้คำสั่ง stat เพื่อดูว่าการติดตั้ง Linux ใช้ SystemV หรือ systemd

ไฟล์ปฏิบัติการ /sbin/init เป็นกระบวนการแรกที่เปิดตัวในการแจกจ่ายที่ใช้ SystemV ในการแจกแจงที่ใช้ systemd ลิงก์สัญลักษณ์ที่มีชื่อนั้นจะชี้ไปที่ systemd

บรรทัดแรกของผลลัพธ์แสดงให้เราเห็นว่าในเครื่องทดสอบ Ubuntu นี้ /sbin/init เป็นลิงก์สัญลักษณ์ไปยังไฟล์ /lib/systemd/systemd เห็นได้ชัดว่าการติดตั้ง Linux นี้ใช้ systemd หากเป็นการแจกแจงที่ใช้ SystemV บรรทัดจะมีเพียง "File: /sbin/init" เท่านั้น

บริการการสอบถามด้วย systemctl

บริการถูกกำหนดไว้ในไฟล์หน่วย และคุณจะเห็นคำว่า unit กระจายอยู่ในตัวเลือก systemctl ตัวอย่างเช่น เราสามารถรับรายการบริการโดยใช้คำสั่ง list-units โดยใช้ตัวเลือก –type

ระบบซีทีแอล รายการ-หน่วย --ประเภท=บริการ
ผลลัพธ์ของคำสั่ง systemctl list-units แสดงบริการที่กำลังทำงานและหยุดทำงาน

ผลลัพธ์จะแสดงในโปรแกรมดูไฟล์ขนาดเล็ก ทำให้คุณสามารถนำทางและใช้ปุ่ม / เพื่อค้นหาได้

  • หน่วย: ชื่อไฟล์หน่วย
  • พก:หากไฟล์หน่วยบริการถูกอ่านเข้าไปในหน่วยความจำโดยไม่มีข้อผิดพลาดทางไวยากรณ์ คอลัมน์นี้จะมีคำว่า "โหลด" นี้ไม่ได้หมายความว่าบริการยังเปิดใช้งานอยู่
  • สินทรัพย์:ภาพรวมว่าบริการกำลังเปิดใช้งานอยู่หรือไม่ บริการที่ใช้งานอยู่อาจไม่ได้ทำงานอยู่
  • ซับมุมมองโดยละเอียดมากขึ้นว่าบริการกำลังทำงานอยู่หรือไม่ ตัวอย่างเช่น บริการที่ใช้งานอยู่อาจได้รับการกำหนดเวลาไว้ และอาจออกจากการทำงานครั้งล่าสุด
  • คำอธิบาย: บรรทัดข้อความที่ใช้เพื่อระบุหรืออธิบายบริการ

จอแสดงผลรวมเฉพาะบริการที่ใช้งานอยู่เท่านั้น เพื่อดูบริการทั้งหมด เราจำเป็นต้องใส่ตัวเลือก –all

ระบบซีทีแอล รายการ-หน่วย --ทั้งหมด --ประเภท=บริการ
ผลลัพธ์ของคำสั่ง systemctl list-units ที่แสดงบริการทั้งหมด

หากการดูทุกอย่างดูมากเกินไป เราสามารถกรองเอาต์พุตด้วยตัวเลือก –state

ระบบซีทีแอล รายการ-หน่วย --ประเภท=บริการ --สถานะ=กำลังทำงาน
ผลลัพธ์ของคำสั่ง systemctl list-units จะถูกกรองเพื่อแสดงเฉพาะบริการที่กำลังทำงานเท่านั้น

ตัวเลือกสถานะจะยอมรับการทำงาน หยุด เปิดใช้งาน ปิดใช้งาน และล้มเหลว

หากต้องการเน้นที่บริการที่ล้มเหลว ให้ใช้ตัวเลือก –failed

ระบบซีทีแอล รายการ-หน่วย--ล้มเหลว
ผลลัพธ์ของคำสั่ง systemctl list-units จะถูกกรองเพื่อแสดงเฉพาะบริการที่ล้มเหลวเท่านั้น ไม่มีบริการที่ล้มเหลว

ไม่มีไดรฟ์ที่ล้มเหลวบนคอมพิวเตอร์เครื่องนี้

หากคุณเห็นบริการใดๆ ที่ล้มเหลว ให้ใช้ตัวเลือก list-dependencies เพื่อตรวจสอบการอ้างอิงที่ไม่เป็นไปตามข้อกำหนด

ระบบซีทีแอล รายการ-การอ้างอิง sshd.service
ผลลัพธ์ของคำสั่ง systemctl list-dependencies ที่แสดงการอ้างอิงสำหรับบริการ sshd

การอ้างอิงจะมีวงกลมสีที่แสดงสถานะ อาจจะเป็น:

  • วงกลมสีขาว: ไม่ได้ใช้งานหรืออยู่ระหว่างการบำรุงรักษา
  • จุดสีเขียว: สินทรัพย์.
  • ไวท์พอยต์: การปิดใช้งาน
  • จุดสีแดง: ล้มเหลว หรือ มีข้อผิดพลาด.

ในการตรวจสอบว่ามีการเปิดใช้งานบริการเดียวหรือไม่ ให้ใช้คำสั่ง is-enabled และระบุชื่อไฟล์หน่วยของบริการ

ระบบซีทีแอล เอส-เปิดใช้งาน htg-example.service
การใช้ systemctl is-enabled เพื่อระบุว่ามีการเปิดใช้งานบริการเฉพาะหรือไม่

การควบคุมบริการด้วย systemctl

การใช้ systemctl ในการจัดการบริการเป็นเรื่องง่ายมากและเป็นไปตามรูปแบบของคำสั่งที่เราได้เห็นมาจนถึงตอนนี้ ความแตกต่างที่ใหญ่ที่สุดคือคุณจะต้องใช้ sudo เพื่อทำการเปลี่ยนแปลงสถานะบริการ เราไม่ได้ทำเช่นนั้นจนถึงตอนนี้ เพราะเราเพียงรายงานสถานะของบริการเท่านั้น

หากต้องการเริ่มบริการ ให้ใช้คำสั่งเริ่มต้นตามด้วยชื่อบริการ

เหงื่อ ระบบซีทีแอล เริ่ม ตัวอย่าง htg.บริการ
การเริ่มบริการด้วยคำสั่ง systemctl start

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

เหงื่อ ระบบซีทีแอล สถานะ ตัวอย่าง htg.บริการ
การตรวจสอบสถานะของบริการด้วยคำสั่ง systemctl status

การหยุดบริการนั้นง่ายเช่นเดียวกับการเริ่มต้นบริการ

เหงื่อ ระบบซีทีแอล หยุด ตัวอย่าง htg.บริการ
การหยุดบริการด้วยคำสั่ง systemctl stop

คุณสามารถเริ่มบริการใหม่ได้โดยไม่ต้องผ่านกระบวนการสองขั้นตอนของการหยุดแล้วเริ่มใหม่ เขา คำสั่งรีสตาร์ท ทำทุกอย่างเพื่อคุณ

เหงื่อ ระบบซีทีแอล เริ่มใหม่อีกครั้ง ตัวอย่าง htg.บริการ
การเริ่มบริการใหม่ด้วยคำสั่ง systemctl restart

หากคุณต้องการให้บริการเริ่มทำงานเมื่อบูต คุณจะต้องเปิดใช้งานเสียก่อน

เหงื่อ ระบบซีทีแอล เปิดใช้งาน ตัวอย่าง htg.บริการ
การเปิดใช้งานบริการด้วยคำสั่ง systemctl enable

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

เหงื่อ ระบบซีทีแอล เปิดใช้งาน --ตอนนี้ ตัวอย่าง htg.บริการ
การเปิดใช้งานและการเริ่มบริการในเวลาเดียวกันด้วยคำสั่ง systemctl enable --now

เมื่อคุณไม่ต้องการบริการเพื่อเริ่มต้นเมื่อบูตอีกต่อไป ให้ปิดการใช้งาน

เหงื่อ ระบบซีทีแอล ปิดการใช้งาน ตัวอย่าง htg.บริการ
การปิดใช้งานบริการด้วยคำสั่ง systemctl disabled

คุณสามารถใช้คำสั่ง journalctl ซึ่งเป็นส่วนหนึ่งของ systemd เพื่อค้นหารายการที่เกี่ยวข้องกับบริการของคุณ ตัวเลือก -u (หน่วย) ช่วยให้คุณระบุบริการที่คุณสนใจได้ ส่วนตัวเลือก -S (ตั้งแต่) ช่วยให้คุณแสดงรายการที่เกิดขึ้นตั้งแต่เวลาที่คุณระบุ

วารสารซีทีแอล -ส "08:00:00" -หรือ ตัวอย่าง htg.บริการ
การใช้คำสั่ง journalctl เพื่อแสดงรายการบันทึกระบบที่เกี่ยวข้องกับบริการเฉพาะ

เครื่องมือใดๆ ที่ช่วยคุณ รับข้อมูลเกี่ยวกับการดำเนินการ ส่วนประกอบภายในของการแจกจ่าย Linux ของคุณจะมีคุณค่าอย่างยิ่ง ทั้งในการบริหารจัดการในแต่ละวัน และในการแก้ไขปัญหาและการวินิจฉัยปัญหา คำสั่ง systemctl ไม่ใช่เครื่องมือตัวเดียว มันเหมือนกล่องเครื่องมือเฉพาะทางมากกว่า และคุ้มค่าแก่การทำความคุ้นเคย

5 2 โหวต
การจัดอันดับบทความ
สมัครสมาชิก
แจ้งให้ทราบ
แขก

0 ความคิดเห็น
เก่าแก่ที่สุด
ใหม่ล่าสุด โหวตมากที่สุด
ความคิดเห็นออนไลน์
ดูความคิดเห็นทั้งหมด