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

Le , par Coriolan, Chroniqueur Actualités
À 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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de emutramp emutramp - Membre habitué https://www.developpez.com
le 03/04/2017 à 19:58
WSL utilise toujours le noyau Windows ; WSL s’appuie sur le noyau Windows
Tant que Microsoft s'obstinera a cacher les sources de son noyau, rien de ce qu’ils feront pour le système d’exploitation Windows ne pourra être considéré comme une amélioration.

https://www.cvedetails.com/product-l...g-Systems.html

Pour rafraîchir la mémoire aux petits troll du forum concernant la sécurité d’un OS ouvert a celui d’un fermé
Avatar de CaptainDangeax CaptainDangeax - Membre actif https://www.developpez.com
le 04/04/2017 à 11:41
Franchement, je ne vois pas l'intérêt d'utiliser bash et les autres outils GNU sous Windows. Il est très facile d'installer une machine virtuelle et d'y faire ses développements. De plus, s'il s'agit de développements avec les outils GNU, leur destination finale est un serveur exécutant une version native de GNU/Linux. Il y aura donc une phase de qualification sur la plateforme native. Donc, aucun intérêt aux outils GNU sous Windows. Et puis, on peut tout-à-fait travailler avec un poste de travail sous GNU/Linux, quitte à se connecter à un TSE pour avoir accès aux outils spécifiques Windows.
Avatar de Drone Drone - Membre régulier https://www.developpez.com
le 04/04/2017 à 14:34
L'intérêt est multiple, personnellement j'ai déjà hâte de pouvoir utiliser un serveur SSH "natif" et fonctionnel sur Windows.
Avatar de Sodium Sodium - Membre éprouvé https://www.developpez.com
le 05/04/2017 à 9:11
Quid du support du sshfs dans cette mise à jour ?

Franchement, je ne vois pas l'intérêt d'utiliser bash et les autres outils GNU sous Windows. Il est très facile d'installer une machine virtuelle et d'y faire ses développements. De plus, s'il s'agit de développements avec les outils GNU, leur destination finale est un serveur exécutant une version native de GNU/Linux. Il y aura donc une phase de qualification sur la plateforme native. Donc, aucun intérêt aux outils GNU sous Windows. Et puis, on peut tout-à-fait travailler avec un poste de travail sous GNU/Linux, quitte à se connecter à un TSE pour avoir accès aux outils spécifiques Windows.
L'intérêt justement c'est de ne pas avoir à jongler entre Windows et une machine virtuelle qui de plus pompe de la RAM. Je trouve certaines fonctionnalités du terminal linux très pratiques mais je préfère très largement l'ergonomie de Windows.
Avatar de Aurelien.Regat-Barrel Aurelien.Regat-Barrel - Expert éminent https://www.developpez.com
le 05/04/2017 à 18:10
Citation Envoyé par CaptainDangeax Voir le message
Franchement, je ne vois pas l'intérêt d'utiliser bash et les autres outils GNU sous Windows. Il est très facile d'installer une machine virtuelle et d'y faire ses développements.
Une VM c'est lourd et pénible à utiliser. Là tu as bash qui tourne dans sa propre console, qui se lance en moins d'un seconde, et les fichiers sont directement accessibles depuis l'explorateur Windows.

Mais tout ça n'est certainement qu'un début. C'est d'abord une réponse aux développeurs tentés de quitter Windows pour Mac parce que ce système offre une expérience Unix beaucoup plus fluide (y'a qu'à voir le nombre de Mac dans une conf de dév!).

On peut rêver à ce qu'ils implémentent un serveur X11 et qu'on puisse avoir les applis graphiques Linux ouvertes côte à côte avec les applis Windows...

On peut s'attendre à pouvoir lancer Docker... et alors là...
Avatar de SurferIX SurferIX - Membre chevronné https://www.developpez.com
le 05/04/2017 à 21:34
Microsoft a bien vu qu'il allait inévitable se faire manger par Apple et Linux, et essaie de phagocyter Linux. Bien joué.
Avatar de Stéphane le calme Stéphane le calme - Chroniqueur Actualités https://www.developpez.com
le 15/04/2017 à 19:51
Windows 10 Creators Update : Microsoft présente les nouveautés du côté de la console Bash/WSL,
au programme, plus de compatibilité et le support d'Ubuntu 16.04

Plus de compatibilité

L’un des objectifs clés de Windows 10 Creators Update était d'améliorer considérablement la compatibilité de WSL (Windows Subsystem for Linux) avec l'interface d'appel système Linux (SCI). Les ingénieurs Microsoft expliquent qu’en développant et en améliorant leurs implémentations syscall, ils augmentent les outils, les plateformes, les environnements d’exécution et autres dont leurs utilisateurs ont besoin pour travailler.

