Skip to main content

ติดตั้ง systemd บน Linux (WSL)

systemd คืออะไร แล้วสำคัญอย่างไร ?

- systemd คือ daemon ของ Linux ที่ทำงาน background หรือเปรียบเสมือนระบบ Services ของ Windows

- application ยอดนิยมที่รันบน Linux เช่น Apache , Nginx , MySQL , PostgreSQL , อื่นๆอีกมากมาย  ต้องทำงานบนผ่าน systemd

- ปกติ WSL จะไม่รองรับ systemd จนกระทั่ง Microsoft ประกาศว่า WSL ได้รองรับ systemd ตั้งแต่ version 2 เป็นต้นไป


3 ขั้นตอนการติดตั้ง systemd บน WSL  ดังนี้

1. systemd จะรันได้ WSL จะต้องเป็น version 2 ( Windows 22H2 ) เป็นต้นไป

2. ต้องตั้งค่าให้ systemd ทำงานเอง Auto ใน /etc/wsl.conf ( ทำครั้งเดียว )

3. ต้องรีสตาร์ท WSL ใหม่เพื่อให้ systemd เริ่มทำงาน ( systemd จะไม่รัน Auto ถ้า Windows restart , แต่ systemd จะรัน Auto ถ้า Linux เริ่มทำงาน )


1. วิธีอัพเดท WSL 2

ดูได้ที่ http://docs.limitrack.com/books/wsl-windows-subsystem-for-linux/page/wsl-IxF


2. ตั้งค่าให้ systemd ทำงานเอง Auto

สมมติลูกค้าต้องการให้ Ubuntu 22.04 รัน systemd เอง Auto

วิธีคือ เปิดโปรแกรม Windows Terminal แล้วเลือก Ubuntu 22.04

ใน bash shell ของ Ubuntu 22.04 ให้ลูกค้าพิมพ์คำสั่งดังนี้

sudo nano /etc/wsl.conf

2024-04-02_16-50-09.jpg

แล้วเพิ่ม 2 บรรทัดเข้าไป

[boot]
systemd=true

2024-04-02_16-51-22.jpg

แล้ว save & exit ( Ctrl+X แล้วกดปุ่ม Y )


3. ต้องรีสตาร์ท WSL ใหม่เพื่อให้ systemd เริ่มทำงาน

ในหน้าต่าง Windows Terminal ( หรือ Powershell ก็ได้ ) ให้พิมพ์คำสั่งนี้เพื่อหยุดการทำงาน WSL

wsl --shutdown

2024-04-02_16-56-11.jpg

จะพบว่า Linux ทุกตัวหยุดทำงานแล้ว

หลังจากนั้นให้ลูกค้าเปิด Linux ขึ้นมาใหม่   ก็จะพบว่า systemd เริ่มทำงาน Auto เองแล้ว ( ดังภาพ )

sudo systemctl list-units --type=service --state=running

2024-04-02_16-59-32.jpg

ลูกค้าสามารถรัน application ที่เป็น system daemon อย่างเช่น web server , file server , database server , อื่นๆ  ใน WSL ได้เลย

 

 

 

ฝากสนับสนุนบริการ www.Limitrack.com เพื่อให้พวกเราได้นำสิ่งดีๆมามอบให้ลูกค้าครับ