CodeGym /Kursy /Docker SELF /Praca z Linux na Windows: WSL

Praca z Linux na Windows: WSL

Docker SELF
Poziom 1 , Lekcja 2
Dostępny

Praca z Linux na Windows: WSL

1. Czym jest WSL?

Teraz przechodzimy do ciekawego tematu: jak pracować z Linuxem, jeśli używasz Windowsa jako głównego systemu operacyjnego? Witaj w świecie WSL!

WSL (Windows Subsystem for Linux) — to technologia od Microsoftu, która pozwala na uruchamianie dystrybucji Linuxa bezpośrednio w Windows. Istnieją dwie wersje:

  • WSL1: działa jako warstwa zgodności na poziomie wywołań systemowych między Windowsem a Linuxem. Emuluje zachowanie Linuxa przez jądro Windows.
  • WSL2: używa pełnoprawnego jądra Linuxa przez ukrytą lekką maszynę wirtualną. To sprawia, że WSL2 jest szybszy i bardziej zgodny z prawdziwym Linuxem.

WSL to jakby kompromis między dwoma światami: masz narzędzia Linuxa, pozostając w ekosystemie Windows. Dla programistów to ogromny plus: można pisać kod, testować i konfigurować serwery za pomocą ulubionych komend Linuxowych.


2. Dlaczego WSL jest tak wartościowy?

  1. Tworzenie i testowanie: WSL pozwala programistom pracować w środowisku Linuksa bez potrzeby restartowania komputera lub używania maszyn wirtualnych.
  2. Docker i konteneryzacja: WSL2 wspiera Dockera, co jest szczególnie przydatne przy pracy z kontenerami.
  3. Integracja systemów plików: Możesz łatwo wymieniać pliki między Windows i Linux, używając jednego systemu plików.
  4. Łatwość konfiguracji: Instalacja WSL zajmuje dosłownie kilka minut.

Czym WSL różni się od maszyny wirtualnej?

  • Brak potrzeby wirtualizacji. Nie musisz instalować VirtualBox, VMware ani Hyper-V. WSL działa na poziomie systemu.
  • Mniejsze zużycie zasobów. WSL zużywa mniej pamięci RAM i czasu procesora niż standardowa maszyna wirtualna.
  • Integracja z Windows. Możesz łatwo wymieniać pliki między Windows a Linuxem, uruchamiać polecenia Linuksa i Windows razem (!), a także korzystać z tych samych interfejsów sieciowych.

3. Instalacja WSL

1. Sprawdzenie wymagań systemowych

Przed rozpoczęciem upewnij się, że Twój system spełnia minimalne wymagania:

  • Windows 10 (wersja 2004 lub wyższa) albo Windows 11.
  • Włączona wirtualizacja w BIOS/UEFI.

Aby sprawdzić wersję Windows, otwórz PowerShell i wykonaj:

winver

Powinieneś zobaczyć okno podobne do tego:

Jeśli nie wiesz, jak uruchomić PowerShell w Windows, naciśnij Win+S i wpisz powershell.

2. Włączenie WSL

Otwórz PowerShell jako administrator i wykonaj następującą komendę:

wsl --install

Ta komenda automatycznie zainstaluje WSL, pobierze jądro Linuxa i skonfiguruje WSL2 jako domyślną wersję.

Jeśli z jakiegoś powodu komenda nie działa, możesz aktywować WSL ręcznie przez dodatkowe komponenty Windows:

  1. Otwórz "Panel sterowania" → "Programy i funkcje" → "Włączanie lub wyłączanie funkcji systemu Windows".
  2. Włącz:
    • Podsystem Windows dla Linuxa.
    • Platforma maszyny wirtualnej.

Po tym uruchom ponownie komputer.

3. Wybór i instalacja dystrybucji

WSL pozwala zainstalować popularne dystrybucje Linuxa, takie jak Ubuntu, Debian, Kali Linux i wiele innych. Aby zobaczyć listę dostępnych dystrybucji, wykonaj:

wsl --list --online

Zobaczysz listę dostępnych dystrybucji:


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

Aby zainstalować np. Ubuntu, wykonaj:

wsl --install -d Ubuntu

Po instalacji uruchom dystrybucję, aby zakończyć konfigurację (na przykład ustawienie nazwy użytkownika i hasła).


