Microsoft Windows Subsystem for Linux (WSL) là một loạt thành phần Microsoft cho phép các nhị phân 64-bit Executable and Linkable Format (ELF64) Linux gốc chạy trên kernel Windows trong hệ điều hành Windows 10.
Ai nên sử dụng WSL?
Windows Subsystem for Linux chủ yếu dành cho các nhà phát triển Linux làm việc trong môi trường Windows. Ví dụ: nhà phát triển web thường dùng Linux và các công cụ mã nguồn mở từ các nguồn như GitHub nhưng có quyền truy cập hạn chế vào hệ thống Linux đầy đủ để phát triển và thử nghiệm. Windows Subsystem for Linux cho phép nhà phát triển dùng các công cụ Linux phổ biến và ngôn ngữ phát triển nâng cao, như Ruby và Python, để vận hành qua Windows.
WSL 1 so với WSL 2
Microsoft cung cấp hai phiên bản khác nhau của Windows Subsystem for Linux: WSL 1 và WSL 2 mới hơn. Cả hai đều cung cấp tích hợp giữa Windows và Linux. Cả hai cũng nhẹ và cung cấp thời gian khởi động nhanh. WSL 1 và WSL 2 đều hoạt động với hypervisor non-Microsoft như VMware và Oracle VM VirtualBox.
Khác biệt chính
- WSL 2 chạy bên trong máy ảo (VM) được quản lý. Vì VM được quản lý, chuyên gia IT không phải lo lắng về các tác vụ cấu hình hoặc quản lý thường gắn liền với máy ảo.
- WSL 2 chạy một kernel Linux đầy đủ. Vì kernel này được Microsoft xây dựng, nó được cập nhật qua Windows Update.
Microsoft thường khuyến khích dùng WSL 2 vì nó cung cấp hiệu suất tốt hơn WSL 1 và có 100% tương thích system call, nghĩa là bạn có thể chạy các ứng dụng như Docker. Tuy nhiên, bạn cần tiếp tục dùng WSL 1 nếu dự án của bạn phải lưu trữ trên Windows File System hoặc nếu dự án yêu cầu cross-compilation dùng cả công cụ Windows và Linux.
Các câu hỏi thường gặp về WSL
Tại sao nên chạy WSL thay vì Linux trong VM?
Mặc dù instance Linux có thể chạy trong Windows bên trong VM, Windows Subsystem for Linux cung cấp hai lợi thế. Thứ nhất, nó đòi hỏi ít chi phí tài nguyên tính toán — bộ xử lý, bộ nhớ và lưu trữ — hơn một VM đầy đủ. Thứ hai, WSL cho phép cả môi trường Windows và Linux chạy đồng thời, nên nhà phát triển có thể dùng ứng dụng Windows và tiện ích Linux trên cùng một file nếu cần.
WSL có giới hạn nào không?
Windows Subsystem for Linux hiện có một số giới hạn. Thứ nhất, nó không hỗ trợ tất cả ứng dụng Linux; nó nhằm cung cấp công cụ xử lý bash và các tiện ích dòng lệnh Linux chính. WSL không hỗ trợ môi trường giao diện người dùng đồ họa (GUI) Linux như Gnome hay K Desktop Environment. Windows Subsystem for Linux chỉ hỗ trợ phân phối Ubuntu Linux tại thời điểm này.
Ngoài ra, Windows Subsystem for Linux chỉ có sẵn cho Windows 10 và sẽ không có sẵn trong các phiên bản Windows Server. Mặc dù WSL có thể chạy một số ứng dụng server Linux, như Redis làm cơ sở dữ liệu, nhưng nó không nhằm mục đích lưu trữ ứng dụng server Linux.
Windows Subsystem for Linux hỗ trợ hệ thống file nào?
Windows Subsystem for Linux sử dụng hai hệ thống file để hỗ trợ quy ước file Linux đồng thời cung cấp khả năng tương tác với file Windows. Một hệ thống file gọi là VolFs hỗ trợ quy ước file Linux bao gồm quyền Linux, liên kết đến file khác, tên với ký tự không thường được chấp nhận dưới Windows và cấu trúc thư mục Linux. Tuy nhiên, VolFs không hỗ trợ tương tác giữa file của nó và ứng dụng Windows, nhưng một hệ thống file khác gọi là DriveFs cung cấp khả năng tương tác đó, đảm bảo tên file Windows hợp pháp, thực thi bảo mật Windows và hỗ trợ tên file phân biệt chữ hoa chữ thường. Cấu trúc thư mục của DriveFs cho phép người dùng áp dụng công cụ Windows hoặc Linux cho file cùng một lúc.