Importer une distribution Linux à utiliser avec WSL

Vous pouvez utiliser une 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 décrit comment importer la distribution Linux, CentOS, pour une utilisation avec WSL en obtenant son fichier tar à l’aide d’un conteneur Docker. Ce processus peut être appliqué pour importer une distribution Linux.

Obtenir un fichier tar pour la distribution

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

Vous pouvez obtenir un fichier tar de différentes façons, dont deux nécessitent de :

  • Télécharger un fichier tar fourni. Vous trouverez un exemple relatif à Alpine dans la section « Mini système de fichiers racine » du site de téléchargements Alpine Linux.
  • Rechercher un conteneur de distribution Linux et exporter une instance sous forme de fichier tar. L’exemple ci-dessous présente ce processus à l’aide du conteneur CentOS.

Obtention d’un fichier tar pour l’exemple CentOS

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

Prérequis

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. Démarrez le service Docker :

    sudo service docker start
    
  3. Exécutez le conteneur CentOS dans Docker :

    docker run -t centos bash ls /
    
  4. Récupérez l’ID de conteneur CentOS à l’aide de grep et awk :

    dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
    
  5. Exportez l’ID de conteneur vers un fichier tar sur votre lecteur c monté :

    docker export $dockerContainerID > /mnt/c/temp/centos.tar
    

Example of running the commands above

Ce processus exporte le fichier tar CentOS à partir du conteneur Docker afin que nous puissions maintenant l’importer pour une utilisation locale avec WSL.

Importer le fichier tar dans WSL

Une fois que le fichier tar est prêt, vous pouvez l’importer à l’aide de la commande : wsl --import <Distro> <InstallLocation> <FileName>.

Exemple d’importation de 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 <DistroName> <InstallLocation> <InstallTarFile> 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.

    Example of the above commands running in WSL

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

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

Par défaut, lorsque vous utilisez --import, vous démarrez toujours 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 un compte d’utilisateur avec la distribution CentOS que nous venons d’importer, ouvrez d’abord 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étrage du mot de passe et sudo 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 devez ajouter le nom d’utilisateur au fichier sudoers afin de permettre à l’utilisateur d’utiliser sudo. La commande adduser -G wheel $myUsername ajoute l'utilisateur myUsername au groupe wheel. Des privilèges sudo sont automatiquement octroyés aux utilisateurs du groupe wheel qui permettent d’effectuer des tâches nécessitant des autorisations élevées.

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 terminées. Redémarrez votre distribution pour voir votre nouvel utilisateur par défaut en exécutant cette commande dans PowerShell :

wsl --terminate CentOS
wsl -d CentOS

Vous voyez maintenant [caloewen@loewen-dev]$ comme sortie en fonction de cet exemple.

Example of the code above running in WSL

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

Utiliser une distribution Linux personnalisée

Vous pouvez créer votre propre distribution Linux personnalisée, packagée en tant qu’application UWP, qui se comportera 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.