Aussi, ils assurent que dans la mise à jour, la plupart des outils traditionnels développeurs fonctionnent comme prévu, notamment :
  • les outils de base : apt, sed, grep, awk, top, tmux, ssh, scp, etc. ;
  • les Shell : Bash, zsh, poisson, etc. ;
  • les outils de développement : vim, emacs, nano, git, gdb, etc. ;
  • les langages et plateformes : Node.js et npm, Ruby et Gems, Java et Maven, Python et Pip, C / C ++, C # et .NET Core et Nuget, Go, Rust, Haskell, Elixir / Erlang, etc. ;
  • les systèmes et services : sshd, Apache, lighttpd, nginx, MySQL, PostgreSQL ;
  • et bien d’autres encore.

« Certains d'entre vous ont peut-être suivi des explorations intrépides dans la gestion des applications et desktop X / GUI sur WSL. Bien que nous n'acceptons pas explicitement les applications/desktop X/GUI sur WSL, nous ne faisons rien pour bloquer/empêcher leur exécution. Donc, si vous parvenez à faire que votre éditeur préféré, votre desktop, votre navigateur ou autre fonctionne, SUPER ! Mais sachez que nous concentrons toujours tous nos efforts sur la réalisation d'une expérience de ligne de commande vraiment solide, en exécutant tous les outils de développement de ligne de commande dont vous avez besoin », ont précisé les développeurs.

Support d’Ubuntu 16.04

Alors que Windows 10 Anniversary Update apportait le support d’Ubuntu 14.04, avec Windows 10 Creators Update, WSL prend désormais en charge Ubuntu 16.04. Toute nouvelle instance Bash installée sur Windows 10 Creators Update va maintenant installer Ubuntu 16.04.

Pour savoir quelle version d’Ubuntu vous utilisez, il vous suffit d’entrer ces instructions dans votre Bash sur Ubuntu sur la console Windows

Code : Sélectionner tout
1
2
3
4
5
6
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
Codename:       xenial
Les ingénieurs précisent que les instances existantes Ubuntu 14.04 ne SONT PAS automatiquement mises à jour vers la version 16.04. Vous devez effectuer manuellement la mise à jour vers Ubuntu 16.04 soit en :
  • supprimant l’ancienne puis en installant la nouvelle instance (option recommandée) : cette méthode va détruire votre distribution ainsi que tous les fichiers que vous avez sauvegardés dans le système de fichiers Linux. Il faut donc vous assurer d’avoir une copie de vos fichiers dans un autre système de fichiers avant d’entamer cette procédure. Une fois que vous serez prêt, il vous suffira de lancer les commandes suivantes à partir d'une console Cmd / PowerShell.

    Code : Sélectionner tout
    1
    2
    3
    C:\> lxrun /uninstall /full /y
    ...
    C:\> lxrun /install
    La commande lxrun /install ci-dessus va ensuite télécharger et installer une nouvelle copie d'Ubuntu 16.04 sur votre machine ;
  • mettant à niveau l’ancienne instance : si votre instance Ubuntu est particulièrement complexe à configurer, vous pouvez opter pour la mettre à niveau, même si cela ne se traduit pas par une instance optimale.

Support de notification de changement de fichier (INOTIF)

Une autre amélioration qui a été très demandée est la capacité d'un outil à s'inscrire dans la liste des notifications lorsqu'un fichier est modifié. C'est une fonctionnalité essentielle utilisée fréquemment par les développeurs Web, Node.js, Ruby et Python, et bien d'autres.

Par exemple, si vous travaillez sur un projet de site Web node.js, éditez votre source dans vim, Emacs, Sublime Text, VS Code, etc., chaque fois que vous enregistrez votre code, vous voudrez peut-être que votre serveur Web recharge votre nouvelle page modifiée Source afin que vous puissiez actualiser votre navigateur et voir vos modifications réfléchies immédiatement.

Eh bien, maintenant vous le pouvez ! WSL prend en charge inotify qui permet aux applications de s'inscrire dans la liste des notifications de changement de système de fichiers, qui peuvent déclencher des actions, comme la reconstruction d'un projet ou le redémarrage d'un serveur Web local. Cela fonctionne pour les sites DrvFS et LXF internes.

Fait important, ce support de notification de changement de fichier prend également en charge les notifications de modification de fichier pour les fichiers dans le système de fichiers Windows. Cela signifie que vous pouvez éditer votre source de projet stockée sur votre système de fichiers Windows à l'aide d'un éditeur GUI Windows tel que VSCode, Visual Studio, SublimeText, Notepad ++, etc., avoir node.js qui fonctionne dans Bash/WSL en desservant votre site localement, et lire vos modifications lorsque vous enregistrez vos fichiers.


