WSL - Installation : Différence entre versions
(→Sans accès au Windows Store (y compris sites de téléchargement Microsoft)) |
(→Sans accès au Windows Store (App)) |
||
Ligne 112 : | Ligne 112 : | ||
== Sans accès au Windows Store (App) == | == Sans accès au Windows Store (App) == | ||
− | Sans accès à Windows Store, l'installation manuelle est possible (cf le lien du paragraphe "installation standard": | + | Sans accès à Windows Store, l'installation manuelle est possible (cf le lien du paragraphe [https://docs.microsoft.com/en-us/windows/wsl/install-win10 "installation standard"]): |
Les étapes en résumé sont: | Les étapes en résumé sont: |
Version du 2 novembre 2021 à 13:55
Sommaire
Introduction
Cet article traite des différentes méthodes disponibles pour l'installation de Windows Subsystem for Linux (WSL) sur un poste Windows (10).
Les guides d'installation Microsoft servent de référence, l'objectif est de mieux identifier les méthodes alternatives.
Tips PowerShell utile
Informations du système
Pour déterminer les informations de son système (architecture processeur, version de build Windows, etc), vous pouvez procéder de 2 façons:
- via les paramètres => Système => A propos de.
- via la commande PowerShell suivante:
systeminfo
Ex:
PS C:\Users\j.pedrono> systeminfo Nom de l’hôte: 901180281M Nom du système d’exploitation: Microsoft Windows 10 Professionnel Version du système: 10.0.19042 N/A version 19042 Fabricant du système d’exploitation: Microsoft Corporation Configuration du système d’exploitation: Station de travail membre Type de version du système d’exploitation: Multiprocessor Free Propriétaire enregistré: XXXXXXX Organisation enregistrée: XXXXXXX Identificateur de produit: XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX Date d’installation originale: 01/09/2021, 09:55:49 Heure de démarrage du système: 08/09/2021, 14:04:42 Fabricant du système: HP Modèle du système: HP EliteBook 840r G4 Type du système: x64-based PC Processeur(s): 1 processeur(s) installé(s). [01] : Intel64 Family 6 Model 142 Stepping 9 GenuineIntel ~2511 MHz Version du BIOS: HP Q80 Ver. 01.14.01, 16/10/2020 Répertoire système: C:\WINDOWS\system32 Périphérique d’amorçage: \Device\HarddiskVolume5 Option régionale du système: fr;Français (France) Paramètres régionaux d’entrée: fr;Français (France) Fuseau horaire: (UTC+01:00) Bruxelles, Copenhague, Madrid, Paris Mémoire physique totale: 12 131 Mo Mémoire physique disponible: 6 127 Mo Mémoire virtuelle : taille maximale: 14 563 Mo Mémoire virtuelle : disponible: 7 349 Mo Mémoire virtuelle : en cours d’utilisation: 7 214 Mo Emplacements des fichiers d’échange: C:\pagefile.sys Domaine: directory.XXXXXXX.com Serveur d’ouverture de session: \\XXXXXXX Correctif(s): 9 Corrections installées. [01]: KB5004331 [02]: KB4562830 [03]: KB4570334 [04]: KB4577266 [05]: KB4577586 [06]: KB4589212 [07]: KB4598481 [08]: KB5005033 [09]: KB5005260 Carte(s) réseau: 3 carte(s) réseau installée(s). [01]: Intel(R) Ethernet Connection (4) I219-V Nom de la connexion : Ethernet État : Support déconnecté [02]: Intel(R) Dual Band Wireless-AC 8265 Nom de la connexion : Wi-Fi DHCP activé : Oui Serveur DHCP : XXXXXXX Adresse(s) IP [01]: XXXXXXX [02]: XXXXXXX [03]: Bluetooth Device (Personal Area Network) Nom de la connexion : Connexion réseau Bluetooth État : Support déconnecté Configuration requise pour Hyper-V: Un hyperviseur a été détecté. Les fonctionnalités nécessaires à Hyper-V ne seront pas affichées.
Information de version WSL par distribution Linux
wsl --list --verbose
ou
wsl -l -v
Ex:
PS C:\Users\j.pedrono> wsl -l -v NAME STATE VERSION * Debian Running 1
Changer de version WSL par distribution Linux
wsl --set-version <distribution name> <versionNumber>
Installation de WSL
Installation standard
Cf cette documentation Microsoft sur le sujet.
- Si vous avez accès au Windows Store sur votre poste Windows, suivez cette méthode, considérée comme la plus simple.
- Une technique équivalente en ligne de commande PowerShell:
wsl --install
- NB: cette méthode requiert de faire partie du programme Windows Insider.
Sans accès au Windows Store (App)
Sans accès à Windows Store, l'installation manuelle est possible (cf le lien du paragraphe "installation standard"):
Les étapes en résumé sont:
- activation de WSL dans une console PowerShell en tant qu'administrateur (du poste):
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- OPTIONNEL WSL2: vérification des pré requis pour l'utilisation de WSL 2 (au lieu de WSL 1) => cette feature nécessite un certain niveau de build Windows en fonction de l'architecture.
- OPTIONNEL WSL2: activation de la fonctionnalité Virtual Machine dans une console PowerShell en tant qu'administrateur (du poste):
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
(cette action nécessite ensuite un reboot). - OPTIONNEL WSL2: téléchargement et installation du Linux kernel update package. L'installation nécessite une élévation de privilège.
- OPTIONNEL WSL2: déclarer WSL 2 comme version par défaut. Dans une fenêtre PowerShell:
wsl --set-default-version 2
. NB: ce n'est que la version par défaut, il est ensuite possible de sélectionner une version de WSL par distribution Linux installée sur le système. - Télécharger depuis le site Microsoft la distribution Linux qui vous intéresse (dans mon cas, Debian).
Sans accès au Windows Store (y compris sites de téléchargement Microsoft)
Si comme moi, pour une raison non encore identifiée liée à la sécurisation du poste Windows ou du réseau d'entreprise, vous ne pouvez pas télécharger les distributions Linux en cliquant sur Obtenir (ou Get) sur par exemple ce lien, il existe encore des méthodes d'installation alternatives: cf cette documentation d'installation manuelle.
Les étapes:
- Déterminer le nom de sa distribution via les URLs de téléchargement.
- Téléchargement d'une distribution, via une commande PowerShell:
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing
- Exemple pour Debian:
Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile Debian.appx -UseBasicParsing
- Installer le package, via une commande PowerShell:
Add-AppxPackage .\Ubuntu.appx
- Info utile: le package est téléchargé en principe dans
C:\Windows\System32\
Quel que soit le mode d'installation
- Créer le compte utilisateur au premier lancement de votre nouvelle distribution.
Ajout de Windows Terminal
Il y a de nombreux intérêts à l'installation de Windows Terminal en complément de WSL:
- Cet outil permet notamment de faire cohabiter de nombreuses sessions en onglets au sein d'une seule fenêtre.
- Il permet de lancer de nombreux terminaux: terminal PowerShell, l'intégralité des distributions Linux installées sur WSL, une console Azure PowerShell...
Cf cette partie de la documentation officielle Microsoft.
Cf cette documentation spécifique pour installer la version Preview.
Avec le Windows Store
Installation directe avec le Windows Store, ou en lançant le téléchargement depuis la documentation d'installation Microsoft.
Sans le Windows Store
Sans accès au Windows Store, il existe un dépôt Github pour la publication des versions successives de Windows Terminal.
NB: la contrainte dans ce cas est qu'il faut gérer soi même les mises à jour du Windows Terminal.
Vous téléchargez un fichier dont l'extension est msibundle: cf cette documentation spécifique pour l'installation.
En résumé:Add-AppxPackage Microsoft.WindowsTerminal_<versionNumber>.msixbundleExemple:
Add-AppxPackage .\Microsoft.WindowsTerminalPreview_1.11.2421.0_8wekyb3d8bbwe.msixbundle
Diagnostiquer les problèmes d'installation ou de fonctionnement de WSL sur votre système
Microsoft met à disposition ce guide de troubleshooting assez complet.
Problème pour utiliser la commande ping
A l'installation, et fonction de la version de votre build Windows et de WSL, vous pouvez rencontrer l'erreur suivante lors d'un ping:
jpedrono@901180281M:/mnt/c/Users/j.pedrono$ ping 8.8.8.8 ping: socket: Operation not permitted
D'après les liens suivants, plus ou moins fiable, il s'agit d'un problème de droit de l'utilisateur de votre distribution sur le binaire ping:
- Un échange sur le dépôt Github de Microsoft.
- Une autre méthode de résolution basée sur un simple chmod.
- Une autre méthode de résolution basée sur l'élargissement des GID autorisés à utiliser ping.
Dans mon cas, application de la 1ere méthode puisqu'à priori émise par des personnes au sein de l'équipe MS WSL:
jpedrono@901180281M:/mnt/c/Users/j.pedrono$ getcap /bin/ping jpedrono@901180281M:/mnt/c/Users/j.pedrono$ sudo setcap cap_net_raw+p /bin/ping [sudo] password for jpedrono: jpedrono@901180281M:/mnt/c/Users/j.pedrono$ getcap /bin/ping /bin/ping = cap_net_raw+p jpedrono@901180281M:/mnt/c/Users/j.pedrono$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=112 time=10.7 ms ^C --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 10.728/10.728/10.728/0.000 ms
Une fois votre setup terminé...
Une fois WSL installé, vous pouvez ensuite procéder à l'installation des packages essentiels.