CodeGym /Các khóa học /Docker SELF /Làm việc với Linux trên Windows: WSL

Làm việc với Linux trên Windows: WSL

Docker SELF
Mức độ , Bài học
Có sẵn

Làm việc với Linux trên Windows: WSL

1. WSL là gì?

Bây giờ chúng ta tiếp cận một chủ đề thú vị: làm thế nào để làm việc với Linux, nếu bạn sử dụng Windows làm hệ điều hành chính? Chào mừng đến với thế giới của WSL!

WSL (Windows Subsystem for Linux) — đây là công nghệ của Microsoft cho phép chạy các bản phân phối Linux trực tiếp trên Windows. Có hai phiên bản:

  • WSL1: hoạt động như một lớp tương thích ở mức lời gọi hệ thống giữa Windows và Linux. Nó mô phỏng hành vi của Linux thông qua kernel của Windows.
  • WSL2: sử dụng một kernel Linux đầy đủ thông qua một máy ảo nhẹ bị ẩn. Điều này làm cho WSL2 nhanh hơn và tương thích hơn với Linux thực tế.

WSL giống như một sự thỏa hiệp giữa hai thế giới: bạn có các công cụ của Linux nhưng vẫn ở trong hệ sinh thái của Windows. Đối với các nhà phát triển, đây là một lợi thế lớn: có thể lập trình, kiểm tra và cấu hình máy chủ bằng các lệnh yêu thích của Linux.


2. Tại sao WSL lại có giá trị như vậy?

  1. Phát triển và kiểm thử: WSL cho phép lập trình viên làm việc trong môi trường Linux mà không cần khởi động lại máy tính hoặc sử dụng máy ảo.
  2. Docker và containerization: WSL2 hỗ trợ Docker, đặc biệt hữu ích khi làm việc với container.
  3. Tích hợp hệ thống tệp: Bạn có thể dễ dàng chia sẻ tệp giữa Windows và Linux bằng cách sử dụng một hệ thống tệp chung.
  4. Dễ dàng cấu hình: Việc cài đặt WSL chỉ mất vài phút.

WSL khác gì với máy ảo?

  • Không cần ảo hóa. Bạn không cần cài đặt VirtualBox, VMware hoặc Hyper-V. WSL hoạt động ở cấp hệ thống.
  • Ít tài nguyên hơn. WSL sử dụng ít RAM và CPU hơn so với máy ảo thông thường.
  • Tích hợp với Windows. Bạn có thể dễ dàng chia sẻ tệp giữa Windows và Linux, chạy các lệnh Linux và Windows cùng nhau (!), cũng như sử dụng các giao diện mạng chung.

3. Cài đặt WSL

1. Kiểm tra yêu cầu hệ thống

Trước khi bắt đầu, hãy đảm bảo rằng hệ thống của bạn đáp ứng các yêu cầu tối thiểu:

  • Windows 10 (phiên bản 2004 trở lên) hoặc Windows 11.
  • Đã bật ảo hóa trong BIOS/UEFI.

Để kiểm tra phiên bản Windows, mở PowerShell và thực hiện lệnh sau:

winver

Bạn sẽ thấy một cửa sổ dạng như thế này:

Nếu bạn không biết cách mở PowerShell trên Windows, hãy nhấn Win+S và nhập powershell.

2. Bật WSL

Mở PowerShell dưới quyền quản trị viên và thực hiện lệnh sau:

wsl --install

Lệnh này sẽ tự động cài đặt WSL, tải xuống nhân Linux và thiết lập WSL2 làm phiên bản mặc định.

Nếu vì lý do nào đó lệnh không hoạt động, bạn có thể bật WSL thủ công thông qua các thành phần bổ sung của Windows:

  1. Mở "Control Panel" → "Programs and Features" → "Turn Windows features on or off".
  2. Bật các mục sau:
    • Subsystem Windows cho Linux.
    • Virtual Machine Platform.

Sau đó, khởi động lại máy tính.

3. Chọn và cài đặt bản phân phối

WSL cho phép cài đặt các bản phân phối phổ biến của Linux như Ubuntu, Debian, Kali Linux và nhiều bản khác. Để xem danh sách các bản phân phối có sẵn, thực hiện lệnh:

wsl --list --online

Bạn sẽ thấy danh sách các bản phân phối có sẵn:


PS C:\Users\Admin> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Debian                          Debian GNU/Linux
kali-linux                      Kali Linux Rolling
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed             openSUSE Tumbleweed

Để cài đặt, ví dụ, Ubuntu, thực hiện lệnh:

wsl --install -d Ubuntu

