Table de Matieres
- 1 I. Présentation
- 2 III. WSL : modifier la version d’une distribution Linux
- 3 IV. Démarrer une distribution WSL en ligne de commande
- 4 V. Exécuter une commande dans une distribution WSL depuis Windows
- 5 VI. Définir une distribution Linux par défaut sous WSL
- 6 VII. Démarrer la distribution WSL avec un utilisateur spécifique
- 7 VIII. Eteindre une distribution Linux WSL
- 8 IX. Supprimer une distribution Linux WSL
- 9 X. Exporter une distribution Linux de WSL
- 10 XI. Importer une distribution WSL sous Windows 10
I. Présentation
Avec ce tutoriel, je souhaite vous proposer 10 commandes indispensables pour bien maîtriser WSL (Windows Subsystem for Linux) sous Windows 10.
🎥 Disponible au format vidéo (avec chapitres) :
J’ai choisi les commandes en fonction de mes propres besoins, qui seront surement aussi les vôtres, mais aussi en fonction des limitations actuelles de WSL sous Windows 10. La dernière version à l’heure où j’écris cet article est Windows 10 21H1.
À l’aide d’une console, l’exécutable « wsl.exe » que l’on peut appeler d’un simple « wsl » donne accès à un jeu de commande très intéressant, qu’il est important de maîtriser pour bien prendre en main WSL sous Windows. Toutes les options disponibles sont visibles dans l’aide :
wsl --help
II. Lister les distributions WSL installées sur Windows 10
Lorsque l’on commence à déployer plusieurs systèmes Linux sur Windows 10 à partir de WSL, il arrive à un moment où l’on ne sait plus trop ce que l’on a déployé ou non. Il y a une commande bien pratique qui permet de lister les distributions installées (enregistrées) sur votre machine :
wsl --list
Que l’on peut écrire aussi :
wsl -l
Personnellement, je préfère utiliser la même commande avec l’option –verbose car cela affiche des informations supplémentaires : l’état de la distribution et la version.
wsl --list --verbose
Que l’on peut écrire aussi :
wsl -l -v
On peut voir que l’on a deux colonnes supplémentaires : STATE et VERSION. La commande sans l’option –verbose indique également quelle est la distribution Linux par défaut, ici : Kali Linux (Default). Sur la version avec –verbose, il faut se référer au caractère « * ».
III. WSL : modifier la version d’une distribution Linux
WSL est proposé en deux versions : la version 1 et la version 2. La seconde est plus pertinente, car elle permet de s’appuyer sur une machine virtuelle WSL et d’avoir un véritable noyau Linux à disposition.
Si vous avez une distribution Linux en version 1 actuellement et que vous souhaitez la basculer en version 2, il faut utiliser le paramètre –set-version. Voici un exemple pour la distribution nommée « kali-linux » :
wsl --set-version kali-linux 2
Un processus de conversion va débuter pour transformer la distribution en version WSL 2. À l’inverse, on peut définir la version 1 également :
wsl --set-version kali-linux 1
La conversion fonctionne dans les deux sens. Si l’on veut définir la version 2 comme étant la version par défaut à utiliser pour les futures distributions, on va utiliser cette commande :
wsl --set-default-version 2
IV. Démarrer une distribution WSL en ligne de commande
Pour démarrer une distribution WSL, il suffit d’accéder à son shell, par exemple à partir du raccourci qui est créé dans le menu Démarrer de Windows.
Sachez que l’on peut également forcer le démarrage de la distribution WSL grâce à une simple commande. De quoi faire un petit script qui s’exécute au démarrage de votre machine Windows, par exemple. 😉
Pour démarrer la distribution Ubuntu, on utilisera la commande suivant :
wsl --distribution Ubuntu
Que l’on peut aussi écrire :
wsl -d Ubuntu
Il n’y a pas de commande pour démarrer toutes les distributions en même temps.
V. Exécuter une commande dans une distribution WSL depuis Windows
Il n’est pas nécessaire d’ouvrir le Shell de la distribution Linux pour exécuter une commande à l’intérieur. On peut le faire directement depuis Windows et notre commande wsl. Avec les bonnes options bien sûr.
Pour exécuter la commande « sudo apt update » au sein de la distribution Linux nommée « Ubuntu« , on utilisera la commande suivante :
wsl --distribution Ubuntu sudo apt update
C’est important de spécifier « sudo » devant toutes les commandes qui nécessitent des droits « root » sur le système Linux. Si c’est une commande basique telle que « hostname » qui permet d’obtenir le nom de l’hôte, ce n’est pas utile :
wsl --distribution Ubuntu hostname
On aurait pu exécuter aussi la commande ci-dessous, où il n’est pas spécifié de distribution cible.
wsl sudo apt update
Dans ce cas, la commande va s’exécuter au sein de la distribution WSL qui est définie par défaut sur votre machine Windows 10 (souvenez-vous de ce que l’on a vu précédemment). C’est un détail qui a son importance.
VI. Définir une distribution Linux par défaut sous WSL
Pour finir sur la notion de distribution par défaut, sachez que l’on peut choisir celle que l’on veut définir par défaut. Par exemple, pour définir Ubuntu comme distribution par défaut :
wsl --set-default Ubuntu
Que l’on peut écrire aussi :
wsl -s Ubuntu
Comme le montre cette commande, dans l’ensemble les commandes WSL sont simples.
VII. Démarrer la distribution WSL avec un utilisateur spécifique
Au sein votre distribution Linux, vous pouvez créer plusieurs utilisateurs. Si vous souhaitez lancer la distribution WSL en étant directement connecté avec un utilisateur spécifique, vous devez utiliser l’option –user.
Par exemple, sur ma distribution Ubuntu, je crée un nouvel utilisateur « itconnect » :
sudo adduser itconnect
Ensuite, je peux lancer la distribution Linux avec cet utilisateur :
wsl --user itconnect --distribution Ubuntu
Que l’on peut raccourcir de cette façon :
wsl -u itconnect -d Ubuntu
Sur le même principe que précédemment, si vous ne précisez pas de distribution, Windows prendra la distribution par défaut. Une fois le shell ouvert, je peux vérifier quel utilisateur j’utilise (même si c’est précisé au tout début du prompt) :
whoami
VIII. Eteindre une distribution Linux WSL
Puisqu’une distribution peut être démarrée ou arrêtée, et que l’on a vu comment démarrer une distribution, il me semble intéressant de voir comment éteindre.
Avant cela, une petite commande bonus pour lister les distributions en cours d’exécution :
wsl --list --running
Pour stopper une distribution spécifique, par exemple « Ubuntu » qui est en cours d’exécution, voici la commande à utiliser :
wsl --terminate Ubuntu
Que l’on peut raccourcir de cette façon :
wsl -t Ubuntu
Il y a aussi une commande globale qui sert à stopper immédiatement toutes les distributions et la machine virtuelle WSL 2 :
wsl --shutdown
Elle est… comment dire… radicale ! 🙂
IX. Supprimer une distribution Linux WSL
Quand on installe une distribution WSL sur son poste, cela peut être pour un besoin ponctuel. D’ailleurs, c’est aussi l’intérêt de ce système. Du coup, si l’on n’utilise pas une distribution, autant la supprimer ! C’est aussi une façon de réinstaller une distribution.
Si l’on veut supprimer la distribution Ubuntu, on va exécuter la commande suivante :
wsl --unregister Ubuntu
Cette commande va supprimer la distribution, mais les sources vont rester sur votre machine. Si vous décidez d’utiliser de nouveau cette distribution, vous repartirez de zéro mais ce sera rapide à démarrer, car les sources sont déjà là !
C’est une commande que j’ai déjà utilisée plusieurs fois pour réinstaller une distribution. Une fois que la distribution est supprimée avec cette commande, on peut la démarrer via l’interface graphique : l’installation va démarrer. Par la suite, on pourra aussi installer des distributions avec la commande « wsl » mais pour le moment, c’est en version preview.
X. Exporter une distribution Linux de WSL
WSL offre la possibilité d’exporter une distribution Linux, ce qui est particulièrement intéressant pour deux raisons :
- Réaliser une sauvegarde en quelque sorte, avant d’effectuer une opération sensible sur la machine
- Partager la distribution Linux préconfigurée avec une autre personne
Pour exporter une distribution WSL au format TAR, nous allons utiliser l’option –export. Prenons un exemple… Nous allons exporter la distribution « Ubuntu » vers le dossier « C:\TEMP\Ubuntu-Backup.tar » :
wsl --export Ubuntu "C:\TEMP\Ubuntu-Backup.tar"
L’opération est relativement rapide et nous permet d’obtenir une archive compressée au format TAR, avec le contenu de notre distribution. Le poids de l’archive quant à lui dépend du contenu de votre distribution, notamment de la quantité de paquets installés.
Il est à noter qu’une distribution exportée restera enregistrée sur votre machine, dans son état actuel. Elle n’est pas supprimée. Si vous souhaitez l’exporter puis la supprimer, vous devez utiliser la commande que l’on a vue précédemment pour cette seconde étape.
XI. Importer une distribution WSL sous Windows 10
Pour terminer, nous allons prendre la distribution Linux que l’on a exportée précédemment, et nous allons la réimporter.
Pour importer notre machine précédemment exportée, il va falloir spécifier trois informations : le nom de la machine, l’emplacement pour la stocker et le chemin vers le fichier TAR à importer.
wsl --import "" ""
Ce qui donne :
wsl --import Ubuntu "C:\TEMP\WSL\Ubuntu" "C:\TEMP\Ubuntu-Backup.tar"
Pensez à indiquer un chemin vers un dossier qui a le nom de la distribution, car la fonction d’import ne va pas créer un sous-dossier. Donc, vous allez obtenir un fichier VHDX (format WSL 2) avec un nom qui ne sera pas significatif du tout (« ext4.vhdx« ).
Si l’on essaie d’importer notre machine Ubuntu avec le même nom, nous avons un message d’erreur, car elle existe déjà. Ce qui est logique.
A distribution with the supplied name already exists.
Nous avons deux options : changer le nom (il y aura donc les deux machines Ubuntu utilisables), soit supprimer la machine actuelle et importer la nouvelle. Pour rappel, voici la commande pour supprimer :
wsl --unregister Ubuntu
Note : cette méthode basée sur un export et un import permet aussi de cloner facilement une distribution WSL !
Voilà, c’était la dernière astuce de l’article au sujet de Windows Subsystem for Linux ! J’espère que ces différentes commandes pourront vous aider au quotidien si vous aimez travailler avec WSL sous Windows 10 !