Grâce à un partenariat entre Microsoft et Canonical, il sera désormais possible de lancer Bash directement dans le système d’exploitation de la firme de Redmond.
On pouvait croire qu’il s’agissait d’un premier avril en avance… Eh bien non, Microsoft a bel et bien intégré Bash au sein de Windows 10. Pas de virtualisation, pas de conteneur, non : il s’agit bien ici de l’interpréteur de ligne de commande Unix Bourne Again Shell sous licence GNU.
Cette nouvelle a été saluée par l’assemblée de développeurs présents à la conférence initiale de la Build 2016 de Microsoft. Grâce à l’intégration de Bash dans le système d’exploitation du géant, les développeurs habitués à un environnement de programmation sous Linux, mais utilisant Windows au quotidien, n’auront plus besoin de passer d’un univers à l’autre.
Comme l’explique Scott Hanselman de chez Microsoft sur son blog, il ne s’agit pas d’une machine virtuelle (qui peut consommer beaucoup de ressources système), ni d’une solution comme Cygwin, (qui impose que les applications portées soient légèrement recompilées). Non, ici, il s’agit bel et bien de binaires Linux tournant bit-pour-bit sous Windows.
BASH SOUS WINDOWS, COMMENT ÇA MARCHE ?
« C’est rapide, léger, et ce sont les vrais binaires, écrit Hanselman, il s’agit d’une authentique image d’Ubuntu par dessus Windows avec tous les outils Linux qu’on utilise comme awk, sed, grep, vi, etc. Les binaires sont téléchargés par vous — en utilisant apt-get — comme sur Linux, parce que c’est Linux ».
Concrètement, les utilisateurs Windows pourront télécharger Bash sur le Windows Store, taper bash dans le menu Démarrer, ouvrir cmd.exe et lancer bash par un simple /bin/bash. Ils auront donc accès à l’ensemble des outils qu’ils ont l’habitude d’utiliser sur Linux, comme « apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch, etc … », précise Dustin Kirkland sur son blog.
Kirkland est le chef de l’équipe Produit et Stratégie chez Canonical, l’entreprise derrière la célèbre distribution Linux Ubuntu. Si Kirkland s’exprime sur le sujet, c’est parce que Bash a été amené sous Windows dans un effort conjoint entre Microsoft et Canonical.
Il s’agit ni plus ni moins que de l’espace utilisateur d’Ubuntu tournant dans ce que Microsoft appelle le « Sous-système Windows pour Linux ». Pour nous aider à comprendre, Kirkland nous invite à penser à ce procédé comme d’un Wine inversé. Wine est un logiciel qui permet de faire tourner des programmes Windows sous Linux. Ici,il s’agit de faire tourner des binaires d’Ubuntu nativement sous Windows, en traduisant des appels système Linux en appels système Windows.
QUEL INTERÊT ?
Parce qu’elle est native, cette implémentation a l’avantage d’être extrêmement légère. Techniquement, il est donc envisageable de pouvoir faire tourner un petit serveur Linux sous Windows, et même de se connecter en ssh sans installer Putty. Enfin, en théorie, puisque Mike Harsh de chez Microsoft a tout de même tenu à préciser que Bash pour Windows n’avait pas été conçu pour être une plateforme serveur.
Ça devient encore mieux quand on comprend qu’il est possible d’accéder à l’ensemble des fichiers Windows depuis le point de montage de Linux, sous la forme de /mnt/c/Users ! Inversement, il est possible d’accéder au système de fichier d’Ubuntu depuis l’explorateur Windows dans C :\Users\nomdutilisateur\AppData\Local\Lxss\rootfs\. Renversant.
Ubuntu on Windows sera disponible cet été publiquement sur le Windows Store, ou dès maintenant pour certains membres du programme Insider Preview. De l’aveu même d’Hanselman et de Kirkland, tout n’est pas encore parfait. Mais s’il reste du travail à effectuer, « on s’y rapproche ».
Cette annonce s’intègre dans un effort plus global de la part de la firme de Redmond qui tente de créer des ponts avec la communauté du libre. Nous avions eu un aperçu de cette logique de rapprochement quand Microsoft avait par exemple annoncé la sortie de SQL Server sous Linux ou libéré le code source du moteur JavaScript de Edge. Mais c’est avant tout un choix stratégique de la part de l’éditeur qui craignait sûrement de voir partir les développeurs, las des machines virtuelles, vers les plus verts pâturages de Linux et de Mac OS X.
Vous pouvez regarder une démonstration de Bash tournant sous Ubuntu sur Windows à cette adresse.