Source : Microsoft
Avatar de henryII henryII - Nouveau membre du Club https://www.developpez.com
le 26/04/2017 à 21:34
C'est bien.

On peut installer Ubuntu sur Windows pour utiliser un OS gratuit et payer la licence Windows !
Je trouve que c'est une bonne idée.

Ca a un quelconque intérêt ?

Si je veux utiliser Ubuntu, j'installe Ubuntu, non ? Pas Windows...
J'installe UBuntu pour ne pas installer Windows...

Quoi? J'ai dit une connerie ?
Avatar de Christian Olivier Christian Olivier - Rédacteur https://www.developpez.com
le 31/07/2017 à 3:36
Windows 10 : le sous-système Linux (WSL) quitte la phase bêta
la fonctionnalité sera entièrement supportée dans Windows 10 Fall Creators Update

Microsoft a annoncé sur une page de son blog officiel que le sous-système Linux de Windows 10 (WSL) ne sera bientôt plus considéré comme une fonctionnalité bêta et sera entièrement pris en charge au sein de son système d’exploitation Windows 10. Cette mesure devrait être introduite et généralisée par le biais de la mise à jour de Windows 10 baptisée Fall Creators Update qui doit arriver plus tard, mais avant la fin de cette année.

Il faut rappeler que la mise à jour Windows 10 Fall Creators Update va embarquer des fonctionnalités de type EMET (Enhanced Mitigation Experience Toolkit) censées doter Windows 10 de mécanismes de prévention pour mitiger l’impact des attaques, et donc rendre les failles de sécurité plus difficiles à exploiter, Microsoft a également annoncé l’ajout d’une fonctionnalité supplémentaire dans Windows Defender baptisée « Controlled folder access ». Ces fonctionnalités seront gérées via une nouvelle fonctionnalité appelée Windows Defender Exploit Guard.

Certains utilisateurs de la build 16251 du programme Windows Insider ont déjà pu se rendre compte que le WSL n’est plus marqué en tant que fonctionnalité bêta dans les options de configuration de leur système d’exploitation. L’image ci-dessous est une capture de la fenêtre « ajout et suppression de fonctionnalités » sous Windows, accessible depuis le panneau de configuration, qui liste les différentes fonctionnalités disponibles au sein des systèmes d’exploitation Windows et autorise leur activation ou leur désactivation. Vous remarquez que l’attribut « bêta » n’est plus utilisé pour caractériser l’état de la fonctionnalité WSL.


À titre de rappel, le sous-système Linux de Windows 10, abrégé WSL, a été mis en place par Microsoft et rendu disponible via le programme Windows Insider afin de permettre aux utilisateurs de Windows d’avoir accès et de faire tourner des applications Linux sous Windows. Plus concrètement, il s’agit d’une couche de compatibilité qui autorise l’exécution de binaires Linux de manière native sur Windows 10 évitant ainsi à l’utilisateur de recourir à une machine virtuelle.

Microsoft en a également profité pour faire part des changements qui accompagnent cette évolution. Pour continuer à améliorer WSL, l’éditeur de Windows a notamment évoqué le fait que les utilisateurs auront désormais la possibilité de signaler les bogues et autres problèmes éventuels qui s’y rapportent en se servant des mécanismes d’aide et de support standards. Ces mécanismes autorisent une gestion plus formelle des processus de résolution des problèmes. Les utilisateurs pourront également envoyer des commentaires directement aux équipes en charge par le biais de l’application Windows 10 Feedback Hub.

Microsoft précise que ses équipes continueront de maintenir un support aussi efficace que possible pour la résolution des problèmes liés à WSL sur GitHub, Twitter, Stack Overflow, Ask Ubuntu, Reddit et d’autres.

Source : Blog Microsoft

Et vous ?

Qu'en pensez-vous ?

Voir aussi

Build 2017 : après Ubuntu, Fedora et SUSE annoncés sur Windows 10, les distributions Linux seront également disponibles sur Windows Store
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
Avatar de Spleeen Spleeen - Membre du Club https://www.developpez.com
le 31/07/2017 à 11:09
Du coup, j'ai deux questions : est-ce que l'option sera activé par défaut et est-ce que ça va accélérer les logiciels de virtualisation, type VmWare (lorsque que c'est du Linux derrière) ?
Offres d'emploi IT
Linéarisation d'amplificateur RF H/F
Atos - Provence Alpes Côte d'Azur - Aix-en-Provence (13100)
Recherche Développeur C++ / OpenGL
6L6 Interactive - Ile de France - Gentilly (94250)
Technicien Télécommunications (H/F)
Links IT SERVICES - Midi Pyrénées - Toulouse

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil