CodeGym /Corsi /Docker SELF /Lavorare con Linux su Windows: WSL

Lavorare con Linux su Windows: WSL

Docker SELF
Livello 1 , Lezione 2
Disponibile

1. Cos'è WSL?

Ora arriviamo a un argomento interessante: come lavorare con Linux se stai utilizzando Windows come sistema operativo principale? Benvenuto nel mondo di WSL!

WSL (Windows Subsystem for Linux) è una tecnologia di Microsoft che permette di eseguire distribuzioni Linux direttamente su Windows. Esistono due versioni:

  • WSL1: funziona come un livello di compatibilità di chiamate di sistema tra Windows e Linux. Emula il comportamento di Linux attraverso il kernel di Windows.
  • WSL2: utilizza un kernel Linux completo tramite una macchina virtuale leggera nascosta. Questo rende WSL2 più veloce e più compatibile con un Linux reale.

WSL è come un compromesso tra i due mondi: ottieni gli strumenti di Linux restando nell'ecosistema di Windows. Per gli sviluppatori è un grande vantaggio: puoi programmare, testare e configurare server usando i tuoi comandi Linux preferiti.


2. Perché WSL è così prezioso?

  1. Sviluppo e testing: WSL permette agli sviluppatori di lavorare in un ambiente Linux, senza dover riavviare il computer o usare macchine virtuali.
  2. Docker e containerizzazione: WSL2 supporta Docker, ed è particolarmente utile per lavorare con i container.
  3. Integrazione dei file system: Puoi facilmente scambiare file tra Windows e Linux usando lo stesso file system.
  4. Semplicità di configurazione: Installare WSL richiede letteralmente pochi minuti.

In cosa WSL è diverso da una macchina virtuale?

  • Non serve la virtualizzazione. Non hai bisogno di installare VirtualBox, VMware o Hyper-V. WSL funziona a livello di sistema.
  • Pochissime risorse. WSL usa meno memoria RAM e tempo della CPU rispetto a una normale macchina virtuale.
  • Integrazione con Windows. Puoi scambiare facilmente file tra Windows e Linux, eseguire comandi Linux e Windows insieme (!), e utilizzare le stesse interfacce di rete.

3. Installare WSL

1. Verifica dei requisiti di sistema

Prima di iniziare, assicurati che il tuo sistema soddisfi i requisiti minimi:

  • Windows 10 (versione 2004 e successive) o Windows 11.
  • Virtualizzazione abilitata nel BIOS/UEFI.

Per verificare la versione di Windows, apri PowerShell ed esegui:

winver

Dovresti vedere una finestra simile a questa:

Se non sai come avviare PowerShell in Windows, premi Win+S e scrivi powershell.

2. Abilitazione di WSL

Apri PowerShell come amministratore ed esegui il seguente comando:

wsl --install

Questo comando installerà automaticamente WSL, scaricherà il kernel Linux e configurerà WSL2 come versione predefinita.

Se, per qualche motivo, il comando non funziona, puoi attivare WSL manualmente tramite i componenti facoltativi di Windows:

  1. Apri "Pannello di controllo" → "Programmi e funzionalità" → "Attivazione o disattivazione delle funzionalità di Windows".
  2. Abilita:
    • Sottosistema Windows per Linux.
    • Piattaforma macchina virtuale.

Dopo di ciò, riavvia il computer.

3. Scelta e installazione della distribuzione

WSL ti permette di installare distribuzioni Linux popolari come Ubuntu, Debian, Kali Linux e molte altre. Per vedere l'elenco delle distribuzioni disponibili, esegui:

wsl --list --online

Vedrai un elenco delle distribuzioni disponibili:


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

Per installare, ad esempio, Ubuntu, esegui:

wsl --install -d Ubuntu

Dopo l'installazione, avvia la distribuzione per completare la configurazione (ad esempio, impostando il nome utente e la password).


3. Configurare WSL2 come predefinito

