Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !

Windows 10 Mai 2020 : le nouveau sous-système Linux (WSL 2) est là, comment l'installer et l'utiliser

Bientôt avec GPU et interfaces graphiques
Windows 10 Mai 2020 : le nouveau sous-système Linux (WSL 2) est là, comment l'installer et l'utiliser

Avec Windows 10 Mai 2020, la seconde version du sous-système Linux est désormais disponible. Se basant sur la virtualisation et l'intégration d'un noyau Linux complet au sein de l'OS de Microsoft, elle implique quelques modifications dans son installation et son fonctionnement. Voici ce qu'il faut retenir.

En 2016, Microsoft ouvrait la possibilité d'exploiter des distributions Linux sous Windows, Ubuntu en tête. C'était alors sous forme d'un accès limité à Bash via un terminal spécifique, reposant sur une brique nommée sous-système Linux (WSL). Une fonctionnalité présente dans toutes les éditions de l'OS : Famille comme Professionnel.

Ces instances étaient exécutées dans des processus « pico », les appels au noyau Linux étant convertis à la volée. L'objectif était à l'époque de faire fonctionner des binaires Linux ELF64, et obtenir un environnement Linux en lignes de commandes le plus complet possible. Avec l'accès à un système de fichiers bénéficiant lui aussi d'une adaptation entre les univers Linux et Windows. Une solution à mi-chemin entre émulation et machine virtuelle, se lançant instantanément.

windows wsl linux ubuntu bash
Le sous-système Linux tel qu'implémenté à ses débuts

Le sous-système Linux passe la seconde

Très limité au départ, WSL s'est progressivement renforcé. L'année dernière, son système de fichiers a été revu en profondeur, afin d'améliorer ses performances. Microsoft avait alors dévoilé une partie de ses plans pour la suite, avec l'arrivée d'une seconde version du sous-système apportant une évolution majeure : l'intégration d'un noyau Linux.

Ainsi, il n'était plus question d'assurer une conversion et une gestion partielle, mais bien d'embarquer tout le nécessaire pour retrouver ce qui fait un système Linux complet, virtualisé sous Windows.

De quoi fondamentalement changer l'expérience WSL, tout en gardant ce qui fait sa force : un lancement très rapide, sans outil spécifique ou configuration d'une machine virtuelle n'ayant accès qu'à une portion de la puissance de la machine hôte. Mais WSL 2 apporte surtout de nouvelles possibilités, documentées au fil des mois (comme la gestion mémoire).

Là encore le rapprochement avec Canonical a été essentiel, les deux entreprises communiquant main dans la main sur ce que permet WSL 2, à longueur de billets de blogs et autres vidéos :


Une liste de lecture complète de Canonical et Microsoft évoquant WSL 2

Il en est de même pour Docker qui propose ainsi un accès de choix à ses outils aux développeurs sous Windows, qui peuvent désormais très facilement les exploiter, les interfacer avec Visual Studio Code, etc.  

WSL 1 et 2 ont pour le moment vocation à coexister, l'utilisation du premier étant parfois plus pertinente. Pour Microsoft, c'est notamment le cas « si vous souhaitez utiliser votre distribution WSL Linux pour accéder aux fichiers de projet dans le système de fichiers Windows et que ces fichiers ne peuvent pas être stockés dans le système de fichiers Linux ». De manière générale, le système de fichiers de WSL 1 est ainsi jugé plus performant pour le moment « si vous utilisez des applications Windows pour accéder à des fichiers Linux ».

Mais le système de fichiers de WSL 2 offre de meilleures performances lorsque vous utilisez des fichiers Linux depuis des applications Linux. La conversion des permissions de l'un à l'autre et ses paramètres sont détaillés ici.

Microsoft WSL 2
Contrairement à ce qui est indiqué par Microsoft, les versions récentes de VMWare et VirtualBox peuvent cohabiter avec Hyper-V/WSL

Faire de Windows 10 LA distribution Linux de bureau pour les développeurs

Microsoft a profité de cette période pour travailler en parallèle sur son nouveau Terminal, lui aussi entièrement repensé et profitant de ce qui fait le succès de nombreuses applications du genre : gestion plus étendue des caractères, accélération graphique, possibilité d'ouvrir plusieurs onglets et panneaux, de personnaliser l'interface, etc.

Prochaine étape : le gestionnaire de paquets, avec WinGet (qui demande encore du travail). L'éditeur voudrait-il ainsi faire de Windows 10 la première distribution Linux de bureau ? D'une certaine manière. Mais il veut surtout que les développeurs trouvent dans son OS le meilleur des deux mondes, pour les inciter à y rester. 

