Qu'est-ce que le sous-système Windows pour Linux ?
La virtualisation des systèmes d'exploitation (OS) permet d'accomplir des choses incroyables. En faisant abstraction de la couche matérielle, la virtualisation fait croire à un système d'exploitation qu'il fonctionne nativement sur du matériel, alors qu'il est en fait hébergé par un autre système d'exploitation.
Elle ouvre un monde de possibilités. Par exemple, avec la virtualisation, vous pouvez faire fonctionner plus d'un système d'exploitation pleinement opérationnel sur une machine - ou faire fonctionner un système d'exploitation différent du système d'exploitation hôte, comme Windows sur un système Linux ou vice versa.
C'est exactement ce que Microsoft a fait avec Windows Subsystem for Linux (WSL), un outil de virtualisation qui vous permet d'exécuter le noyau Linux, le système de fichiers et l'interface graphique Linux sur un PC Windows 10 ou Windows 11.
Fonctionnement du sous-système Windows pour Linux
Le sous-système Windows pour Linux (WSL) est une collection de composants Microsoft conçus pour permettre aux binaires Linux 64 bits natifs au format exécutable et lisible (ELF64) de fonctionner dans le système d'exploitation (OS) Windows 10 ou Windows 11.
Il s'agit d'une couche d'abstraction qui permet aux utilisateurs de Windows d'installer et d'exécuter en toute transparence une version de Linux sur leur système Windows sans avoir besoin d'une configuration à double démarrage ou d'une machine virtuelle.
Une fois la fonction Windows Subsystem for Linux activée dans Windows, l'interpréteur de commandes Linux bash peut être utilisé pour installer, par exemple, l'image Ubuntu en mode utilisateur - qui s'exécute au-dessus de la couche du noyau Windows, ce qui permet aux binaires ELF64 de fonctionner dans Windows.
Le WSL comprend un service de gestion de session en mode utilisateur pour gérer l'instance Linux, des processus Pico minimisés pour répondre aux appels système Linux et des pilotes Pico pour émuler le noyau Linux. Collectivement, cette structure permet aux appels système Linux d'être dirigés vers le noyau Windows et gérés par celui-ci.
Après l'installation, les utilisateurs peuvent exécuter des fichiers à partir du dépôt de paquets Ubuntu, utiliser des utilitaires de ligne de commande Linux, tels que grep, naviguer dans le système de fichiers Linux et exécuter des scripts à l'aide d'utilitaires d'interface de ligne de commande (CLI).
À qui s'adresse le sous-système Windows pour Linux ?
Dans une certaine mesure, les principaux utilisateurs de Windows Subsystem for Linux sont des développeurs Linux travaillant dans un environnement Windows. Par exemple, les développeurs web qui utilisent fréquemment Linux et d'autres outils open-source à partir de sources telles que GitHub, mais qui ont un accès limité à des systèmes Linux complets pour le développement et l'expérimentation. Les cas d'utilisation sont les suivants :
- Développement: WSL permet aux développeurs d'employer des outils et des langages de programmation Linux familiers, tels que Ruby et Python, au sein de Windows. Vous pouvez exécuter des environnements de développement basés sur Linux, tels que Docker et Kubernetes.
- Gestion du serveur: Vous pouvez utiliser le WSL pour gérer des serveurs Linux. C'est utile si vous êtes administrateur système ou si vous devez gérer un serveur Linux à partir d'un ordinateur Windows. Le WSL peut vous aider à gérer des serveurs Linux sans devoir utiliser une connexion de bureau à distance et à utiliser des outils et des applications Linux pour gérer vos serveurs.
- L'éducation: L'enseignement de Linux est un autre cas d'utilisation idéal pour le WSL, car vous pouvez vous familiariser avec Linux sans avoir à installer un système d'exploitation Linux distinct. Avec le WSL, vous pouvez suivre des tutoriels et de la documentation sur Linux et mettre en place un environnement de développement Linux.
- Productivité: Pour certaines personnes familiarisées avec les environnements Linux, une instance WSL peut être utilisée pour améliorer leur flux de travail, car elles peuvent utiliser des outils et des applications Linux familiers sur leur ordinateur Windows, ce qui leur permet de gagner du temps et d'économiser des efforts.
Ces cas d'utilisation s'expliquent en partie par la facilité d'installation de Windows Subsystem for Linux, mais l'intégration étroite avec le système d'exploitation Windows environnant y contribue également.
WSL 1 vs. WSL 2
Microsoft propose deux versions distinctes de Windows Subsystem for Linux : WSL 1 et la plus récente WSL 2. Ces deux versions facilitent l'intégration entre Windows et Linux, sont légères et ont des temps de démarrage rapides. En outre, WSL 1 et WSL 2 sont compatibles avec des hyperviseurs non Microsoft, tels que VMware et Oracle VM VirtualBox.
L'une des principales différences entre le WSL 1 et le WSL 2 est que ce dernier fonctionne au sein d'une machine virtuelle (VM) gérée. La VM étant gérée, les professionnels de l'informatique n'ont pas à se préoccuper des tâches de configuration ou de gestion généralement associées aux machines virtuelles.
Une autre différence essentielle est que le WSL 2 utilise un noyau Linux complet. Ce noyau étant développé par Microsoft, il est régulièrement mis à jour par le biais de Windows Update.
Microsoft recommande généralement l'utilisation de WSL 2 en raison de ses performances supérieures à celles de WSL 1 et de sa compatibilité à 100 % avec les appels système. Vous pouvez toutefois utiliser WSL 1 si un projet doit être stocké sur le système de fichiers Windows ou si une compilation croisée utilisant des outils Windows et Linux est nécessaire pour un projet.
Pourquoi utiliser WSL au lieu de Linux dans une VM ?
Bien que les instances Linux puissent fonctionner sous Windows à l'intérieur d'une VM, le WSL présente deux avantages. Premièrement, il demande moins de ressources informatiques (processeur, mémoire et stockage) qu'une VM complète. Deuxièmement, le WSL permet aux environnements Windows et Linux de fonctionner simultanément, ce qui permet aux développeurs d'utiliser des applications Windows et des utilitaires Linux sur les mêmes fichiers, si nécessaire.
Le WSL 2 a permis aux applications Linux GUI de fonctionner de manière native et intuitive sous Windows. Les utilisateurs peuvent lancer des applications Linux directement à partir du menu Démarrer de Windows, les épingler à la barre des tâches de Windows et passer de l'une à l'autre de manière transparente à l'aide de la touche alt-tab. En outre, il est désormais possible d'exécuter des fonctions de copier-coller entre les applications Windows et Linux.
Avantages et limites du WSL
L'un des principaux avantages de l'utilisation du WSL est sa simplicité d'exécution des applications Linux sur un PC Windows, sans qu'il soit nécessaire d'utiliser une application de virtualisation distincte. Cependant, il offre également un autre avantage : la possibilité de prendre en charge plusieurs distributions Linux, telles qu'Ubuntu, OpenSUSE, Kali, Arch Linux et Debian - côte à côte.
En outre, Microsoft prend entièrement en charge le WSL et veille à ce qu'il fonctionne sans problème sur Windows 10 (version 2004 ou supérieure) et Windows 11. En d'autres termes, si vous rencontrez des problèmes lors de l'utilisation de WSL, vous pouvez compter sur la documentation et l'assistance de Microsoft pour vous aider à résoudre le problème.
Le WSL présente toutefois certaines limites, car il ne s'agit pas d'un environnement Linux à part entière. Il s'agit d'une couche de compatibilité qui vous permet d'exécuter des binaires Linux sur Windows. Cela signifie que toutes les fonctionnalités de Linux ne sont pas disponibles dans le WSL. Par exemple, le WSL ne prend pas en charge certains systèmes de fichiers Linux, tels que ext4. En outre, le WSL ne prend pas en charge toutes les distributions Linux.
En outre, l'utilisation du WSL n'est pas aussi rapide qu'une installation Linux native. En effet, le WSL est une couche de virtualisation qui doit traduire les appels système Linux en appels système Windows. Ce processus de traduction ajoute des frais généraux, ce qui peut ralentir les performances.
Une fonction clé de Windows ?
Dans l'ensemble, de nombreux environnements de développement bénéficieraient grandement de l'utilisation du WSL, ainsi que de nombreux autres cas d'utilisation. Cependant, il y a aussi quelques limitations. Windows Subsystem pour Linux vous conviendra-t-il ? Cela dépend de vos besoins d'utilisation. Si vous souhaitez essayer le WSL, vous pouvez suivre les instructions simples de Microsoft ici.