Windows Subsystem for Linux: cos’è e perché serve usarlo

Windows e Linux una volta erano agli antipodi e in casa Microsoft era meglio non parlare del sistema operativo open source.

Ora le cose sono completamente diverse e Windows 10 da qualche tempo integra anche un piccolo "cuore" Linux perfettamente funzionante. Sembra un'idea rivoluzionaria e in parte lo è, ma ha ragioni strategiche ben precise.

Il Pinguino è entrato in Windows 10 attraverso la porta del Windows Subsystem for Linux. WSL è un insieme di componenti software che ha debuttato nella release Anniversary Update di Windows 10, è stato potenziato nella successiva Creators Update e lo sarà ulteriormente nella prossima Fall Creators Update.

Il motivo della sua inclusione è molto semplice: oggi lo sviluppo software è strettamente legato ai tool Linux, portarli "dentro" a Windows rende il sistema operativo di Microsoft di nuovo interessante per gli sviluppatori. Che stavano migrando in massa a Linux vero e proprio oppure a MacOS, date le sue fondamenta Unix.

Così Microsoft ha fatto tesoro dello sviluppo portato avanti (e poi abbandonato) per eseguire applicazioni Android su Windows Phone. L'obiettivo è diverso ma analogo: fare in modo di poter eseguire applicazioni Linux dentro Windows. In realtà l'obiettivo è più mirato: WSL non è un completo sistema Linux ma una sorta di distribuzione volutamente limitata ai tool da linea di comando. Tutti questi tool sono stati riprogettati per usare le chiamate di sistema di Windows e non più quelle del kernel Linux.

Questa è la differenza fondamentale tra WSL e Linux. La collaborazione tra Microsoft e Canonical ha portato a una "distro" i cui eseguibili si comportano in tutto e per tutto come quelli Linux ma usano il cuore di Windows. E non sono eseguiti attraverso una macchina virtuale, sono binari nativi.

Partire con WSL

Installare WSL è ancora un'operazione non ovvia ma nemmeno complessa, se consideriamo che WSL è pensato per gli utenti tecnici. Bisogna innanzitutto avere una copia di Windows 10 a 64 bit e in versione almeno 1703.

Poi ci si porta in Impostazioni > Aggiornamento e Sicurezza > Per sviluppatori e si imposta l'opzione Modalità sviluppatore. A questo punto la cosa più veloce è avviare PowerShell in modalità Amministratore e dare il comando Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux.

Al termine del comando riavviamo il PC come richiesto. Dopo, basta aprire un prompt dei comandi e scrivere bash (più Invio). Parte così lo scaricamento della nostra distribuzione Ubuntu "alternativa" con conseguente installazione. Ci verrà chiesto anche di creare un utente Linux, che resta distinto dall'utente di Windows 10. Per semplificarci la vita, Windows installa anche un comando bash nel menu Avvio.

Alla fine del processo abbiamo attivato WSL e abbiamo bash a portata di mano. C'è solo da capire cosa possiamo farci e che raggio d'azione ha.

Non solo bash

WSL è stato anche identificato come "bash su Windows" ma è una catalogazione riduttiva. È vero che WSL nasce ogni volta con bash e muore con esso, nel senso che se chiudiamo bash si chiudono anche tutti i processi Linux che abbiamo eventualmente lanciato. Ma è anche vero che dalla linea di comando di bash possiamo lanciare praticamente tutti i comandi e servizi che troveremmo in Ubuntu.

Quindi tutti i tool Linux, le applicazioni standard, i servizi e gli ambienti da sviluppatore (da Git a Pyhton). E anche molto altro, dato che il comando apt-get per l'installazione dei package funziona perfettamente. In teoria è anche possibile eseguire applicazioni Linux in modalità grafica, ma questo non è ufficialmente supportato e nemmeno è lo scopo per cui nasce WSL.

Il vantaggio dell'ambiente Ubuntu di WSL è l'essere strettamente integrato in Windows. Essendo fatto di eseguibili per il kernel del sistema operativo, i suoi processi sono gestibili (se serve) dai normali tool di Windows 10 e vedono tutte le sue risorse, compreso il filesystem che viene montato automaticamente. È anche possibile lanciare eseguibili da bash e aprire file con tool Linux (il viceversa non è consigliabile).

Questa integrazione è pensata soprattutto per gli sviluppatori, in modo particolare quelli multipiattaforma. L'idea di Microsoft è creare un ambiente ancora Windows ma dotato dei connettori Linux per installare e usare gli strumenti oggi di uso comune per lo sviluppo. In questo senso il lavoro di Microsoft starà soprattutto nell'estendere quello che è supportato senza difficoltà, ad esempio ampliando le scelta in quanto a distribuzioni "adattate" (in arrivo Fedora, Suse ES e OpenSuse).

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche iscriviti alla newsletter gratuita.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here