giovedì 22 ottobre 2020 di 64756 Letture
Linux in Windows: come, quando e perché utilizzarlo

Linux in Windows: come, quando e perché utilizzarlo

Come funziona la bash di Windows 10 che permette di installare le principali distribuzioni Linux e i pacchetti software per il pinguino. Le ultime novità aggiunte a WSL 2, Sottosistema Windows per Linux.

Con Windows 10 Microsoft ha introdotto il cosiddetto Windows Subsystem for Linux (Sottosistema Linux per Windows in italiano o WSL), uno speciale layer software che permette di usare un'interfaccia compatibile con il kernel Linux mediante la quale si possono eseguire tutte le principali distribuzioni e installare i pacchetti software più noti.

WSL 2, seconda versione del Sottosistema Linux per Windows annunciata per la prima volta a maggio 2019 e introdotta ufficialmente in Windows 10 Aggiornamento di maggio 2020 (versione 2004) (per poi essere estesa anche alle precedenti versioni del sistema operativo: WSL2: avviare le principali distribuzioni Linux anche da Windows 10 release 1909 e 1903), cambia radicalmente l'approccio utilizzato per portare Linux in Windows: anziché affidarsi a un layer di compatibilità, WSL 2 si appoggia alla virtualizzazione di Hyper-V e al suo hypervisor.

Con WSL 2 viene tra l'altro utilizzata una versione ufficiale del kernel Linux che viene costantemente mantenuta aggiornata da parte di Microsoft usando Windows Update.
Incredibile, almeno fino a qualche anno fa, ma vero.


Linux in Windows: come, quando e perché utilizzarlo

Per eseguire i comandi Linux da Windows 10 è consigliabile installare almeno una distribuzione Linux facendo riferimento al Microsoft Store: ci sono Ubuntu, Debian, openSUSE, Kali Linux, SUSE Linux Enterprise Server, Alpine, Pengwin e altre ancora.

Perché eseguire Linux in Windows? Ci sono controindicazioni?

La possibilità di avviare una distribuzione come Ubuntu Linux in Windows è una comodità non da poco, soprattutto per i professionisti che ogni giorno si trovano a pestare i tasti sia su macchine con il sistema operativo Microsoft che su sistemi equipaggiati con le varie "declinazioni" del pinguino.

Avere la possibilità di eseguire Linux in Windows significa potersi servire di tutti i comandi abitualmente utilizzati anche sul sistema operativo Microsoft e di eseguire script congegnati per la piattaforma simbolo del software libero e dell'opensource.

WSL utilizza un quantitativo limitato di risorse e permette di interagire non soltanto con una o più distribuzioni Linux ma anche con il file system utilizzato da Windows 10.

Inoltre, senza essere costretti a cercare e installare pacchetti software in versione Windows, si possono eseguire server web, script Python, PHP, ottenere un certificato digitale gratuito Let's Encrypt (Ottenere un certificato digitale wildcard per HTTPS con Let's Encrypt) e così via usando la finestra del terminale e i comandi Linux abituali.

Eseguire comandi dalla finestra del terminale Linux non ha prezzo: per gli utenti di Windows poter lavorare con Linux senza abbandonare il sistema operativo è un enorme passo in avanti.

Controindicazioni? Sia BitDefender (Bitdefender contro le nuove minacce informatiche sempre più complesse) che Check Point (L'introduzione della bash Linux ha reso Windows 10 più debole, secondo Check Point) preconizzano nuove tipologie di attacco che prenderanno di mira coloro che fanno uso di WSL e della finestra del terminale Linux in Windows 10.

Il rischio c'è perché gli antimalware e le soluzioni per la sicurezza non sono ancora attrezzate per riconoscere eventuale codice malevolo che sfrutta WSL per fare danni in Windows 10.
D'altra parte, però, va anche detto che WSL viene installato e utilizzato essenzialmente dagli utenti con una maggiore preparazione tecnica.
Una prima "avvisaglia" è la scoperta legata a WSL 2: quanto in esecuzione nella macchina virtuale Linux supera tutte le restrizioni impostate a livello del firewall di Windows (WSL 2 bypassa il firewall di Windows: dubbi sul piano della sicurezza).

Come usare Linux in Windows 10 con WSL

Per installare Linux in Windows 10 con WSL basta seguire alcuni semplici passaggi tenendo però presente che mentre WSL non creava alcun problema con le soluzioni per la virtualizzazione di terze parti (Virtualbox, VMware,...), WSL 2 può risultare incompatibile.
Microsoft afferma di aver messo a disposizione degli sviluppatori di soluzioni per la virtualizzazione concorrenti apposite API per rendere compatibili tali software con Hyper-V (sono integrate nella Piattaforma Windows Hyper-V).


Di seguito presentiamo la procedura per installare WSL 2 in Windows 10:

1) Premere la combinazione di tasti Windows+R quindi scrivere optionalfeatures e premere Invio.

