ติดตั้ง 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
แล้วเพิ่ม 2 บรรทัดเข้าไป
[boot]
systemd=true
แล้ว save & exit ( Ctrl+X แล้วกดปุ่ม Y )
3. ต้องรีสตาร์ท WSL ใหม่เพื่อให้ systemd เริ่มทำงาน
ในหน้าต่าง Windows Terminal ( หรือ Powershell ก็ได้ ) ให้พิมพ์คำสั่งนี้เพื่อหยุดการทำงาน WSL
wsl --shutdown
จะพบว่า Linux ทุกตัวหยุดทำงานแล้ว
หลังจากนั้นให้ลูกค้าเปิด Linux ขึ้นมาใหม่ ก็จะพบว่า systemd เริ่มทำงาน Auto เองแล้ว ( ดังภาพ )
sudo systemctl list-units --type=service --state=running
ลูกค้าสามารถรัน application ที่เป็น system daemon อย่างเช่น web server , file server , database server , อื่นๆ ใน WSL ได้เลย
ฝากสนับสนุนบริการ www.Limitrack.com เพื่อให้พวกเราได้นำสิ่งดีๆมามอบให้ลูกค้าครับ