3. Konfiguracja WSL2 jako domyślnej

Aby korzystać z WSL2 (a to jest bardzo polecane), upewnij się, że WSL2 jest aktywowany. Ustaw ją jako wersję domyślną:

wsl --set-default-version 2

Jeśli masz już zainstalowaną dystrybucję z WSL1, możesz ją zaktualizować do WSL2:

wsl --set-version <Nazwa_Dystrybucji> 2

Przykład:

wsl --set-version Ubuntu 2

4. Integracja WSL z Windows

WSL świetnie integruje się z Windows, co pozwala korzystać z możliwości obu systemów. Oto kluczowe momenty:

1. Wymiana plików

WSL montuje system plików Windows w katalogu /mnt. Na przykład:

cd /mnt/c/Users/TwojeImię

Możesz pracować z plikami Windows bezpośrednio z Linuxa. Podobnie można używać plików z WSL w Windows za pomocą ścieżki \\wsl$\<Nazwa_Dystrybucji> w Eksploratorze.

2. Używanie poleceń Windows w Linux

Tak, możesz uruchamiać polecenia Windows bezpośrednio z WSL. Na przykład:

explorer.exe .

Otworzy bieżący katalog w Eksploratorze.

3. Używanie poleceń Linux w PowerShell

WSL pozwala uruchamiać polecenia Linuxa bezpośrednio z PowerShell. Na przykład:

wsl ls

5. Użycie WSL w rzeczywistym rozwoju

Praca z serwerem webowym

Możesz uruchomić serwer Nginx lub Apache w WSL i uzyskać do niego dostęp przez przeglądarkę na Windows. Na przykład:

1. Zainstaluj Nginx w WSL:

   sudo apt update
   sudo apt install nginx

2. Uruchom serwer:

   sudo service nginx start

3. Otwórz przeglądarkę i przejdź pod adres http://localhost.

Instalacja Docker

WSL2 w pełni obsługuje Docker. Zainstaluj Docker Desktop na Windows, automatycznie zintegruje się z WSL2.


6. Przydatne polecenia WSL

  • Wyświetlenie zainstalowanych dystrybucji:

    wsl --list --verbose
    

    Pokazuje wszystkie zainstalowane dystrybucje, ich wersje i status.

  • Zatrzymanie wszystkich dystrybucji:

    wsl --shutdown
    
  • Usunięcie dystrybucji (uwaga!):

    wsl --unregister <Nazwa_Dystrybucji>
    
  • Uruchomienie WSL w określonym katalogu:

    wsl ~/
    

7. Typowe błędy i ich rozwiązania

1. Błąd: "WSL is not enabled"

Jeśli widzisz komunikat, że WSL nie jest włączony, upewnij się, że aktywowałeś go w "Panelu sterowania" lub przez PowerShell. Sprawdź również, czy twój procesor obsługuje wirtualizację (powinna być włączona w BIOS).

2. Komenda wsl --install nie działa

To może być spowodowane przestarzałą wersją Windows. Zaktualizuj system operacyjny do najnowszej wersji.

3. Problemy z uruchomieniem Docker

Upewnij się, że twój dystrybucja używa WSL2, a nie WSL1. Możesz to sprawdzić przez:

wsl --list --verbose

4. Nie można połączyć się z serwerem z WSL

Upewnij się, że firewall Windows nie blokuje połączeń.


8. Zadanie praktyczne

  1. Zainstaluj WSL i dystrybucję Ubuntu.
  2. Sprawdź wersję WSL swojej dystrybucji:
    wsl --list --verbose
    
  3. Utwórz plik tekstowy test.txt w katalogu /mnt/c/Users/TwojeImie/Documents z poziomu WSL:

    echo "Cześć, WSL!" > /mnt/c/Users/TwojeImie/Documents/test.txt
    
  4. Zobacz zawartość pliku przez PowerShell:

    type C:\Users\TwojeImie\Documents\test.txt
    
  5. Zadanie gwiazdkowe: Zainstaluj Nginx, uruchom go i otwórz http://localhost w przeglądarce.

No i proszę! Przeszedłeś całą drogę od instalacji do rzeczywistego korzystania z Linuxa na Windows. Dzięki temu narzędziu możesz łatwo i szybko konfigurować środowiska robocze do dowolnych zadań.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION