โดย
- ไบรอัน โพซีย์
เผยแพร่:16 พ.ย. 2020
Microsoft Windows Subsystem for Linux (WSL) คือชุดส่วนประกอบของ Microsoft ที่อนุญาตให้ไบนารี Linux 64-bit Executable and Linkable Format (ELF64) ดั้งเดิมทำงานบนเคอร์เนล Windows ในระบบปฏิบัติการ (OS) Windows 10
หลังจากเปิดใช้งานคุณสมบัติระบบย่อย Windows สำหรับ Linux ใน Windows 10 แล้ว คุณสามารถเรียกใช้เชลล์ทุบตี Linux เพื่อติดตั้งอิมเมจโหมดผู้ใช้ Ubuntu ที่ทำงานบนเลเยอร์เคอร์เนลของ Windows ที่อนุญาตให้ไบนารี ELF64 ทำงานใน Windows หลังการติดตั้ง ผู้ใช้สามารถเรียกใช้ไฟล์อื่น ๆ จากที่เก็บแพ็คเกจ Ubuntu ได้ ยูทิลิตี้บรรทัดคำสั่ง Linux เช่น grep, sed และ awk นำทางระบบไฟล์ Linux และรันสคริปต์โดยใช้ยูทิลิตีอินเทอร์เฟซบรรทัดคำสั่ง (CLI)
WSL มีบริการตัวจัดการเซสชันโหมดผู้ใช้เพื่อจัดการอินสแตนซ์ Linux, ลดขนาดกระบวนการ Pico เพื่อจัดการการเรียกของระบบ Linux และไดรเวอร์ Pico เพื่อจำลองเคอร์เนล Linux โดยรวมแล้ว สถาปัตยกรรมนี้ช่วยให้การเรียกระบบ Linux สามารถส่งผ่านและจัดการโดยเคอร์เนล Windows ได้
ใครควรใช้ WSL?
Windows Subsystem for Linux มีไว้สำหรับนักพัฒนา Linux ที่ทำงานในสภาพแวดล้อม Windows เป็นหลัก ตัวอย่างเช่น นักพัฒนาเว็บที่มักใช้ Linux และเครื่องมือโอเพ่นซอร์สอื่นๆ จากแหล่งที่มาเช่น GitHub แต่มีสิทธิ์เข้าถึงระบบ Linux เต็มรูปแบบเพื่อการพัฒนาและการทดลองอย่างจำกัด ระบบย่อย Windows สำหรับ Linux ช่วยให้นักพัฒนาใช้เครื่องมือ Linux ทั่วไปและภาษาการพัฒนาขั้นสูง เช่น Ruby และ Python เพื่อทำงานผ่าน Windows
WSL 1 กับ WSL 2
Microsoft เสนอระบบย่อย Windows สำหรับ Linux สองเวอร์ชันที่แตกต่างกัน:WSL 1 และ WSL 2 ที่ใหม่กว่า ทั้งสองเสนอการบูรณาการระหว่าง Windows และ Linux ทั้งสองยังมีน้ำหนักเบาและให้เวลาบูตที่รวดเร็ว WSL 1 และ WSL 2 ยังทำงานร่วมกับไฮเปอร์ไวเซอร์ที่ไม่ใช่ของ Microsoft เช่น VMware และ Oracle VM VirtualBox
ข้อแตกต่างที่สำคัญอย่างหนึ่งระหว่าง WSL 1 และ WSL 2 คือ WSL 2 ทำงานภายในเครื่องเสมือนที่ได้รับการจัดการ (VM) เนื่องจาก VM ได้รับการจัดการ ผู้เชี่ยวชาญด้านไอทีจึงไม่ต้องกังวลกับการกำหนดค่าหรืองานการจัดการที่มักเกี่ยวข้องกับเครื่องเสมือน
ข้อแตกต่างที่สำคัญอีกประการหนึ่งคือ WSL 2 รันเคอร์เนล Linux เต็มรูปแบบ เนื่องจากเคอร์เนลนี้สร้างโดย Microsoft Windows Update จึงมีการปรับปรุงอยู่เสมอ
โดยทั่วไป Microsoft แนะนำให้ใช้ WSL 2 เนื่องจากให้ประสิทธิภาพที่ดีกว่า WSL 1 และมีความเข้ากันได้ของการโทรของระบบ 100% ซึ่งหมายความว่าคุณสามารถเรียกใช้แอปต่างๆ เช่น Docker ได้ อย่างไรก็ตาม คุณจะต้องใช้ WSL 1 ต่อไป หากโปรเจ็กต์ของคุณจะต้องจัดเก็บไว้ในระบบไฟล์ Windows หรือหากโปรเจ็กต์ต้องการการคอมไพล์ข้ามโดยใช้เครื่องมือทั้ง Windows และ Linux
คำถามที่พบบ่อยสำหรับ WSL
คำถามทั่วไปบางประการเกี่ยวกับ WSL มีดังต่อไปนี้
เหตุใดจึงควรเรียกใช้ Windows Subsystem สำหรับ Linux แทน Linux ใน VM ป>
แม้ว่าอินสแตนซ์ Linux สามารถทำงานใน Windows ภายใน VM ได้ แต่ระบบย่อย Windows สำหรับ Linux มีข้อดีสองประการ ประการแรก ต้องการทรัพยากรการประมวลผล หน่วยความจำ และพื้นที่เก็บข้อมูลน้อยกว่า VM เต็มรูปแบบ ประการที่สอง WSL อนุญาตให้ทั้งสภาพแวดล้อม Windows และ Linux ทำงานพร้อมกัน ดังนั้นนักพัฒนาจึงสามารถใช้แอปพลิเคชัน Windows และยูทิลิตี้ Linux บนไฟล์เดียวกันได้หากจำเป็น
ระบบย่อย Windows สำหรับ Linux มีข้อจำกัดใดๆ หรือไม่ ป>
ปัจจุบันระบบย่อย Windows สำหรับ Linux มีข้อจำกัดหลายประการ ประการแรก มันไม่รองรับแอพพลิเคชั่น Linux ทั้งหมด; มีวัตถุประสงค์เพื่อให้เครื่องมือในการจัดการ bash และยูทิลิตี้บรรทัดคำสั่ง Linux ที่สำคัญ WSL ไม่รองรับสภาพแวดล้อมอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) ของ Linux เช่น Gnome หรือ K Desktop Environment ระบบย่อย Windows สำหรับ Linux รองรับเฉพาะการแจกจ่าย Ubuntu Linux ในขณะนี้
นอกจากนี้ Windows Subsystem for Linux ใช้งานได้กับ Windows 10 เท่านั้น และจะไม่สามารถใช้งานได้ในเวอร์ชัน Windows Server แม้ว่า WSL สามารถรันแอปพลิเคชันเซิร์ฟเวอร์ Linux บางตัวได้ เช่น Redis เป็นฐานข้อมูล แต่ก็ไม่ได้มีวัตถุประสงค์เพื่อโฮสต์แอปพลิเคชันเซิร์ฟเวอร์ Linux
Windows File System สำหรับ Linux รองรับระบบไฟล์ใดบ้าง ป>
ระบบย่อย Windows สำหรับ Linux ใช้ระบบไฟล์สองระบบเพื่อรองรับรูปแบบไฟล์ Linux ในขณะที่ให้การทำงานร่วมกันกับไฟล์ Windows ระบบไฟล์ที่เรียกว่า VolFs รองรับรูปแบบไฟล์ของ Linux รวมถึงการอนุญาตของ Linux, ลิงก์ไปยังไฟล์อื่น, ชื่อที่มีอักขระที่ปกติไม่ได้รับการยอมรับภายใต้ Windows และโครงสร้างไดเร็กทอรีของ Linux อย่างไรก็ตาม VolFs ไม่รองรับการทำงานร่วมกันระหว่างไฟล์กับแอพพลิเคชั่น Windows แต่ระบบไฟล์อื่นที่เรียกว่า DriveFs มอบความสามารถในการทำงานร่วมกันดังกล่าว ทำให้มั่นใจในชื่อไฟล์ Windows ที่ถูกกฎหมาย บังคับใช้ความปลอดภัยของ Windows และรองรับชื่อไฟล์ที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ โครงสร้างไดเร็กทอรีของ DriveF ช่วยให้ผู้ใช้สามารถใช้เครื่องมือ Windows หรือ Linux กับไฟล์ได้ในเวลาเดียวกัน
อ่านต่อเกี่ยวกับระบบย่อย Microsoft Windows สำหรับ Linux (WSL)
- บน Windows การเปรียบเทียบ PowerShell กับ Bash มีความน่าสนใจ
- เหตุใด Microsoft จึงทลายกำแพงระหว่าง Linux และ Windows
- ภาพรวมระบบย่อย Windows สำหรับ Linux
- วิธีการติดตั้งระบบย่อย Windows สำหรับ Linux
- Windows Bash สามารถเปิดประตูสู่การโจมตีบน Linux ได้มากขึ้น
เจาะลึกการดำเนินงานด้านไอทีและการจัดการโครงสร้างพื้นฐาน
-
วิธีใช้เซสชัน tmux เพื่อจัดการการเชื่อมต่อระยะไกล
โดย:เดมอน การ์น
-
Microsoft Windows 10 คืออะไร
โดย:ราหุล อวาติ
-
คำแนะนำเกี่ยวกับข้อดีของการใช้แอป Windows Terminal
โดย:แอนโทนี่ ฮาวเวลล์
-
PowerShell กับ Bash:อธิบายความแตกต่างที่สำคัญ
โดย:ไบรอัน โพซีย์