Per utilizzare WSL2 (ed è altamente consigliato), assicurati che WSL2 sia abilitato. Impostalo come versione predefinita:

wsl --set-default-version 2

Se hai già installato una distribuzione con WSL1, puoi aggiornarla a WSL2:

wsl --set-version <Nome_Distribuzione> 2

Esempio:

wsl --set-version Ubuntu 2

4. Integrazione di WSL con Windows

WSL si integra magnificamente con Windows, permettendo di utilizzare le capacità di entrambi i sistemi. Ecco i punti chiave:

1. Condivisione di file

WSL monta il file system di Windows nella directory /mnt. Per esempio:

cd /mnt/c/Users/IlTuoNome

Puoi lavorare con i file di Windows direttamente da Linux. Allo stesso modo, puoi utilizzare i file da WSL su Windows attraverso un percorso come \\wsl$\<Nome_Distribuzione> in Esplora file.

2. Utilizzo di comandi di Windows in Linux

Sì, puoi eseguire comandi di Windows direttamente da WSL. Per esempio:

explorer.exe .

Aprirà la directory corrente in Esplora file.

3. Utilizzo di comandi Linux in PowerShell

WSL consente di eseguire comandi Linux direttamente da PowerShell. Per esempio:

wsl ls

5. Utilizzo di WSL nello sviluppo reale

Lavorare con un web server

Puoi avviare un server Nginx o Apache su WSL e accedervi tramite browser su Windows. Ad esempio:

1. Installa Nginx in WSL:

   sudo apt update
   sudo apt install nginx

2. Avvia il server:

   sudo service nginx start

3. Apri il browser e vai all'indirizzo http://localhost.

Installazione di Docker

WSL2 supporta completamente Docker. Installa Docker Desktop su Windows, si integrerà automaticamente con WSL2.


6. Comandi utili di WSL

  • Visualizzare le distribuzioni installate:

    wsl --list --verbose
    

    Mostra tutte le distribuzioni installate, le loro versioni e lo stato.

  • Arrestare tutte le distribuzioni:

    wsl --shutdown
    
  • Eliminare una distribuzione (attenzione!):

    wsl --unregister <Nome_Distribuzione>
    
  • Aprire WSL in una directory specifica:

    wsl ~/
    

7. Errori tipici e come risolverli

1. Errore: "WSL is not enabled"

Se vedi il messaggio che WSL non è abilitato, assicurati di averlo attivato nel "Pannello di controllo" o tramite PowerShell. Controlla anche se il tuo processore supporta la virtualizzazione (deve essere abilitata nel BIOS).

2. Il comando wsl --install non funziona

Questo potrebbe essere dovuto a una versione obsoleta di Windows. Aggiorna il sistema operativo all'ultima versione.

3. Problemi con l'avvio di Docker

Assicurati che la tua distribuzione utilizzi WSL2 e non WSL1. Puoi verificare eseguendo:

wsl --list --verbose

4. Impossibile connettersi al server da WSL

Assicurati che il firewall di Windows non stia bloccando le connessioni.


8. Compito pratico

  1. Installa WSL e la distribuzione Ubuntu.
  2. Controlla la versione di WSL della tua distribuzione:
    wsl --list --verbose
    
  3. Crea un file di testo test.txt nella directory /mnt/c/Users/TuoNome/Documents utilizzando WSL:

    echo "Ciao, WSL!" > /mnt/c/Users/TuoNome/Documents/test.txt
    
  4. Visualizza il contenuto del file tramite PowerShell:

    type C:\Users\TuoNome\Documents\test.txt
    
  5. Compito con la stellina: Installa Nginx, avvialo e apri http://localhost nel browser.

Quindi, hai appena completato tutto il percorso dall'installazione all'uso reale di Linux su Windows. Con questo strumento, puoi facilmente e velocemente creare ambienti di lavoro per qualsiasi necessità.

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