Partager via


Importer une distribution Linux à utiliser avec WSL

Vous pouvez utiliser n’importe quelle distribution Linux à l’intérieur du sous-système Windows pour Linux (WSL), même si elle n’est pas disponible dans le Microsoft Store, en l’important avec un fichier tar.

Cet article explique comment importer la distribution Linux, CentOS, à utiliser avec WSL en obtenant son fichier tar à l’aide d’un conteneur Docker. Ce processus peut être appliqué pour importer n’importe quelle distribution Linux.

Obtenir un fichier tar pour la distribution

Tout d’abord, vous devez obtenir un fichier tar qui contient tous les fichiers binaires Linux pour la distribution.

Vous pouvez obtenir un fichier tar de différentes façons, dont deux sont les suivantes :

  • Téléchargez un fichier tar fourni. Vous trouverez un exemple pour Alpine dans la section «Mini Root Filesystem » du site de téléchargements Alpine Linux .
  • Recherchez un conteneur de distribution Linux et exportez une instance en tant que fichier tar. L’exemple ci-dessous montre ce processus à l’aide du conteneur CentOS.

Obtention d’un fichier tar pour l’exemple CentOS

Dans cet exemple, nous allons utiliser Docker à l’intérieur d’une distribution WSL pour obtenir le fichier tar pour CentOS.

Conditions préalables

Exporter le tar à partir d’un conteneur

  1. Ouvrez la ligne de commande (Bash) pour une distribution Linux que vous avez déjà installée à partir du Microsoft Store (Ubuntu dans cet exemple).

  2. Vérifiez que Docker Desktop est en cours d’exécution (ou si Docker est installé dans la distribution WSL, démarrez le service avec sudo service docker start )

  3. Exécutez le conteneur CentOS à l’intérieur de Docker :

    docker run -t --name wsl_export centos ls /
    
  4. Exportez l’ID de conteneur vers un fichier tar sur votre lecteur c-drive monté :

    docker export wsl_export > /mnt/c/temp/centos.tar
    

    Exemple d’exécution des commandes ci-dessus

  5. Nettoyer le conteneur

    docker rm wsl_export
    

Ce processus exporte le fichier tar CentOS à partir du conteneur Docker afin de pouvoir l’importer localement avec WSL.

Importer le fichier tar dans WSL

Une fois que vous avez un fichier tar prêt, vous pouvez l’importer à l’aide de la commande :

wsl.exe --import <Distro> <InstallLocation> <FileName> [Options]
Options:
    --version <Version>
    --vhd

Importation d’un exemple CentOS

Pour importer le fichier tar de distribution CentOS dans WSL :

  1. Ouvrez PowerShell et vérifiez que vous avez créé un dossier dans lequel vous souhaitez stocker la distribution.

    cd C:\temp
    mkdir E:\wslDistroStorage\CentOS
    
  2. Utilisez la commande wsl --import <Distro> <InstallLocation> <FileName> pour importer le fichier tar.

    wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
    
  3. Utilisez la commande wsl -l -v pour vérifier les distributions que vous avez installées.

  4. Enfin, utilisez la commande wsl -d CentOS pour exécuter votre distribution CentOS Linux nouvellement importée.

    Exemple des commandes ci-dessus en cours d’exécution dans WSL

Ajouter des composants spécifiques à WSL comme à un utilisateur par défaut

Par défaut, lors de l’utilisation --import, vous êtes toujours démarré en tant qu’utilisateur racine. Vous pouvez configurer votre propre compte d’utilisateur, mais notez que le processus de configuration varie légèrement en fonction de chaque distribution Linux différente.

Pour configurer le compte d’utilisateur avec la distribution CentOS que nous venons d’importer, commencez par ouvrir PowerShell et démarrez dans CentOS à l’aide de la commande :

wsl -d CentOS

Ensuite, ouvrez votre ligne de commande CentOS. Utilisez cette commande pour installer les outils de paramètres sudo et de mot de passe dans CentOS, créer un compte d’utilisateur et le définir comme utilisateur par défaut. Dans cet exemple, le nom d’utilisateur sera « caloewen ».

Remarque

Vous souhaiterez ajouter le nom d’utilisateur au fichier sudoers pour permettre à l’utilisateur d’utiliser sudo. La commande adduser -G wheel $myUsername ajoute l’utilisateur myUsername au groupe de roues. Les utilisateurs du groupe wheel se voient automatiquement accorder des privilèges sudo et peuvent effectuer des tâches nécessitant une autorisation élevée.

yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername

Vous devez maintenant quitter cette instance et vous assurer que toutes les instances WSL sont arrêtées. Démarrez à nouveau votre distribution pour voir votre nouvel utilisateur par défaut en exécutant cette commande dans PowerShell :

wsl --terminate CentOS
wsl -d CentOS

Vous verrez désormais la sortie [caloewen@loewen-dev]$ en fonction de cet exemple.

Exemple de code ci-dessus en cours d’exécution dans WSL

Pour en savoir plus sur la configuration des paramètres WSL, consultez Configurer les paramètres avec .wslconfig et wsl.conf.

Utiliser une distribution Linux personnalisée

Vous pouvez créer votre propre distribution Linux personnalisée, empaquetée en tant qu’application UWP, qui se comporte exactement comme les distributions WSL disponibles dans le Microsoft Store. Pour savoir comment procéder, consultez Création d’une distribution Linux personnalisée pour WSL.