WSL - Installation : Différence entre versions

De PedroWiki
(Une fois votre setup terminé...)
 
(12 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é:                    MANITOU
+
Propriétaire enregistré:                    XXXXXXX
Organisation enregistrée:                  MANITOU
+
Organisation enregistrée:                  XXXXXXX
Identificateur de produit:                  00331-10000-00001-AA856
+
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.manitou.com
+
Domaine:                                    directory.XXXXXXX.com
Serveur d’ouverture de session:            \\MAN-DCFR02
+
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 :        192.0.2.1
+
                                                   Serveur DHCP :        XXXXXXX
 
                                                   Adresse(s) IP
 
                                                   Adresse(s) IP
                                                   [01]: 172.22.18.153
+
                                                   [01]: XXXXXXX
                                                   [02]: fe80::c8ad:f632:6f6b:dd82
+
                                                   [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 124 : Ligne 124 :
 
== Sans accès au Windows Store (y compris sites de téléchargement Microsoft) ==
 
== 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 [https://www.microsoft.com/fr-fr/p/debian/9msvkqc78pk6?rtc=1&activetab=pivot:overviewtab ce lien], il existe encore des méthodes d'installation alternatives:
+
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 [https://www.microsoft.com/fr-fr/p/debian/9msvkqc78pk6?rtc=1&activetab=pivot:overviewtab ce lien], il existe encore des méthodes d'installation alternatives: cf [https://docs.microsoft.com/en-us/windows/wsl/install-manual 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: <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>
 +
* 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 =
  
* Créer le compte utilisateur au premier lancement de votre nouvelle distribution.
+
* [https://docs.microsoft.com/en-us/windows/wsl/user-support Créer le compte utilisateur] au premier lancement de votre nouvelle distribution.
  
 
= Ajout de Windows Terminal =
 
= 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 [https://www.microsoft.com/fr-fr/p/debian/9msvkqc78pk6?rtc=1&activetab=pivot:overviewtab cette partie de la documentation officielle Microsoft].
 
Cf [https://www.microsoft.com/fr-fr/p/debian/9msvkqc78pk6?rtc=1&activetab=pivot:overviewtab cette partie de la documentation officielle Microsoft].
 +
 +
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 ==
 +
 +
Installation directe avec le Windows Store, ou en lançant le téléchargement depuis la [https://docs.microsoft.com/en-us/windows/terminal/get-started documentation d'installation Microsoft].
  
 
== Sans le Windows Store ==
 
== Sans le Windows Store ==
 +
 +
Sans accès au Windows Store, il existe un [https://github.com/microsoft/terminal/releases 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.
 
'''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 [https://github.com/Microsoft/Terminal#via-github cette documentation spécifique pour l'installation].
 +
 +
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 148 : Ligne 212 :
 
[[Category:Systeme]]
 
[[Category:Systeme]]
 
[[Category:Windows]]
 
[[Category:Windows]]
 +
[[Category:WSL]]

Version actuelle datée du 26 août 2022 à 09:18

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

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>.msixbundle
Exemple:
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:

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.