Présentation de Windows Subsystem for Linux (WSL)
Windows et Linux sont les systèmes d’exploitation les plus utilisés dans le monde. Cela étant, ces deux systèmes sont radicalement différents : Windows est un produit commercial de Microsoft, une des plus grandes entreprises de logiciels au monde. À l’inverse, Linux est un « Free and Open Source Software » (FOSS), l’œuvre commune de milliers de bénévoles.
Windows est essentiellement utilisé dans des environnements privés ou professionnels. Linux tourne sur les serveurs et ordinateurs de professionnels et de particuliers passionnés. Linux est notamment fréquemment utilisé par les développeurs. Par ailleurs, ce système d’exploitation libre est aussi à la base du système d’exploitation mobile Android.
Avec Windows Subsystem for Linux (WSL), ou sous-système Windows pour Linux, les utilisateurs de Windows accèdent avec une méthode relativement simple aux milliers de packs de logiciels et outils open source disponibles gratuitement. Auparavant, on devait installer une machine virtuelle pour y parvenir ou redémarrer l’ordinateur dans un environnement Linux en dual boot dédié. WSL ne demande que quelques clics.
Qu’est-ce que le sous-système Windows pour Linux (Windows Subsystem for Linux / WSL) ?
Windows Subsystem for Linux est une couche de compatibilité qui permet d’exécuter des programmes natifs de Linux directement à partir de l’interface en lignes de commande de Windows. Plus spécifiquement, WSL permet d’exécuter des fichiers binaires de Linux 64 bits respectant le standard « Executable and Linkable Format » (ELF).
Le sous-système Windows pour Linux est disponible à partir de Windows 10. Pourtant, l’objectif de Microsoft, à savoir faciliter le travail des utilisateurs Windows avec les outils Linux depuis leur environnement habituel, va encore plus loin. Ainsi, WSL est issu du projet « Microsoft Services for UNIX » (SFU / Interix), qui était lui-même une évolution de « POSIX Subsystem », déjà intégré à Windows NT. Avec Windows Subsystem for Linux 2 (WSL2), ce développement poursuit son évolution.
Avant la sortie de WSL, les utilisateurs devaient effectuer un travail un peu plus conséquent pour réunir le meilleur des univers Windows et Linux. En principe, deux méthodes s’offraient à eux pour rendre les logiciels Linux exécutables sous Windows :
- Utilisation d’une machine virtuelle : dans ce cas, on procédait à l’installation complète de Linux en tant qu’ordinateur virtuel sous Windows. L’approche est très accessible pour l’utilisateur et permet l’utilisation complète des applications Linux souhaitées, mais présuppose d’avoir de bonnes ressources matérielles. De plus, l’échange entre les programmes en cours d’exécution des deux systèmes d’exploitation est limité.
- Utiliser l’environnement d’exécution Linux Cygwin : celui-ci doit être installé sous Windows et permet d’exécuter un grand nombre des logiciels Linux les plus appréciés. Avec Cygwin, l’échange entre les programmes en cours d’exécution de Windows et de Linux est limité.
Par ailleurs, les utilisateurs pouvaient installer Linux en parallèle d’une installation Windows existante. Cette installation baptisée dual boot exige cependant de redémarrer l’ordinateur pour passer d’un système d’exploitation à l’autre. Il est donc impossible d’échanger des informations entre les programmes en cours d’exécution de Windows et de Linux.
Windows Subsystem for Linux fonctionne sans machine virtuelle, ce qui le rend performant. Cependant, il n’embarque pas de noyau Linux complet et ne prend donc pas toutes les applications en charge. Plus spécifiquement, WSL seul ne permet pas l’exécution de programmes Linux avec une interface utilisateur graphique (GUI). Pour ce type d’utilisation, là encore, il existe des applications, qui nécessitent toutefois quelques étapes supplémentaires d’installation et de configuration.
Quels sont les prérequis pour utiliser WSL ?
En soi, vous n’avez pas besoin d’un système particulier pour utiliser Windows Subsystem for Linux. Votre ordinateur doit seulement être équipé d’un processeur x64 ou ARM, ce qui est le cas de pratiquement tous les systèmes modernes. Vous devrez aussi disposer de la version 64 bit de Windows 1709 ou suivantes. Si vous avez un doute sur l’édition et la version Windows que vous utilisez, vous pouvez le vérifier grâce aux méthodes suivantes :
- Appuyez sur les touches du clavier [Windows] + [R], tapez « winver » dans le champ de texte qui se présente et appuyez sur [Entrée], ou bien
- Cliquez sur Démarrer > Paramètres > Système > Informations système : sur cette page, vous trouverez l’information souhaitée dans la rubrique « Spécifications Windows ».
Comment activer/installer Windows Subsystem for Linux ?
La procédure pour activer le sous-système Windows pour Linux s’effectue en seulement quelques étapes. Voici la marche à suivre pour les particuliers :
- Dans la zone de recherche de la barre des tâches, tapez « panneau de configuration ». Ouvrez le panneau de configuration puis cliquez sur Programmes > Programmes et fonctionnalités > Activer ou désactiver des fonctionnalités Windows.
- Cochez la case pour « Sous-système Windows pour Linux ».
- Redémarrez votre ordinateur.
- Ouvrez Microsoft Store et lancez une recherche pour « Linux ». Les résultats vous proposent une sélection de distributions Linux disponibles.
- Cliquez sur la distribution Linux que vous souhaitez puis sur « Installer ». Si vous avez un doute et que vous ne savez pas quelle distribution est la bonne pour vous, nous vous recommandons d’installer « Ubuntu Linux ».
- Une fois l’installation terminée, cliquez sur « Démarrer ».
- Dans la fenêtre qui s’ouvre, au premier démarrage, le logiciel télécharge et décompresse des paquets. Cette étape peut prendre quelques minutes. Enfin, le logiciel vous invitera à définir un nom d’utilisateur et le mot de passe associé pour votre nouvelle installation Linux.
WSL vous permet d’exécuter plusieurs distributions Linux en parallèle. Dans ce cas, définissez un compte utilisateur différent pour chaque distribution.
Autre solution alternative aux deux premières étapes, vous pouvez utiliser la ligne de commande PowerShell pour activer Windows Subsystem for Linux. Dans ce cas, veuillez noter que l’interface en lignes de commande doit être exécutée en tant qu’administrateur. Une fois l’activation réussie, redémarrez votre ordinateur et suivez nos instructions à partir du point 4.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Quelles sont les premières étapes à respecter avec Windows Subsystem for Linux ?
Les premières étapes à respecter après l’activation du sous-système Windows pour Linux et l’installation d’une distribution Linux dépendent fortement de l’utilisation que vous souhaitez faire de WSL. Un développeur web aura généralement besoin d’un profil différent de celui d’un développeur d’applications. Voici un récapitulatif de quelques-unes des premières étapes les plus courantes.
Afficher et configurer la distribution Linux installée
L’outil Windows wsl.exe permet, à l’aide de lignes de commande, de configurer la distribution Linux installée. Ouvrez une interface de lignes de commandes et tapez la commande suivante pour afficher les options de la commande wsl disponibles :
wsl --help
Servez-vous de l’information de référence sur les commandes pour le sous-système Windows pour Linux officielle de Microsoft pour approfondir le sujet.
Afficher la distribution Linux installée avec Windows Subsystem for Linux
Le sous-système Windows pour Linux permet d’installer et d’utiliser plusieurs distributions de Linux. Tapez la commande suivante dans l’interface en lignes de commande pour afficher un aperçu des distributions installées :
wsl --list --verbose
Démarrer la distribution Linux par défaut avec le sous-système Windows pour Linux
Pour démarrer la distribution de Linux définie par défaut, il suffit de taper la commande « wsl » sans paramètre supplémentaire :
wsl
Vous êtes enfin connecté(e) en tant qu’utilisateur Linux et pouvez directement profiter des célèbres commandes Linux.
Mettre à jour la distribution Linux avec WSL
Dès que vous vous connectez pour la première fois à votre distribution Linux, il est recommandé de mettre à jour les paquets logiciels installés pour obtenir leur version la plus récente. Pour ce faire, utilisez la commande suivante :
sudo apt update && sudo apt upgrade
Comme il s’agit d’une opération qui a une influence sur l’ensemble du système Linux, la commande commence par « sudo ». Vous devrez ensuite renseigner le mot de passe défini au moment de l’installation de la distribution Linux.
Installer Git avec Windows Subsystem for Linux
Git est l’outil le plus répandu pour gérer les versions de projets en code. Pour installer Git dans votre distribution Linux, utilisez la commande suivante :
sudo apt install git
Exécuter des outils Linux à partir de Windows avec WSL
Nous avons déjà vu comment se connecter à la distribution Linux et utiliser des commandes Linux grâce à l’outil wsl. Il existe cependant un autre moyen d’y parvenir. Vous pouvez exécuter des commandes Linus directement depuis le shell Windows. Cette possibilité est notamment utile pour utiliser des commandes Linux dans des scripts PowerShell. Associez simplement la commande Linux souhaitée à la commande d’appel de l’outil wsl :
# Utiliser la commande Linux « ls » pour retourner le contenu du dossier actuel
wsl ls -la
Utiliser des outils Windows à partir de l’invite de commandes Linux grâce à Windows Subsystem for Linux
Comme vous l’avez compris, la commande Linux « wsl » vous permet d’exécuter des commandes directement depuis l’interface Windows ou dans des scripts PowerShell. Le fonctionnement inverse est aussi possible : vous pouvez utiliser des outils de lignes de commande Windows dans l’invite de commandes de Linux ou dans des scripts Linux.
Pour ce faire, on utilise l’outil Windows ipconfig.exe pour afficher les informations réseau, associé aux outils Linux grep pour filtrer les résultats de l’IPv4 et cut pour extraire les champs de la colonne :
ipconfig.exe | grep IPv4 | cut -d: -f2
Dans quels cas utiliser Windows Subsystem for Linux ?
En premier lieu, WSL sert à exécuter des commandes Linux dans l’interface en lignes de commandes et dans des scripts. Mais il peut aussi associer les outils Windows et Linux. Ainsi, WSL intéresse essentiellement les développeurs. Activer le sous-système Windows pour Linux facilite le développement pour le Web et la programmation open source. Windows Subsystem for Linux permet par exemple de :
- installer une ou plusieurs distribution(s) de Linux à partir du Microsoft Store ;
- utiliser des outils en ligne de commande très populaires comme « grep », « sed » ou « awk » ;
- exécuter d’autres fichiers binaires ELF 64 bits ;
- exécuter des scripts pour le shell bash et d’autres environnements shell ;
- utiliser des applications basées sur terminal comme « vim », « emacs » ou « tmux » ;
- utiliser des langages de programmation et leurs outils correspondants, comme p.ex. NodeJS, Javascript, Python, Ruby, C/C++, C# & F#, Rust, Go etc. ;
- faire tourner des serveurs Linux sur son ordinateur, comme SSHD, MySQL, Apache, lighttpd, MongoDB, PostgreSQL, etc. ;
- installer des logiciels supplémentaires avec le gestionnaire de paquets de votre distribution Linux ;
- appeler des applications Windows à l’aide de lignes de commande semblables à Unix ;
- exécuter des applications Linux sous Windows.
- Virtualisation complète avec accès root
- Trafic illimité et jusqu'à 1 Gbit/s de bande passante
- Stockage SSD NVMe rapide et édition Plesk Web Host