บริการเทียบกับ Systemctl

Brikar Theiyb Kab Systemctl



บริการและ systemctl เป็นยูทิลิตี้บรรทัดคำสั่งสองตัวที่ใช้เพื่อจัดการบริการของระบบ ยูทิลิตี้ทั้งสองอยู่ในระบบ init สองระบบที่แตกต่างกัน SysV และ systemd ตามลำดับ

ในคู่มือนี้ ผมจะพูดถึงบริการและคำสั่ง systemctl และความแตกต่างในด้านการจัดการบริการ

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







System V กับ Systemd

ระบบเริ่มต้นบน Linux เป็นส่วนสำคัญของกระบวนการบูต เป็นกระบวนการแรกที่มี PID 1 ที่เริ่มต้นเมื่อระบบเริ่มทำงาน จากนั้นจะเริ่มกระบวนการที่มีอยู่ในไฟล์ inittab System V ยังรู้ว่า SysV และ systemd เป็นระบบเริ่มต้น Linux ที่ได้รับความนิยม



ที่ ระบบซิสวี เป็นระบบ init รุ่นเก่าและเป็นส่วนหนึ่งของการกระจาย Unix และ Linux รุ่นเก่า จัดการบริการของระบบโดยใช้สคริปต์ที่อยู่ใน /etc/init.d Linux บางตัวที่ยังคงใช้ SysV คือ Slackware, Gentoo และ antiX Linux



ในทางกลับกัน, ระบบ เปิดตัวในปี 2010 และได้รับการยอมรับอย่างรวดเร็วจากลีนุกซ์รุ่นต่างๆ ระบบ systemd init จัดการบริการผ่านไฟล์ .service ตอนนี้เป็นส่วนหนึ่งของการแจกแจง Linux สมัยใหม่ทั้งหมด รวมถึง Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu และการแจกแจงที่ใช้ระบบปฏิบัติการเหล่านี้





systemd มีประสิทธิภาพมากกว่ามากเมื่อเทียบกับ SysV ช่วยให้บูตเครื่องได้เร็วขึ้น การจัดการบริการที่มีประสิทธิภาพ และการจัดการการพึ่งพา

ระบบ init ทั้งสองมียูทิลิตีบรรทัดคำสั่งสองรายการสำหรับการจัดการบริการ



ในส่วนต่อไปนี้ของคำแนะนำ ฉันจะพูดถึงยูทิลิตี้ทั้งสองนี้

คำสั่งบริการ

ที่ บริการ command เป็น wrapper สคริปต์ที่รันสคริปต์ที่อยู่ใน /etc/init.d ไดเรกทอรี ได้รับการพัฒนาเพื่อบริหารจัดการการบริการของ ระบบซิสวี หรือ ระบบ V ระบบเริ่มต้น ลีนุกซ์รุ่นที่ใช้ SysV เป็นระบบเริ่มต้นใช้ บริการ คำสั่งการจัดการการบริการ

ไวยากรณ์ทั่วไปในการใช้คำสั่งบริการได้รับด้านล่าง

บริการ [ บริการ_ชื่อ ] [ การกระทำ ]

หากต้องการรับสถานะของบริการที่ควบคุมโดย System V ให้ใช้คำสั่งบริการพร้อมกับ –สถานะทั้งหมด ตัวเลือก.

บริการ --สถานะทั้งหมด

ที่ + แสดงว่าบริการกำลังทำงานอยู่ และ แสดงว่าบริการไม่ได้ใช้งาน

สามารถตรวจสอบสถานะปัจจุบันของบริการเฉพาะใด ๆ ได้โดยระบุชื่อบริการ

บริการ [ บริการ_ชื่อ ] สถานะ

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

บริการ [ บริการ_ชื่อ ] เริ่ม

บริการ [ บริการ_ชื่อ ] หยุด

บริการ [ บริการ_ชื่อ ] เริ่มต้นใหม่

คำสั่งบริการนี้ให้การควบคุมพื้นฐานในการจัดการบริการ ลีนุกซ์รุ่นส่วนใหญ่ได้แทนที่ SysV เป็นระบบเริ่มต้น แต่เนื่องจากความเข้ากันได้แบบเดิม คำสั่งนี้จึงยังคงมาในรุ่นลินุกซ์รุ่นล่าสุดหลายรุ่นแบบแกะกล่อง

คำสั่ง systemctl

การใช้คำสั่ง systemctl คุณสามารถควบคุมบริการต่างๆ ในไฟล์ /lib/systemd/system และ /etc/systemd/system ไดเรกทอรี มันเป็นองค์ประกอบของ systemd; ระบบเริ่มต้นที่พบในลีนุกซ์รุ่นปัจจุบันส่วนใหญ่

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

ระบบ [ ตัวเลือก ] [ บริการ_ชื่อ ]

หากต้องการตรวจสอบสถานะของบริการทั้งหมด ให้ใช้คำสั่งต่อไปนี้

หน่วยรายการ systemctl --พิมพ์ =บริการ --ทั้งหมด

สำหรับการใช้บริการเฉพาะ:

สถานะ systemctl [ บริการ_ชื่อ ]

คำสั่งสำหรับการจัดการพื้นฐานของบริการโดยใช้ systemctl มีดังต่อไปนี้:

ระบบ เปิดใช้งาน [ บริการ_ชื่อ ]

systemctl เริ่มต้น [ บริการ_ชื่อ ]

systemctl หยุด [ บริการ_ชื่อ ]

ปิดการใช้งาน systemctl [ บริการ_ชื่อ ]

systemctl รีสตาร์ท [ บริการ_ชื่อ ]

คำสั่ง systemctl เป็นมากกว่าคำสั่งในการควบคุมบริการ ตารางด้านล่างประกอบด้วยคำสั่ง systemctl ขั้นสูงบางคำสั่ง

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

เหตุใดจึงยังมีคำสั่งบริการใน Linux Distributions พร้อม systemd init System

คำสั่งบริการยังคงเป็นส่วนหนึ่งของลีนุกซ์รุ่นต่างๆ เนื่องจากเป็นสคริปต์ตัวตัดคำและสรุประบบเริ่มต้นที่สำคัญ ไม่ว่าจะเป็น SysV หรือ systemctl ตัวอย่างเช่น บน Ubuntu คำสั่งบริการจะเปลี่ยนเส้นทางไปยัง systemctl

บทสรุป

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