Table des matières
Installer Windows Subsystem for Linux (WSL) pour Windows 10
Ressources
Présentation
Le Sous-système Windows pour Linux permet aux développeurs d’exécuter un environnement GNU/Linux (et notamment la plupart des utilitaires, applications et outils en ligne de commande) directement sur Windows, sans modification et tout en évitant la surcharge d’une machine virtuelle traditionnelle ou d’une configuration à double démarrage. Il est possible :
- de choisir ses distributions GNU/Linux à partir du Microsoft Store.
- d'exécuter des outils en ligne de commande courants tels que grep, sed et awk, ou d’autres fichiers binaires ELF-64.
- d'exécuter des scripts de shell Bash et des applications en ligne de commande GNU/Linux, notamment :
- Outils : vim, emacs, tmux
- Langages : NodeJS, Javascript, Python, Ruby, C/C++, C# & F#, Rust, Go, etc.
- Services : SSHD, MySQL, Apache, lighttpd, MongoDB, PostgreSQL.
- D'installer des logiciels supplémentaires en utilisant son propre gestionnaire de package de distribution GNU/Linux ;
- D'appeler des applications Windows à l’aide d’un shell de ligne de commande de type UNIX ;
- D'appeler des applications GNU/Linux sur Windows.
Activer la virtualisation matérielle (depuis Windows 10)
- Lancez une invite de commande ou une fenêtre Windows PowerShell.
- Entrez la commande systeminfo.exe
systeminfo.exe
- Vérifiez que la virtualisation activée dans le microprogramme, ce qui est indiqué par Oui.
Configuration requise pour Hyper-V: Extensions de mode du moniteur d’ordinateur virtuel : Oui Virtualisation activée dans le microprogramme : Oui Traduction d’adresse de second niveau : Oui Prévention de l’exécution des données disponible : Oui
si la virtualisation n'est pas activée il faut accéder au BIOS pour le faire. Voici la démarche sous Windows 10 :
- Accédez aux Paramètres Windows ;
- Cliquez sur Mise à jour et sécurité ;
- Cliquez sur Récupération ;
- Cliquez sur Redémarrer maintenant sous Démarrage avancé.
- Allez dans Dépannage ;
- Cliquez sur Options avancées ;
- Maintenant, cliquez sur Paramètres du firmware UEFI ;
- Cliquez sur Redémarrer.
- Recherchez dans le BIOS le paramètre d'activation qui peut porter l'in des noms suivants : Technologie de virtualisation Intel , AMD-V , Hyper-V VT-X Vanderpool ou SVM.
Mettre à jour avec la dernière version de Windows si nécessaire
En invite de commandes tapez la commande suivante pour connaître votre version de Windows 10 :
C:\>winver
Votre version de Windows doit au moins être 1909. Voici le lien de téléchargement de l'utilitaire permettant d'avoir la dernière mise à jour de Windows 10 (2004 en novembre 2020) :
Téléchargez et lancez cet utilitaire
Installer le sous-système Windows pour Linux
Activer le sous-système Windows pour Linux
- lancez PowerShell en tant qu’administrateur et exécutez :
PS > wsl --install
Cela installe :
- la plateforme de machine virtuelle
- le sous-système Windows pour Linux (WSL)
- le noyau linux
Redémarrez ensuite votre PC
Installer la distribution Linux de votre choix
- Ouvrez le Microsoft Store ;
- utilisez un compte Microsoft pour vous identifier ;
- sélectionnez la distribution Linux voulue (par exemple Debian) et installez-la : elle utilisera WSL 1.
Visualiser les distributions Linux installées
- lancez PowerShell en tant qu’administrateur et exécutez :
PS > wsl --list --verbose NAME STATE VERSION * Debian Stopped 1 PS >
La distribution Debian installée utilise WSL version 1
Mettre à jour vers WSL 2
Activer la fonctionnalité Machine virtuelle
Avant d’installer WSL 2, il faut activer la fonctionnalité facultative Plateforme de machine virtuelle. Pour le faire :
- lancez PowerShell en tant qu’administrateur et exécutez :
PS > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all Outil Gestion et maintenance des images de déploiement Version : 10.0.19041.572 Version de l’image : 10.0.19041.572 Activation de la ou des fonctionnalités [==========================100.0%==========================] L’opération a réussi. Redémarrez Windows pour terminer cette opération. Voulez-vous redémarrer l’ordinateur maintenant ? (Y/N)
Le redémarrage de l'ordinateur permet de terminer l’installation de WSL et mettre à jour vers WSL 2.
Télécharger le package de mise à jour du noyau Linux
- lien de téléchargement : https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
- Exécutez l'utilitaire
Définir WSL 2 comme version par défaut
- lancez PowerShell en tant qu’administrateur et exécutez :
PS > wsl --set-default-version 2 Pour plus d’informations sur les différences de clés avec WSL 2, visitez https://aka.ms/wsl2 PS >
Convertir une distribution de SWL 1 à WSL 2
Tapez la commande suivante pour convertir votre distribution :
PS > wsl --set-version <votre ditribution> 2
Installer la distribution Linux de votre choix
- Ouvrez le Microsoft Store et sélectionnez la distribution Linux voulue.
Installer la distribution Linux de votre choix sans Microsoft Store
Il est nécessaire de téléchargement des packages <distro>.appx.
Liste des distribution disponible : https://learn.microsoft.com/fr-fr/windows/wsl/install-manual
Utilisation de Powershell pour télécharger le fichier :
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
- Installation du package téléchargé avec Powershell
Add-AppxPackage .\app_name.appx
- Exécuter la distribution en double-cliquant sur le package appx
- Visualiser la nouvelle distribution
wsl -l
1er lancement de la distribution
- Au lancement, il est nécessaire de créer un nom d’utilisateur et un mot de passe pour la distribution Linux.
- Le nom d’utilisateur et le mot de passe sont propres à chaque distribution Linux distincte installée.
- Ce compte devient l'utilisateur par défaut pour la distribution et se connecte automatiquement au démarrage.
- Ce compte est considéré comme l’administrateur Linux, avec la capacité d’exécuter des commandes d’administration sudo (Super User Do).
Les distributions Linux installées avec WSL correspondent à une installation par utilisateur et ne peuvent pas être partagées avec d’autres comptes d’utilisateur Windows.
Gérer les VM Linux
Mettre à jour et mettre les VMs
Windows ne met pas à jour les VMs installées et il faut le faire manuellement pour chacune d'entre elles. Exemple Pour une VM Debian :
$ sudo apt update && sudo apt upgrade
Réinitialiser le mot de passe Linux
- Commande à utiliser dans la VM pour définir le mot de passe root:
$ passwd
- en cas d'oubli du mot de passe, il faut le réinitialiser avec Powershell :
- Lancer PowerShell
- Entrez au niveau de la racine de la distribution WSL par défaut
PS > wsl -u root
- Entrez au niveau de la racine de la distribution WSL particulière comme par exemple Debian
PS > wsl -d Debian -u root
- Commande à utiliser pour changer le mot de passe du compte utilisateur :
$ passwd nomducompte
Démarrer WSL avec distribution par défaut
PS > wsl --setdefault <DistributionName>
Lancer une distribution Linux avec un utilisateur en particulier
PS > wsl --user <username>
Lancer un exécutable Windows depuis une distribution
$ calc.exe
- modifier un fichier Linux avec le notepad (Bloc-notes) Windows <code shell> $ notepad.exe ~/.bashrc </code>
Visualisez les lecteurs de Windows
Dans une distribution il est possible de visualiser et d'accéder aux lecteurs de Windows
Visualiser les lecteurs montés
$ mount
Accéder aux lecteurs montés
$ cd /mnt/c
Pour avoir les droits d'écriture sur le montage d'un lecteur comme /mnt/c il faut lancer la distribution Linux en mode administrateur (clic droit sur l'icône).
Installer une interface graphique à la distribution Debian
- Installer Debian :
wsl --install -d debian
- configurez l'utilisateur, son mot de passe et mettre à jour le système dans le terminal Debian : <code> $ sudo apt update && sudo apt upgrade </code>
- Installer les paquets nécessaires pour l'interface graphique et le serveur X :
sudo apt install xfce4 xfce4-goodies xrdp
Démarrez le service XRDP :
sudo service xrdp start
- Configurer l'affichage :
- Téléchargez et installez un serveur X pour Windows, comme VcXsrv.
- Lancez VcXsrv et configurez-le pour utiliser “Multiple Windows”.
- Connecter à l'interface graphique :
- Utilisez l'application Bureau à distance de Windows pour vous connecter à votre session Debian en utilisant l'adresse localhost:3390.
Visualisez le disque de la distribution depuis Windows
Le partage \\wsl$ permet d'accéder au disque de la distribution
Tutoriel de IT-Connect sur WSL
- Episode1 : Débuter avec WSL sous Windows 10
- Episode 2: Installer Kali Linux avec une interface graphique sur WSL
- Episode 3 : WSL 2 & Port forwarding : accéder à sa distribution Linux à distance
- Episoded 4 : Utilisation de WSLg pour ouvrir des applications GUI Linux depuis Windows
Commandes réseau
Depuis Powershell faire une redirection de port du PC vers la distribution WSL :
PS/> netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=172.X.y.z PS/> netsh interface portproxy show v4tov4 PS/> netsh interface portproxy reset
Définir ensuite les règles du parefeu Windows en entrée et en sortie