2) Nella schermata Funzionalità Windows spuntare le seguenti caselle:

  • Piattaforma macchina virtuale
  • Piattaforma Windows Hyper-V
  • Sottosistema Windows per Linux

Linux in Windows: come, quando e perché utilizzarlo

3) Sui sistemi ove già si utilizzava WSL, bisognerà scaricare e installare il pacchetto aggiuntivo disponibile a questo indirizzo (cliccare sul link "Scarica il pacchetto di aggiornamento più recente del kernel Linux di WSL 2").

4) Dopo riavviato il sistema, si dovrà aprire una finestra del prompt dei comandi o di PowerShell con i diritti di amministratore e digitare quanto segue:
wsl --set-default-version 2

Così facendo Windows 10 utilizzerà per impostazione predefinita WSL 2 anziché la prima versione del Sottosistema Windows per Linux.

5) Digitando il comando che segue si otterrà l'elenco delle distribuzioni Linux eventualmente installate in precedenza sul sistema Windows 10:
wsl -l -v


La presenza dell'indicazione 1 sotto la colonna Version conferma che la corrispondente distribuzione Linux sta ancora usando la prima versione di WSL. Per convertirla all'utilizzo di WSL 2 basterà digitare:

wsl --set-version kali-linux 2

Al posto di kali-linux bisognerà ovviamente indicare il nome della distribuzione Linux installata che deve utilizzare WSL 2.

Linux in Windows: come, quando e perché utilizzarlo

6) Per installare le distribuzioni Linux da eseguire in Windows 10 si può accedere a questa pagina e richiedere il caricamento del pacchetto prescelto scegliendo per esempio fra Ubuntu, Debian, openSUSE e Kali Linux (che abbiamo conosciuto in molteplici nostri articoli).

7) A installazione della distribuzione Linux ultimata, si potrà avviarne la corrispondente finestra del terminale dal menu Start di Windows 10 cliccando sul collegamento automaticamente aggiunto.

Semplicemente premendo la combinazione di tasti Windows+R e digitando wsl ci si troverà nella cartella di sistema di Windows 10 (\windows\system32).


Linux in Windows: come, quando e perché utilizzarlo

8) Al primo avvio di una qualunque distribuzione installata attraverso il Microsoft Store viene chiesto di configurare un account utente Linux impostando la relativa password. Tale password dovrà essere utilizzata per ottenere i permessi di root con il comando sudo.

9) Tutti i comandi Linux funzionano perfettamente. Nel caso di Ubuntu, per esempio, si possono usare i seguenti per gestire i pacchetti software:

sudo apt update per scaricare informazioni aggiornate sui pacchetti disponibili
sudo apt install seguito dal nome del pacchetto per installare un'applicazione Linux (esempio sudo apt-get install python-minimal)
sudo apt remove seguito dal nome del pacchetto per rimuovere un pacchetto Linux precedentemente installato
sudo apt upgrade per aggiornare tutti i pacchetti Linux all'ultima versione disponibile
sudo apt search seguito dal termine che si desidera cercare all'interno degli archivi dei pacchetti software (ad esempio per individuare il nome esatto del software che s'intende installare).


Linux in Windows: come, quando e perché utilizzarlo

10) Aprendo il prompt dei comandi di Windows (Windows+R, digitare cmd) quindi scrivendo è possibile impartire alcuni comandi per gestire le distribuzioni Linux:

