WSL 2 : DĂ©veloppez sous Windows comme sous đ§Linux

Quoi ?! Tu es dĂ©veloppeur et tu nâes pas sous Linux ? đ±
â CollĂšgue relou đ€Ą
Qui nâa jamais entendu ce genre de remarque ? Quel dĂ©veloppeur nâa jamais reçu un « Windows câest de la đ© » ? Câest bien connu : un VRAI dĂ©veloppeur est barbu et code avec Vim sous Linux ?
Je vais ĂȘtre honnĂȘte avec vous : On vous a lĂ©gĂšrement menti. En rĂ©alitĂ©, chacun est libre dâutiliser le systĂšme quâil souhaite. On peut ĂȘtre un bon dĂ©veloppeur et travailler sur Windows, tout comme on peut ĂȘtre UI Designer et ne pas ĂȘtre sous MacOS ! Malheureusement, les « religions » chez les dĂ©veloppeurs ont la vie longueâŠ
Toutefois, il y a quand mĂȘme un fond de vĂ©ritĂ© derriĂšre ce Troll. Que vous soyez dĂ©veloppeur, devOps ou bien administrateur-systĂšme, un environnement Linux vous donnera accĂšs Ă des utilitaires trĂšs pratiques qui ne sont malheureusement pas disponibles sous Windows.
Voyons comment bĂ©nĂ©ficier dâun systĂšme Linux embarquĂ© dans Windows afin de pouvoir lancer des commandes Linux sous Windows.
PrĂ©paration de Windows et installation de WSL / Linuxđ§
Le sous-systĂšme Windows pour de Linux (WSL) peut maintenant ĂȘtre installĂ© Ă partir du Microsoft Store. Câest le mĂȘme WSL que celui qui sâinstalle Ă partir de la ligne de commandes, il sâagit juste dâun mĂ©canisme de livraison diffĂ©rent. Lâinstallation du WSL Ă partir du Microsoft Store facilitera lâobtention des derniĂšres mises Ă jour WSL Ă lâavenir.
Depuis windows-11-22h2 (Septembre 2022)
WSL permet dâexĂ©cuter un environnement Linux directement sous Windows, sans nĂ©cessiter un dual-boot ou lâinstallation dâune machine-virtuelle (VM).
LâintĂ©rĂȘt principal est de pouvoir lancer des outils en ligne de commande sous Linux (grep
, tail
, etc), de lancer des scripts (bidule.sh
) ou des applications GNU/Linux (git
, php
, NodeJS
, Python
, MongoDB
, etc).
Ouvrez PowerShell en tant quâadministrateur et exĂ©cutez les commandes suivantes pour activer la fonctionnalitĂ© WSL ainsi que la virtualisation :
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

RedĂ©marrez votre ordinateur pour terminer lâinstallation de WSL. A tout de suite ! đ
Mise Ă jour vers WSL 2 : Le nouveau sous-systĂšme Windows pour Linux đ
WSL 2 est une nouvelle version de lâarchitecture, sortie en 2020, qui amĂ©liore les performances du systĂšme de fichiers Linux (mais ralenti lâaccĂšs aux fichiers Windows depuis linux) et augmente la compatibilitĂ© pour certaines applications (đ Coucou Docker !).
đ AprĂšs le redĂ©marrage, il ne vous reste plus quâĂ installer la mise Ă jour « Latest Linux Kernel » pour disposer de WSL 2.
Téléchargez la mise à jour WSL 2, puis installer là .
Ouvrez PowerShell en tant quâadministrateur et exĂ©cutez les commandes suivantes pour que les images fonctionnent avec WSL version 2 par dĂ©faut (pensez Ă faire les mises Ă jour de Windows si vous rencontrez des problĂšmes) :
wsl --set-default-version 2
Installer votre distribution linux prĂ©fĂ©rĂ©e đ
Pour ma part, je vais partir sur une Ubuntu LTS 20.04 (avril 2020) mais libre à vous de préférer Debian, Fedora, openSUSE, Kali Linux, Pengwin ou Alpine WSL.
Vous pouvez procéder en ligne de commande ou passer par Microsoft Store.
A) Pour la ligne de commande : Ouvrez PowerShell en tant quâadministrateur et exĂ©cutez les commandes suivantes pour lister les distributions et pour installer celle de votre choix
wsl --list --online
wsl --install --d ubuntu-20.04
B) Si vous préférez passer par le store : Rendez-vous sur le Microsoft Store WSL pour choisir votre distribution.

Choisissez votre distribution Linux puis cliquez sur Télécharger / Installer

