WSL - Installation : Différence entre versions
(→Ajout de Windows Terminal) |
(→Une fois votre setup terminé...) |
||
(9 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 23 : | Ligne 23 : | ||
Configuration du système d’exploitation: Station de travail membre | Configuration du système d’exploitation: Station de travail membre | ||
Type de version du système d’exploitation: Multiprocessor Free | Type de version du système d’exploitation: Multiprocessor Free | ||
− | Propriétaire enregistré: | + | Propriétaire enregistré: XXXXXXX |
− | Organisation enregistrée: | + | Organisation enregistrée: XXXXXXX |
− | Identificateur de produit: | + | Identificateur de produit: XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX |
Date d’installation originale: 01/09/2021, 09:55:49 | Date d’installation originale: 01/09/2021, 09:55:49 | ||
Heure de démarrage du système: 08/09/2021, 14:04:42 | Heure de démarrage du système: 08/09/2021, 14:04:42 | ||
Ligne 45 : | Ligne 45 : | ||
Mémoire virtuelle : en cours d’utilisation: 7 214 Mo | Mémoire virtuelle : en cours d’utilisation: 7 214 Mo | ||
Emplacements des fichiers d’échange: C:\pagefile.sys | Emplacements des fichiers d’échange: C:\pagefile.sys | ||
− | Domaine: directory. | + | Domaine: directory.XXXXXXX.com |
− | Serveur d’ouverture de session: \\ | + | Serveur d’ouverture de session: \\XXXXXXX |
Correctif(s): 9 Corrections installées. | Correctif(s): 9 Corrections installées. | ||
[01]: KB5004331 | [01]: KB5004331 | ||
Ligne 64 : | Ligne 64 : | ||
Nom de la connexion : Wi-Fi | Nom de la connexion : Wi-Fi | ||
DHCP activé : Oui | DHCP activé : Oui | ||
− | Serveur DHCP : | + | Serveur DHCP : XXXXXXX |
Adresse(s) IP | Adresse(s) IP | ||
− | [01]: | + | [01]: XXXXXXX |
− | [02]: | + | [02]: XXXXXXX |
[03]: Bluetooth Device (Personal Area Network) | [03]: Bluetooth Device (Personal Area Network) | ||
Nom de la connexion : Connexion réseau Bluetooth | Nom de la connexion : Connexion réseau Bluetooth | ||
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: | ||
Ligne 129 : | Ligne 129 : | ||
* Déterminer le nom de sa distribution via les URLs de téléchargement. | * Déterminer le nom de sa distribution via les URLs de téléchargement. | ||
* Téléchargement d'une distribution, via une commande PowerShell: <pre>Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing</pre> | * Téléchargement d'une distribution, via une commande PowerShell: <pre>Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing</pre> | ||
+ | * Exemple pour Debian: <pre>Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile Debian.appx -UseBasicParsing</pre> | ||
* Installer le package, via une commande PowerShell: <pre>Add-AppxPackage .\Ubuntu.appx</pre> | * Installer le package, via une commande PowerShell: <pre>Add-AppxPackage .\Ubuntu.appx</pre> | ||
+ | * Info utile: le package est téléchargé en principe dans <pre>C:\Windows\System32\</pre> | ||
= Quel que soit le mode d'installation = | = Quel que soit le mode d'installation = | ||
Ligne 144 : | Ligne 146 : | ||
Cf [https://www.microsoft.com/fr-fr/p/windows-terminal-preview/9n8g5rfz9xk3?rtc=1#activetab=pivot:overviewtab cette documentation spécifique pour installer la version Preview]. | Cf [https://www.microsoft.com/fr-fr/p/windows-terminal-preview/9n8g5rfz9xk3?rtc=1#activetab=pivot:overviewtab cette documentation spécifique pour installer la version Preview]. | ||
+ | |||
+ | '''ATTENTION:''' il n'est pas nécessaire de faire l'installation en tant qu'admin, car c'est une installation locale au compte => privilégier son compte d'utilisateur standard. | ||
== Avec le Windows Store == | == Avec le Windows Store == | ||
Ligne 158 : | Ligne 162 : | ||
En résumé: <pre>Add-AppxPackage Microsoft.WindowsTerminal_<versionNumber>.msixbundle</pre> | En résumé: <pre>Add-AppxPackage Microsoft.WindowsTerminal_<versionNumber>.msixbundle</pre> | ||
+ | |||
+ | Exemple: <pre>Add-AppxPackage .\Microsoft.WindowsTerminalPreview_1.11.2421.0_8wekyb3d8bbwe.msixbundle</pre> | ||
= Diagnostiquer les problèmes d'installation ou de fonctionnement de WSL sur votre système = | = Diagnostiquer les problèmes d'installation ou de fonctionnement de WSL sur votre système = | ||
Microsoft met à disposition [https://docs.microsoft.com/en-us/windows/wsl/troubleshooting ce guide de troubleshooting] assez complet. | Microsoft met à disposition [https://docs.microsoft.com/en-us/windows/wsl/troubleshooting 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: | ||
+ | |||
+ | <pre> | ||
+ | jpedrono@901180281M:/mnt/c/Users/j.pedrono$ ping 8.8.8.8 | ||
+ | ping: socket: Operation not permitted | ||
+ | </pre> | ||
+ | |||
+ | 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: | ||
+ | * [https://github.com/microsoft/WSL/issues/5109 Un échange sur le dépôt Github de Microsoft]. | ||
+ | * [https://www.incredigeek.com/home/how-to-fix-ping-socket-operation-not-permitted/ Une autre méthode de résolution basée sur un simple chmod]. | ||
+ | * [https://forum.artixlinux.org/index.php/topic,1809.0.html 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: | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | = Une fois votre setup terminé... = | ||
+ | |||
+ | Une fois WSL installé, vous pouvez ensuite [[WSL - Packages utiles|procéder à l'installation des packages essentiels]]. | ||
+ | |||
+ | = Installation WSL sur Windows Server = | ||
+ | |||
+ | * [https://docs.microsoft.com/en-us/windows/wsl/install-on-server Install WSL on Windows Server]: cette procédure s'applique également à un poste de travail. NB: le lien de téléchargement des bundles est bien plus direct que ceux présents dans les docs ci-dessus. | ||
[[Category:Howto]] | [[Category:Howto]] | ||
Ligne 167 : | Ligne 212 : | ||
[[Category:Systeme]] | [[Category:Systeme]] | ||
[[Category:Windows]] | [[Category:Windows]] | ||
+ | [[Category:WSL]] |
Version actuelle datée du 26 août 2022 à 09:18
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.
ATTENTION: il n'est pas nécessaire de faire l'installation en tant qu'admin, car c'est une installation locale au compte => privilégier son compte d'utilisateur standard.
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.
Installation WSL sur Windows Server
- Install WSL on Windows Server: cette procédure s'applique également à un poste de travail. NB: le lien de téléchargement des bundles est bien plus direct que ceux présents dans les docs ci-dessus.