Sau khi cài đặt, khởi chạy bản phân phối để hoàn tất thiết lập (ví dụ, đặt tên người dùng và mật khẩu).


3. Cấu hình WSL2 mặc định

Để sử dụng WSL2 (rất được khuyến nghị), hãy chắc chắn rằng WSL2 đã được bật. Thiết lập nó làm phiên bản mặc định:

wsl --set-default-version 2

Nếu bạn đã cài một hệ điều hành Linux với WSL1, bạn có thể nâng cấp nó lên WSL2:

wsl --set-version <Tên_hệ_điều_hành> 2

Ví dụ:

wsl --set-version Ubuntu 2

4. Tích hợp WSL với Windows

WSL tích hợp rất tốt với Windows, cho phép sử dụng khả năng của cả hai hệ thống. Đây là những điểm chính:

1. Trao đổi file

WSL gắn kết hệ thống file của Windows vào thư mục /mnt. Ví dụ:

cd /mnt/c/Users/TênCủaBạn

Bạn có thể làm việc với file của Windows trực tiếp từ Linux. Tương tự, có thể sử dụng file từ WSL trong Windows thông qua đường dẫn dạng \\wsl$\<Tên_Distro> trong File Explorer.

2. Sử dụng lệnh Windows trong Linux

Đúng vậy, bạn có thể chạy lệnh Windows từ WSL. Ví dụ:

explorer.exe .

Sẽ mở thư mục hiện tại trong File Explorer.

3. Sử dụng lệnh Linux trong PowerShell

WSL cho phép chạy lệnh Linux trực tiếp từ PowerShell. Ví dụ:

wsl ls

5. Sử dụng WSL trong phát triển thực tế

Thao tác với web server

Bạn có thể khởi chạy server Nginx hoặc Apache trong WSL và truy cập nó qua trình duyệt trên Windows. Ví dụ:

1. Cài đặt Nginx trong WSL:

   sudo apt update
   sudo apt install nginx

2. Khởi chạy server:

   sudo service nginx start

3. Mở trình duyệt và chuyển đến địa chỉ http://localhost.

Cài đặt Docker

WSL2 hỗ trợ hoàn toàn Docker. Hãy cài đặt Docker Desktop trên Windows, nó sẽ tự động tích hợp với WSL2.


6. Các lệnh hữu ích trong WSL

  • Xem danh sách các bản phân phối đã cài đặt:

    wsl --list --verbose
    

    Hiển thị tất cả các bản phân phối đã cài đặt, phiên bản của chúng và trạng thái.

  • Dừng tất cả các bản phân phối:

    wsl --shutdown
    
  • Xóa bản phân phối (cẩn thận!):

    wsl --unregister <Tên_bản_phân_phối>
    
  • Mở WSL trong thư mục cụ thể:

    wsl ~/
    

7. Các lỗi phổ biến và cách giải quyết chúng

1. Lỗi: "WSL is not enabled"

Nếu bạn thấy thông báo rằng WSL chưa được bật, hãy đảm bảo rằng bạn đã kích hoạt nó trong "Control Panel" hoặc thông qua PowerShell. Cũng kiểm tra xem bộ xử lý của bạn có hỗ trợ ảo hóa hay không (phải được bật trong BIOS).

2. Lệnh wsl --install không hoạt động

Điều này có thể liên quan đến phiên bản Windows đã cũ. Cập nhật hệ điều hành lên phiên bản mới nhất.

3. Vấn đề khi chạy Docker

Hãy đảm bảo rằng bản phân phối của bạn đang sử dụng WSL2, không phải WSL1. Kiểm tra qua:

wsl --list --verbose

4. Không thể kết nối tới server từ WSL

Hãy đảm bảo rằng firewall của Windows không chặn các kết nối.


8. Bài tập thực hành

  1. Cài đặt WSL và bản phân phối Ubuntu.
  2. Kiểm tra phiên bản WSL của bản phân phối của bạn:
    wsl --list --verbose
    
  3. Tạo một tệp văn bản test.txt trong thư mục /mnt/c/Users/TênCủaBạn/Documents từ WSL:

    echo "Xin chào, WSL!" > /mnt/c/Users/TênCủaBạn/Documents/test.txt
    
  4. Xem nội dung của tệp qua PowerShell:

    type C:\Users\TênCủaBạn\Documents\test.txt
    
  5. Bài tập khó: Cài đặt Nginx, chạy nó và mở http://localhost trong trình duyệt.

Vậy là bạn vừa hoàn thành từ việc cài đặt đến việc sử dụng thực tế Linux trên Windows. Với công cụ này, bạn có thể dễ dàng và nhanh chóng triển khai các môi trường làm việc cho bất kỳ nhiệm vụ nào.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION