วิธีเปลี่ยน Runlevels (เป้าหมาย) ใน SystemD
Systemd เป็นระบบ init สมัยใหม่สำหรับ Linux: ระบบและบริการจัดการที่เข้ากันได้กับระบบ init SysV ยอดนิยมและสคริปต์ init LSB มีวัตถุประสงค์เพื่อเอาชนะข้อบกพร่องของ SysV init ตามที่อธิบายไว้ในบทความต่อไปนี้
- เรื่องราวเบื้องหลัง 'init' และ 'systemd': เหตุใด 'init' จึงจำเป็นต้องแทนที่ด้วย 'systemd' ใน Linux
บนระบบที่คล้ายยูนิกซ์ เช่น Linux สถานะการทำงานปัจจุบันของระบบปฏิบัติการเรียกว่า runlevel; มันกำหนดบริการระบบที่กำลังทำงานอยู่ ภายใต้ระบบ init ที่ได้รับความนิยม เช่น SysV init ระดับการรันจะถูกระบุด้วยตัวเลข อย่างไรก็ตาม ใน systemd runlevel จะเรียกว่า เป้าหมาย
การอ่านที่แนะนำ: การจัดการกระบวนการและบริการการเริ่มต้นระบบ (SysVinit, Systemd และ Upstart)
ในบทความนี้ เราจะอธิบายวิธีเปลี่ยน runlevels (เป้าหมาย) ด้วย systemd ก่อนที่เราจะไปไกลกว่านี้ เรามาดูรายละเอียดความสัมพันธ์ระหว่างตัวเลข ระดับการวิ่ง กับ เป้าหมาย กันก่อน
- การรันระดับ 0 ถูกจับคู่โดย poweroff.target (และ runlevel0.target เป็นลิงก์สัญลักษณ์ไปยัง poweroff.target ).
- การวิ่งระดับ 1 จับคู่โดย rescue.target (และ runlevel1.target เป็นลิงก์สัญลักษณ์ไปยัง rescue.target ).
- ระดับการวิ่ง 3 ถูกจำลองโดย multi-user.target (และ runlevel3.target เป็นลิงก์สัญลักษณ์ไปยัง multi-user.target )
- การวิ่งระดับ 5 ถูกจำลองโดย graphical.target (และ runlevel5.target เป็นลิงก์สัญลักษณ์ไปยัง graphical.target ).
- การรันระดับ 6 ถูกจำลองโดย reboot.target (และ runlevel6.target เป็นลิงก์สัญลักษณ์ไปยัง reboot.target ).
- เหตุฉุกเฉิน จับคู่กับ emergency.target
วิธีดูเป้าหมายปัจจุบัน (ระดับการรัน) ใน Systemd
เมื่อระบบบู๊ต ตามค่าเริ่มต้น systemd จะเปิดใช้งานหน่วย default.target งานหลักคือการเปิดใช้งานบริการและหน่วยอื่นๆ โดยการดึงเข้ามาผ่านการพึ่งพา
หากต้องการดูเป้าหมายเริ่มต้น ให้พิมพ์คำสั่งด้านล่าง
#systemctl get-default
graphical.target
หากต้องการกำหนดเป้าหมายเริ่มต้น ให้รันคำสั่งด้านล่าง
systemctl set-default multi-user.target
วิธีเปลี่ยนเป้าหมาย (ระดับรัน) ใน Systemd
ในขณะที่ระบบกำลังทำงาน คุณสามารถเปลี่ยนเป้าหมายได้ (ระดับการทำงาน) ซึ่งหมายความว่าเฉพาะบริการและหน่วยที่กำหนดไว้ภายใต้เป้าหมายนั้นเท่านั้นที่จะทำงานบนระบบ
หากต้องการเปลี่ยนเป็น runlevel 3 ให้รันคำสั่งต่อไปนี้
systemctl isolate multi-user.target
หากต้องการเปลี่ยนระบบเป็น runlevel 5 ให้พิมพ์คำสั่งด้านล่าง
systemctl isolate graphical.target
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ systemd โปรดอ่านบทความที่เป็นประโยชน์เหล่านี้:
- วิธีจัดการบริการและหน่วย 'Systemd' โดยใช้ 'Systemctl' ใน Linux
- วิธีสร้างและเรียกใช้หน่วยบริการใหม่ใน Systemd โดยใช้เชลล์สคริปต์
- การจัดการกระบวนการและบริการการเริ่มต้นระบบ (SysViit, Systemd และ Upstart)
- จัดการข้อความบันทึกภายใต้ Systemd โดยใช้ Journalctl [คู่มือที่ครอบคลุม]
ในคู่มือนี้ เราได้แสดงวิธีเปลี่ยนระดับการทำงาน (เป้าหมาย) ด้วย systemd ใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อส่งคำถามหรือความคิดเกี่ยวกับบทความนี้ถึงเรา