Microsoft améliore le sous-système Linux de Windows 10
Pour couvrir la majorité des scénarios auxquels font face les développeurs chaque jour
À l’approche de sortie de Windows 10 Creators Update, on apprend que cette mise à jour majeure de l’OS va être dotée également du sous-système Linux de Windows 10, une option n’a pas manqué de faire l’objet d’un nombre considérable d’éloges de la part des développeurs, surtout ceux qui ont dû migrer de Mac OS.
L’une des raisons de l’implémentation de WSL (Windows Subsystem for Linux) sur Windows est d'offrir aux utilisateurs une expérience similaire à celle de Bash sur Linux, c’est d’ailleurs la raison pour laquelle l’option est souvent appelée « Bash sur Windows ». Mais WSL a des objectifs qui vont bien au-delà d’avoir Bash comme un Shell alternatif sur Windows ; Bash constitue l’étape préliminaire de l'implémentation de tous les outils de la ligne de commande de Linux sur Windows.
WSL constitue « un environnement compatible avec Linux qui ressemble et agit juste comme Linux, il vous permet d’exécuter tout votre code Linux — votre système build Linux, vos outils GNU et tout ce que vous devez exécuter ; créez et testez votre application sans avoir à recourir à une machine virtuelle », a dit Rich Turner de Microsoft. WSL utilise toujours le noyau Windows ; WSL s’appuie sur le noyau Windows ; le sous-système l’utilise pour exécuter les appels du système ELF64 sur lesquels dépendent les binaires de Linux.
Microsoft a pris la décision de placer WSL dans Windows largement pour répondre aux besoins des développeurs. En effet, de nos jours, une variété d’outils open source, des langages de programmation et des bibliothèques assument que les développeurs utilisent Linux. « Beaucoup de ces [outils] ont des dépendances de Linux, la couche du système de fichier Linux, les mécanismes d’interaction réseau de Linux, etc. Ce qui a fait que beaucoup de ces outils ont trouvé du mal à bien fonctionner sous Windows, parce que l’OS a une approche un peu différente lorsqu’il s’agit de réaliser ces tâches. »
Les langages comme node, Python et Ruby fonctionnent très bien sur Windows. Mais si vous voulez accéder aux mêmes gems, paquets, bibliothèques et modules que vous utilisez sur Linux, alors vous aurez les mêmes outils. Il ne s’agit pas seulement d’assurer la compatibilité comme le feraient des outils comme Cygwin et MSYS, car cela n’aide pas vraiment lorsqu’il s’agit de paquets binaires.
« Beaucoup des gems de Ruby sont compilés et les gens en deviennent dépendants, ce qui crée des problèmes sur Windows. Ces gems s’attendent à ce que les fichiers soient dans un chemin d’accès particulier, et sur Windows, c’est tout à fait différent. Nous avons besoin de la capacité de charger et exécuter des binaires de Linux sans modification, » a dit Turner.
L’idée n’est pas de transformer Windows en Linux, mais donner la possibilité aux développeurs d’utiliser les outils auxquels ils dépendent pour réaliser leur travail en plus des outils de Microsoft comme Visual Studio.
Il ne s’agit pas aussi de délaisser Linux sur le bureau, a dit Dustin Kirkland, responsable du développement de Microsoft Ubuntu chez Canonical. « Je vois ça comme une belle approche d’introduire la façon avec laquelle communiquent UNIX et Linux avec un ordinateur à travers la ligne de commande, comme une passerelle vers des dizaines de milliers d’outils open source. On ne pouvait pas rater l’opportunité de délivrer Linux et l’open source à des milliards d’utilisateurs de Windows. »
Kirkland a été lui-même ébloui par la réussite du projet alors qu’il utilisait Visual Studio pour créer l’image d’Ubuntu pour WSL. Il a dû changer un terme spécifique dans 17 fichiers différents. Au lieu de recourir à une interface graphique à laquelle il n’était pas familiarisé, il a réalisé qu’il peut utiliser les commandes grep et sed sur le projet dans Windows, soit la même solution qu’Ubuntu.
« Les deux ont vraiment bien fonctionné ensemble. Je suis plus confortable dans vi que sur un éditeur graphique, alors avoir la capacité de sauter vers une fenêtre vi et créer et modifier les fichiers nativement, utiliser ssh nativement sur le système, c’est super puissant », dit-il.
Une utilisation à base quotidienne
Beaucoup de développeurs ont essayé WSL lors de ses débuts et ont été un peu déçus. Mais il faut savoir que la version du sous-système Linux implémentée dans l’Anniversary Upade de Windows 10 a été en fait une préversion destinée à collecter les avis des développeurs sur les outils qu’ils aimeraient exécuter avec WSL.
« Vous ne pouviez pas envoyer un ping, vous ne pouviez pas jeter un coup d’œil sur votre ifconfig pour voir la configuration de votre réseau. On ne pouvait pas exécuter Java, on ne pouvait pas exécuter npm du fait qu’il était incapable d’énumérer la configuration du réseau. Tout ça est possible maintenant, et nous pouvons exécuter MySQL, Postgres, Apache, Nginx, node, Ruby, Java, Python et même Core CLR fonctionne avec ASP.NET. »
Dans la Creators Update, les outils clés comme ssh et GDB GNU debugger fonctionnent mieux. Et vous pouvez configurer WSL comme une cible pour Visual C++ pour Linux dans Visual Studio, pour que vous puissiez modifier et déboguer visuellement avant de compiler dans WSL.
Canonical assure la maintenance des images du mode utilisateurs que Windows 10 télécharge lors du premier lancement de Bash. Jusqu’à présent, ces images ont été celles d’Ubuntu 14/04, avec une nouvelle image prévue tous les trois mois (Microsoft a suggéré que cette fréquence est la plus optimale pour les utilisateurs, a noté Kirkland). Avec la Creators Update, ils passeront à Ubuntu 16.04 (Xenial, la version lancée en avril dernier).
Il s’agit d’une énorme amélioration, puisque cela veut dire que les nouvelles versions des bibliothèques les plus utilisées, les compilateurs et les utilitaires, seront disponibles et supportées nativement.
Ubuntu 16.04 sera installé par défaut si vous utilisez WSL sur la Creators Update pour la première fois. Si vous avez déjà 14.04, Windows ne va pas mettre à jour votre distribution. Turner a expliqué que cette décision a été prise pour répondre aux requêtes des développeurs qui ont demandé à ce que la mise à jour ne soit pas automatique. Si vous vous voulez une nouvelle instance 16.04, utilisez `lxrun /uninstall /full` pour effacer votre instance Ubuntu et réinstallez la avec `lxrun install.`
La Creators Update apporte également d’autres améliorations, comme le support de la souris dans la console (avec l’ajout des couleurs 24-bit). Elle intègre et rapproche aussi les environnements de Windows et WSL. « Vous pouvez exécuter une commande sur le système Ubuntu qui affecte le système Windows », a expliqué Kirkland ; « pour que vous ayez la possibilité de modifier les fichiers en temps réel et avoir les fichiers mis à jour dans Notepad et vi, ou vous pouvez lancer une application sur Linux qui réalise ces changements dans Windows et vice versa. »
L’intégration veut dire aussi que les processus de Linux peuvent être vus sur le gestionnaire des tâches de Windows. « Si par exemple vous exécutez MySQL, vous pouvez voir son processus sur le gestionnaire des tâches », a dit Turner.
De cette façon, si jamais vous êtes face à un problème (une erreur de script sur Bash par exemple), vous n’aurez qu’à sélectionner le processus correspondant et le supprimer. Les outils de contrôle du réseau et du système peuvent aussi voir les processus WSL, du fait qu’ils sont exposés à l’interface de gestion de Windows et qu’ils utilisent le stack de réseau Windows et le pare-feu de l’OS. Les entreprises pourraient avoir besoin de cette possibilité pour utiliser leurs outils de contrôle avec les processus de WSL ainsi que ceux de Windows.
Le développement concerne la ligne de commande
Maintenant que le sous-système de Linux pour Windows est devenu plus mature et couvre la majorité des scénarios auxquels font face les développeurs chaque jour, Turner explique que le développement va continuer à apporter des mises à jour et des améliorations pour répondre aux requêtes des développeurs. Toutefois, il ne faut pas s’attendre à ce que WSL supporte officiellement Linux desktop.
« Nous avons été clairs depuis le début que la raison pour laquelle nous sommes en train de développer WSL est de fournir un environnement pour les développeurs pour qu’ils puissent faire leur travail. Il y a des outils GUI Linux qui peuvent être utilisés par les développeurs, mais la majorité des outils qu’ils veulent sont les compilateurs, les débogueurs… nous nous concentrons seulement sur les outils et les scénarios présents sur la ligne de commande. »
Source : The New Stack
Et vous ?
Utilisez-vous le sous-système Linux de Windows 10 ? comment trouvez-vous l’expérience utilisateur ?
Voir aussi :
Windows 10 : la version stable du Creators Update est disponible en téléchargement, avant la date de sortie qui aurait été prévue
Partager