วิธีเปิดใช้งาน Systemd บนระบบย่อย Windows สำหรับ Linux (WSL)

Kak Vklucit Systemd V Podsisteme Windows Dla Linux Wsl



ในฐานะผู้เชี่ยวชาญด้านไอที ฉันมักจะมองหาวิธีใหม่ๆ เพื่อเพิ่มประสิทธิภาพเวิร์กโฟลว์ของฉัน วิธีหนึ่งที่ฉันทำได้เมื่อเร็วๆ นี้คือการเปิดใช้งาน Systemd บน Windows Subsystem for Linux (WSL) Systemd เป็นตัวจัดการกระบวนการของ Linux ที่สามารถปรับปรุงประสิทธิภาพของระบบ Linux ของคุณได้อย่างมาก เมื่อเปิดใช้งานบน WSL คุณจะได้รับประโยชน์จาก systemd โดยไม่ต้องบูตระบบของคุณสองเครื่อง ต่อไปนี้คือวิธีเปิดใช้งาน Systemd บน WSL: 1. เปิดแผงควบคุม Windows Subsystem for Linux (WSL) 2. ไปที่แท็บ 'ทั่วไป' 3. ทำเครื่องหมายที่ตัวเลือก 'เปิดใช้งานการรวม Systemd' 4. คลิก 'ตกลง' เพื่อบันทึกการเปลี่ยนแปลงของคุณ หลังจากทำตามขั้นตอนเหล่านี้ คุณจะสามารถใช้ systemd ในการติดตั้ง WSL ของคุณได้ ลองดูและดูว่าจะช่วยปรับปรุงเวิร์กโฟลว์ของคุณได้อย่างไร!



แท่งคำนวณคืออะไร

ระบบย่อย Windows สำหรับ Linux (WSL) เป็นเลเยอร์ความเข้ากันได้สำหรับการเรียกใช้โปรแกรมปฏิบัติการไบนารีของ Linux โดยกำเนิดบนคอมพิวเตอร์ไคลเอนต์ Windows 11/10 รวมถึง Windows Server 2019 และคอมพิวเตอร์รุ่นใหม่กว่า ด้วยการเปิดตัว VSL 2 การเปลี่ยนแปลงที่สำคัญได้เกิดขึ้น เช่น เคอร์เนล Linux จริง ผ่านคุณสมบัติย่อยของ Hyper-V ในโพสต์นี้ เราจะแนะนำคุณเกี่ยวกับขั้นตอนในการ วิธีเปิดใช้งาน systemd ใน WSL .





วิธีเปิดใช้งาน Systemd บนระบบย่อย Windows สำหรับ Linux (WSL)





systemd คืออะไร?

Systemd คือชุดของบล็อกการสร้างพื้นฐานสำหรับระบบลีนุกซ์ มีตัวจัดการระบบและบริการที่รันเป็น PID 1 และเริ่มต้นส่วนที่เหลือของระบบ Systemd ได้รับการติดตั้งโดยค่าเริ่มต้นในการกระจายที่รู้จักกันดีหลายตัว รวมถึง Ubuntu, Debian และอื่น ๆ ด้วยการเปลี่ยนแปลงนี้ WSL จะเปรียบได้กับการรันลีนุกซ์รุ่นที่คุณต้องการบนเครื่องเปล่าและจะอนุญาตให้คุณใช้แอพพลิเคชั่นที่ต้องการการสนับสนุน systemd ต่อไปนี้คือตัวอย่างบางส่วนของแอปพลิเคชัน Linux ที่ขึ้นอยู่กับ systemd: คลิก , microk8s , และ systemctl .



ตามที่ Microsoft:

การสนับสนุน Systemd ต้องการการเปลี่ยนแปลงสถาปัตยกรรม WSL เนื่องจาก systemd ต้องการ PID 1 กระบวนการ WSL init ที่รันบนการแจกจ่าย Linux จึงกลายเป็นกระบวนการลูกของ systemd เนื่องจากกระบวนการจัดเตรียม WSL มีหน้าที่รับผิดชอบในการจัดหาโครงสร้างพื้นฐานสำหรับการสื่อสารระหว่างคอมโพเนนต์ของ Linux และ Windows การเปลี่ยนลำดับชั้นนี้จำเป็นต้องทบทวนสมมติฐานบางอย่างที่เกิดขึ้นระหว่างกระบวนการจัดเตรียม WSL ใหม่ จำเป็นต้องมีการเปลี่ยนแปลงเพิ่มเติมเพื่อให้แน่ใจว่าการปิดระบบทั้งหมด (เนื่องจากการปิดระบบนั้นถูกควบคุมโดย systemd) และเพื่อให้แน่ใจว่าเข้ากันได้กับ WSLg สิ่งสำคัญคือต้องทราบว่าด้วยการเปลี่ยนแปลงเหล่านี้ บริการ systemd จะไม่ทำให้อินสแตนซ์ WSL ของคุณทำงาน

เนื่องจากสิ่งนี้เปลี่ยนพฤติกรรมการบู๊ตของ WSL เราจึงต้องระมัดระวังเมื่อนำไปใช้กับการกระจาย WSL ที่มีอยู่แล้วของผู้ใช้ ดังนั้น ในขณะนี้ คุณต้องลงทะเบียนเพื่อเปิดใช้งาน systemd สำหรับการแจกจ่าย WSL เฉพาะ และเราจะตรวจสอบข้อเสนอแนะและตรวจสอบวิธีทำให้พฤติกรรมนี้เป็นค่าเริ่มต้นในอนาคต