Une fois lâinstallation terminĂ©e, vous pouvez lancer lâapplication « Ubuntu » depuis le menu dĂ©marrer.
La 1Ăšre fenĂȘtre vous demandera de crĂ©er un compte utilisateur (Cette Ă©tape nâest pas obligatoire, vous pouvez quitter le processus et relancer « Ubuntu » pour ĂȘtre uniquement en root đ).

Découvrir quelques fonctionnalités de base de WSL2
FĂ©licitation, vous avez maintenant un systĂšme Linux nativement sous Windows ! Voici quelques astuces
Basculer de lâinterprĂ©teur de commande Windows Ă Linux
Que vous soyez en ligne de commande avec le vieux CMD.exe
ou sous le Terminal de PHPStorm, vous pouvez basculer sous Linux avec la commande bash
.

Installer plusieurs distributions en parallĂšle
Vous avez la possibilitĂ© dâinstaller plusieurs distributions GNU/Linux en mĂȘme temps. Pour lancer spĂ©cifiquement Ubuntu, tapez simplement la commande ubuntu
.
Mettre Ă jour Ubuntu
Avant dâinstaller un logiciel, vous devriez procĂ©der Ă une mise Ă jour de la version dâUbuntu que nous venons dâinstaller. Lancez la commande suivante .
apt-get update
apt-get upgrade
Installer des utilitaires sous Linux.
Si vous nâĂȘtes pas encore Ă lâaise avec Linux, sachez que vous pouvez installer des utilitaires Linux avec la commande apt-get install <SOFTNAME>
.
Voici lâinstallation de PHP pour lâutiliser en ligne de commande ou pour faire du composer
par la suite (Je conseille maintenant dâinstaller PHP avec WSL plutĂŽt que dâinstaller PHP sous Windows).
apt-get install php

Accédez à vos fichiers Windows depuis Linux
Les deux systÚmes de fichiers sont liés entre Linux et Windows. Sous Ubuntu, le disque C:\ de Windows est accessible dans le dossier de montage \mnt\c\
.
Utiliser un service Linux (comme Apache) depuis Windows
Si vous installez un service réseau comme Apache, MySQL ou autre, vous pouvez y accéder depuis Windows. Par exemple :
apt-get install apache2
service apache2 restart
VĂ©rifiez que le service Apache tourne correctement
top


Lancer des applications Windows depuis Linux
Vous pouvez exécuter des logiciels Windows depuis Linux, ce qui pourrait permettre à un script Linux de lancer des binaires sous Windows.

Exécuter des script .sh sous Windows
Vous travaillez avec dâautres dĂ©veloppeurs sous Linux ou vous avez envie de lancer un projet open-source mais celui-ci contient des scripts Linux.
Plus besoin dâadapter les scripts pour Windows. Vous pouvez maintenant passer sur Linux et exĂ©cuter le script .sh
dans le rĂ©pertoire courant. đ
Ăteindre les services Linux
Vous avez lancé quelques services sous Linux et vous souhaitez « éteindre » votre Linux, lancez la commande suivante sous Windows :
wsl --shutdown
Downgrade vers WSL1
Bien que WSL2 arrive avec un gain de performance pour le systĂšme de fichier Linux, lâarchitecture peut impacter les performance pour lâaccĂšs au systĂšme de fichier Windows depuis Linux. Dit autrement, WSL2 est bien pour lancer des service comme docker qui vont accĂ©der aux fichiers Linux mais WSL1 reste meilleur pour lancer un script Node qui devra analyser et traiter des fichiers prĂ©sent sous Windows.
VĂ©rifier la version de vos distributions Linux :
wsl -l -v
En cas de problÚme de vitesse sur ce type de scénario, essayez de passer votre image « Ubuntu » à WSL1 :
wsl.exe --set-version Ubuntu 1
Windows †Linux
Microsoft a fait beaucoup de chemin depuis quelques annĂ©es. Aujourdâhui, Linux est pleinement intĂ©grĂ© Ă Windows et les deux Ă©cosystĂšmes peuvent tourner conjointement sur le mĂȘme environnement.
Tout comme Microsoft a fait le choix de la technologie Chromium pour revenir dans la course des navigateurs modernes avec Edge, Microsoft a fait le choix de Linux pour reconquérir les développeurs.
Un autre marqueur fort de ce nouveau virage. Microsoft a annoncĂ© quâil arrĂȘtera de sortir les versions de PHP pour Windows Ă partir de PHP 8. Beaucoup y voient le signe que WSL2 a atteint une maturitĂ© suffisante.
Et vous, quâen pensez-vous ? NâhĂ©sitez pas Ă partager votre avis via Twitter đ