wsl -l Elenca le distribuzioni installate insieme con i rispettivi nomi identificativi.
wsl -l --running Elenco solo le distribuzioni Linux che risultano al momento in esecuzione tramite WSL.
wsl -s Seguito dal nome di una distribuzione Linux, permette di impostarla come predefinita.
wsl -d Seguito dal nome di una distribuzione Linux, consente di avviarla.
wsl -t Seguito dal nome di una distribuzione Linux, consente di terminarla.
wsl --export Seguito dal nome di una distribuzione Linux e dal nome di un file .TAR consente di esportare la distribuzione in formato compresso.
wsl --import Seguito dal nome di una distribuzione Linux e dal nome di un file .TAR consente di importare la distribuzione in WSL.
wsl -u Seguito dal nome di una distribuzione Linux, permette di caricarla con l'account utente indicato.


11) Dalla finestra di Linux in Windows 10 si possono anche installare e avviare programmi del "pinguino" dotati di interfaccia grafica. Per procedere in tal senso basta installare un X Server e seguire le indicazioni riportate nell'articolo Eseguire programmi Linux su Windows, anche con interfaccia grafica.
A breve sarà possibile farlo direttamente da WSL 2 grazie al supporto integrato che sta per introdurre Microsoft.

12) I file utilizzati dalle distribuzioni Linux in ambiente Windows vengono "stivati" nella cartella %localappdata%\Packages, nella sottocartella riferita alla distribuzione Linux installata mediante Microsoft Store.

Per accedere al file system usato dalle distribuzioni Linux installate sul sistema tramite WSL, basta premere la combinazione di tasti Windows+R quindi digitare \\wsl$.
In questo modo sarà possibile accedere al file system di qualunque distribuzione così come se si trattasse di una risorsa condivisa in rete.

Linux in Windows: come, quando e perché utilizzarlo

Il vantaggio è che in questo caso è possibile intervenire sul contenuto dei file senza danneggiare il file system usato dalle distribuzioni Linux (si possono anche copiare e incollare file).


Per accedere rapidamente al file system di una specifica distribuzione basta usare, per esempio, la sintassi \\wsl$\Ubuntu-20.04.

13) Per accedere direttamente al file system di Windows dalla bash di Linux basta digitare ad esempio cd /mnt/c: in questo modo ci si porterà nella cartella radice dell'unità C:.

14) Digitando explorer.exe . al prompt di una qualunque distribuzione Linux (notare la presenza del punto), si aprirà Esplora file di Windows mostrando tutto il contenuto della cartella selezionata.

Linux in Windows: come, quando e perché utilizzarlo

15) Da tenere ben presente che la cartella /mnt/c/Users contiene tutti i file dei profili utente usati in ambiente Windows mentre /home le directory dei profili utente usati nella distribuzione Linux in uso. Basta verificare l'output che si ottiene impartendo i seguenti due comandi:

  • ls /mnt/c/Users
  • ls /home

Linux in Windows: come, quando e perché utilizzarlo

16) Le distribuzioni Linux potranno essere eventualmente disinstallate digitando App e funzionalità nella casella di ricerca di Windows 10 quindi cercando all'interno dell'elenco contenente le app installate sul sistema.


17) Dalla finestra di WSL 2 si possono avviare applicazioni e comandi Windows. L'output può essere anche elaborato con i comandi Linux (e viceversa). Le indicazioni pratiche sono riportate nell'articolo Eseguire applicazioni Windows dall'ambiente Linux di WSL2.

18) Per arrivare un singolo comando Linux da Windows si può semplicemente premere Windows+R quindi digitare bash -c seguito dal comando o dall'applicazione Linux da eseguire (tra virgolette).
Provate ad esempio a scrivere bash -c "nano".

Il comando può essere inserito anche in un collegamento creato sul desktop di Windows o in una qualunque altra cartella usando il campo Destinazione (tasto destro, Nuovo, Collegamento).

Linux in Windows: come, quando e perché utilizzarlo

19) Su un nostro sistema di test, come si vede nell'immagine, Virtualbox viene eseguito senza problemi accanto al software di virtualizzazione Hyper-V attivato con WSL 2. In caso di difficoltà, ad esempio al primo avvio del software di virtualizzazione di terze parti dopo l'aggiornamento a WSL 2, ricordarsi di installare sempre l'ultima versione e di riavviare almeno una volta il sistema.


Linux in Windows: come, quando e perché utilizzarlo

Nel caso in cui si continuassero ad avere problemi, si può applicare l'espediente che avevamo descritto a suo tempo: Hyper-V e Virtualbox: convivenza difficile ma non impossibile.


Linux in Windows: come, quando e perché utilizzarlo - IlSoftware.it