ตัวตรวจสอบคีย์ของ windows

อ่าน : วิธีเข้าถึงระบบย่อย Windows สำหรับไฟล์ Linux ใน Windows

วิธีเปิดใช้งาน Systemd บนระบบย่อย Windows สำหรับ Linux (WSL)

ณ เวลาที่เขียนบทความนี้ ชุมชน Windows Subsystem for Linux (WSL) กำลังมองหาวิธีการนำ systemd ไปใช้ แต่หลังจากความร่วมมือกับ Canonical Microsoft ได้นำ systemd มาใช้อย่างเป็นทางการใน WSL ด้วยการสนับสนุน systemd ที่มีอยู่ใน WSL ตอนนี้คุณสามารถเรียกใช้ systemd ภายในการกระจาย WSL ของคุณ ช่วยให้คุณทำอะไรได้มากขึ้นกับเวิร์กโฟลว์ Linux บนเครื่อง Windows ของคุณ

ในการติดตั้ง systemd บนเครื่องของคุณ คุณจะต้องทำสิ่งต่อไปนี้:

ตรวจสอบให้แน่ใจว่าคุณใช้ WSL เวอร์ชัน 0.67.6 หรือใหม่กว่า

หากคุณเปิดใช้งาน WSL ผ่าน PowerShell และไม่ได้ดาวน์โหลดจาก Microsoft Store บนอุปกรณ์ของคุณ คุณจะไม่มี systemd ในตอนแรก จะมีให้สำหรับผู้ใช้ที่ใช้ Windows 11 Insider Build หรือใช้ WSL ที่ดาวน์โหลดจาก Microsoft Store เท่านั้น หากคุณใช้งาน Ubuntu Preview บน WSL ระบบจะเพิ่ม systemd โดยอัตโนมัติ ดังนั้น หากต้องการตรวจสอบว่าคุณมี WSL รุ่นที่รองรับหรือไม่ เพียงเปิด Windows Terminal แล้วรันคำสั่งต่อไปนี้ในคอนโซล PowerShell:

|_+_|

จากเอาต์พุต หากเวอร์ชัน WSL เป็น 0.67.6 หรือก่อนหน้า คุณสามารถไปที่ Microsoft Store และ ดาวน์โหลด WSL. นอกจากนี้ ผู้ใช้พีซี โดยเฉพาะอย่างยิ่งหากคุณไม่ใช่ Windows Insider อาจ ดาวน์โหลด รีลีสล่าสุดจากที่เก็บ WSL GitHub การสนับสนุน Systemd จะถูกเพิ่มให้กับผู้ใช้ทุกคนในอนาคต ในการตรวจสอบการอัปเดตสำหรับ WSL ให้เรียกใช้คำสั่งต่อไปนี้ใน PowerShell:

|_+_|

อ่าน : แก้ไข Windows Subsystem สำหรับ Linux Errors, Issues and Issues

ตั้งค่าสถานะ systemd ในการตั้งค่าการกระจาย WSL

แสดงสถานะของบริการ systemd

เมื่อคุณแน่ใจแล้วว่าคุณกำลังใช้งาน WSL เวอร์ชันที่รองรับซึ่ง systemd ต้องการ คุณจะต้องแก้ไข wsl.conf ไฟล์ (ไฟล์การกำหนดค่าที่สามารถพบได้ในการแจกจ่าย WSL Linux ใด ๆ และอนุญาตให้ปรับแต่งต่อ distro แทนที่จะเปลี่ยนตัวเลือก WSL ทั่วไป) เพื่อให้แน่ใจว่า systemd เริ่มทำงานเมื่อบูต เมื่อต้องการทำงานนี้ ให้ทำตามขั้นตอนเหล่านี้:

  • เรียกใช้ตัวแก้ไขด้วยสิทธิ์ sudo และเพิ่มบรรทัดต่อไปนี้:
|_+_|
  • หลังจากนั้นให้บันทึกไฟล์และออก
  • ตอนนี้คุณสามารถปิดการกระจาย WSL Windows ของคุณและเรียกใช้คำสั่งต่อไปนี้ใน PowerShell เพื่อรีสตาร์ทอินสแตนซ์ WSL ของคุณ
|_+_|
  • เมื่อเริ่มต้นแล้ว คุณควรมี systemd ทำงาน หากต้องการตรวจสอบและแสดงสถานะของบริการ ให้เรียกใช้คำสั่งด้านล่าง:
|_+_|

อ่าน : วิธีติดตั้ง Linux รุ่นแจกจ่ายเป็น WSL1 หรือ WSL2 บน Windows

จะทราบได้อย่างไรว่าโปรแกรมเป็น 64 บิต

นี่คือวิธีที่คุณสามารถเปิดใช้งาน Systemd บนระบบย่อย Windows สำหรับ Linux (WSL)!

ฉันจะบูตเป็น systemd เป็น init ได้อย่างไร

หากต้องการบู๊ตภายใต้ systemd ให้เลือกรายการเมนูบู๊ตที่คุณสร้างขึ้นเพื่อจุดประสงค์นั้น หากคุณยังไม่ได้สร้างรายการเมนูบู๊ต เพียงแค่เลือกรายการสำหรับเคอร์เนลที่แพตช์แล้ว แก้ไขบรรทัดคำสั่งเคอร์เนลโดยตรงใน grub และเพิ่มบรรทัดต่อไปนี้: init=/lib/systemd/systemd .

โพสต์ยอดนิยม