Un travail de longue haleine, trouvant sa première implémentation publique avec Windows 10 Mai 2020, qui perdurera avec le support des GPU pour le calcul, des interfaces graphiques, etc. Notez que Visual Studio Code a spécialement été adapté pour profiter du sous-système Linux. Une extension spécifique est ainsi proposée aux utilisateurs (en préversion) : Remote - WSL. Sa documentation détaillée est disponible par ici.

Installer et configurer WSL 2

L'activation du sous-système Linux n'a jamais été un processus parfaitement simple et fluide. Ce n'est pas tellement un problème pour un outil s'adressant principalement aux développeurs, mais Microsoft a déjà promis que cela changerait dans une prochaine version de Windows 10, une unique commande devant suffire. Tant mieux.

D'ici là, il faut encore un peu de travail manuel. La v2 n'a d'ailleurs rien arrangé puisqu'elle nécessite que la virtualisation soit activée sur le système. Cela peut d'ailleurs poser quelques problèmes, notamment aux utilisateurs déjà dans un environnement virtualisé (comme un PC Shadow par exemple). Mais aussi ceux qui utilisent l'outil de gestion Ryzen Master d'AMD qui refuse d'être lancé sur une machine où la virtualisation est active, allez savoir pourquoi.

Il faut tout d'abord activer le sous-système Linux et la plateforme de machine virtuelle dans la liste des fonctionnalités Windows (OptionalFeatures.exe). Vous pouvez également passer par ces commandes PowerShell (Administrateur) :

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Redémarrez ensuite votre machine. Puisque WSL v1 et v2 coexistent, une distribution peut être installée dans une version ou l'autre, être convertie de l'une à l'autre, etc. Par défaut, v1 est utilisée. Pour que ce soit la v2, il faut que le noyau Linux soit installé. Ce n'est pas encore automatique, il faut donc le télécharger :

Une fois que ce sera fait, validez cette commande :

wsl --set-default-version 2

Vous pouvez ensuite vous rendre sur le Microsoft Store ou en suivant la procédure manuelle pour télécharger et installer la distribution de votre choix comme Alpine, Debian, Kali Linux, OpenSUSE, Ubuntu, etc.

Voici une liste de quelques commandes utiles :

wsl // lance la distribution par défaut dans WSL
wsl -l // affiche la liste des distributions installées
--all // même celles en cours de (dé)installation
--running // seulement celles en cours
-- quiet // seulement les noms
-- verbose // tous les détails

wsl -s distribution // définit la distribution à utiliser/lancer par défaut
wsl --set-version distribution version // convertit une distribution à WSL (1) ou WSL 2 (2)

wsl --shutdown // arrête toutes les distributions et la VM WSL 2
wsl -t distribution // arrête une distribution en particulier

Vous pouvez également demander à une distribution d'exécuter une commande précise : 

wsl -e commande
-d distribution // vise une distribution en particulier
-u utilisateur // vise un utilisateur en particulier

Les distributions peuvent être exportées et importées via une archive au format TAR, pour WSL v1 ou v2 :

wsl --export distribution fichier
wsl --import nom_de_distribution dossier_de_destination fichier --version 1/2

Par défaut, l'espace de stockage passe par un disque dur virtuel (VHD), alloué jusqu'à un maximum de 256 Go. Si vous deviez avoir besoin d'un quota plus élevé, il faudra en passer par une procédure spécifique, détaillée ici. Vous pouvez également limiter l'accès aux ressources : mémoire (80 % par défaut), cœurs CPU, etc. La procédure est détaillée par là.

Accéder aux fichiers et au réseau d'une distribution WSL 2

Les fichiers des distributions Linux sont accessibles depuis votre disque système dans l'explorateur, mais pour éviter tout conflit, le plus efficace est d'utiliser l'interface mise en place par Microsoft. Pour cela, deux solutions s'offrent à vous. La première permet d'ouvrir l'explorateur de fichiers dans le répertoire courant depuis le bash WSL :

explorer.exe .

Dans ce dernier, vous pouvez également vous rendre à l'emplacement réseau \\wsl$\ qui affichera l'ensemble des distributions Linux du système accessibles via WSL et actuellement actives. Pendant la bêta de Windows 10 Mai 2020, l'ajout d'une section Linux à l'Explorateur de fichiers avait été évoqué, mais elle n'est pas encore présente.

Microsoft WSL 2 Visual Studio Code

