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
Exemple avec 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
Ctrl+C pour quitter 😜

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 😉

Ressources récentes