"Linux per Windows": Bash su Windows 10
Dopo aver super-potenziato il Prompt dei comandi di Windows, ora Microsoft è pronta a fare un ulteriore passo: integrare l'interprete di comando di Linux direttamente in Windows, insieme ad un sottosistema in grado di eseguire applicazioni Linux native
Windows 10 Anniversary Update porta in dote la
shell Bash di Ubuntu (un connubio impensabile sino a pochi anni fa!) e la capacità di eseguire moltissimi comandi propri del mondo Linux: cp ed mv (copia e sposta) naturalmente, ma anche
ls, grep, awk, sed, diff, ssh, curl, wget e tutte le altre applicazioni testuali veicolate dai
pacchetti aggiuntivi,
installabili tramite lo stesso
apt ben noto agli utenti di Ubuntu.
L'aspetto più interessante è che non è necessario alcun adattamento: gli stessi file eseguibili per Linux (formato ELF, contrapposto al PE di Windows) girano sotto Windows senza bisogno di toccare il codice e/o ricompilare.
Il tutto è realizzato
senza virtualizzazione, ma tramite un componente denominato Windows Subsystem for Linux che traduce le chiamate a funzioni Linux nelle equivalenti Windows e dovrebbe introdurre una penalizzazione in termini di performance del tutto trascurabile.
Il filesystem nativo di Windows è disponibile a Bash: ogni partizione viene montata in /mnt/ come cartella contraddistinta dalla propria lettera di unità (C: finisce in /mnt/c, ad esempio).
Il tutto è
basato sulla vecchia Ubuntu 14.04 LTS, ma l'intenzione di passare alla 16.04 LTS è già stata anticipata. Da lì in poi, non è chiaro se Microsoft continuerà a seguire strettamente Ubuntu o se si limiterà ad aggiornamenti saltuari.
In questo momento la
compatibilità è strettamente limitata gli strumenti da linea di comando, ma non è da escludere che, nelle prossime iterazioni, venga estesa alle applicazioni ad interfaccia grafica. Di conseguenza, al momento
non si tratta di "un Wine alla rovescia". Piuttosto, il pubblico di riferimento sono gli sviluppatori, ed in particolare quelli che da sempre utilizzino intensamente lo strumento in abbinata a tool come Grunt, Sass, Ruby ecc.