Si Visual Studio Code est installé sur la machine, vous pouvez le lancer en ouvrant le dossier courant d'une simple commande (voir ci-dessus). Pensez également à installer l'extension Remote - WSL.

code .

Du point de vue du réseau, les différentes distributions Linux ne vont pas chercher leurs paramètres (IP, DNS, etc.) au niveau de votre routeur et du serveur DHCP. Elles sont vues comme faisant partie de la machine, avec un périphérique réseau virtuel Hyper-V gérant leur adresse IP (172.x.x.x dans notre cas), l'accès internet, etc. 

Ainsi, si vous exposez des services via des conteneurs Docker, un serveur HTTP ou autre, ils seront accessibles depuis l'hôte via l'IP 127.0.0.1 (ou localhost). Mais il est pour le moment impossible d'y accéder simplement depuis une autre machine de votre réseau local, et donc d'exposer ces services à l'extérieur. Plusieurs méthodes (notamment via des redirections) sont néanmoins exploitables en attendant que Microsoft améliore la situation, dans de prochaines versions.

110 commentaires
Avatar de eglyn Abonné
Avatar de eglyneglyn- 02/06/20 à 09:22:04

Je l'ai installé, et ça marche vraiment super bien, vraiment de bonnes améliorations. Très pratique d'ouvrir un fichier avec vscode comme on l'ouvre avec nano ou vim :)
 
Avec Terminal qui passe en v1, que du bon :)

 

Avatar de SomeDudeOnTheInternet Abonné
Avatar de SomeDudeOnTheInternetSomeDudeOnTheInternet- 02/06/20 à 09:32:17

Pour l'avoir testé, c'est vraiment BEAUCOUP plus rapide que WSL 1, notamment sur les fichiers internes à la distribution (apt install, etc.). En terme de compatibilité c'est au poil aussi vu qu'on peut enfin exécuter Docker nativement :)

Avatar de Cydoo Abonné
Avatar de CydooCydoo- 02/06/20 à 09:32:58

juste une question, on peut le télécharger ou exactement le nouveau terminal ? :)

Avatar de Nozalys Abonné
Avatar de NozalysNozalys- 02/06/20 à 09:36:38

"Faire de Windows 10 LA distribution Linux de bureau pour les développeurs". Bah c'est dommage, mais vu qu'avec WSL2 il faut choisir entre WSL et Virtualbox/VmWare... c'est un peu loupé pour le moment.

Je peux pas choisir l'un sans l'autre en fait. Du coup, ça ne va pas me permettre d'éviter d'avoir 2 machines... ou juste VirtualBox.

S'ils règlent ce dernier détail, ça va envoyer du poney.

Édité par Nozalys le 02/06/2020 à 09:37
Avatar de eglyn Abonné
Avatar de eglyneglyn- 02/06/20 à 09:37:59

Qu'est ce que tu fais tourner sur une VM qui ne peut pas tourner sur WSL ?

Avatar de tazvld Abonné
Avatar de tazvldtazvld- 02/06/20 à 09:39:28

Je sais qu'avec WSL1 on peut télécharger directement les distributions sans passé par le store (voir doc), est que c'est possible avec WSL2 ?

Avatar de Nozalys Abonné
Avatar de NozalysNozalys- 02/06/20 à 09:43:02

Ben WSL c'est pour une distri unix. Je ne peux pas faire tourner un autre OS Windows en dehors d'une VM. Je me trompe ?

Avatar de tiret Abonné
Avatar de tirettiret- 02/06/20 à 09:44:14

Perso je préfère garder ma Debian comme distro Linux de bureau. Aucune envie d'avoir des mouchards Microsoft qui tournent en permanence.

Avatar de eglyn Abonné
Avatar de eglyneglyn- 02/06/20 à 09:44:48

ah oui :transpi: il y a d'autres OS que Linux :oops:

Édité par eglyn le 02/06/2020 à 09:45
Avatar de eglyn Abonné
Avatar de eglyneglyn- 02/06/20 à 09:46:55

tiret a écrit :

Perso je préfère garder ma Debian comme distro Linux de bureau. Aucune envie d'avoir des mouchards Microsoft qui tournent en permanence.

Ca s'adresse aux personnes qui dev à la fois sur Windows et Linux surtout :)
C'est en cela que c'est très pratique.

Ou alors tu joue sur Windows, mais tu dev sur Linux, ça marche aussi :)

Édité par eglyn le 02/06/2020 à 09:47
Il n'est plus possible de commenter cette actualité.
Page 1 / 11