Importer une distribution Linux à utiliser avec WSL

vous pouvez utiliser n’importe quelle distribution Linux à l’intérieur de la 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 d’ancrage. 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 contenant tous les fichiers binaires Linux pour la distribution.

Vous pouvez obtenir un fichier tar de plusieurs manières, notamment :

  • Téléchargez un fichier tar fourni. Vous trouverez un exemple de Alpine dans la section « mini-système de fichiers racine » 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.

Exemple d’obtention d’un fichier tar pour CentOS

Dans cet exemple, nous allons utiliser l’ancrage à 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 de la Microsoft Store (Ubuntu dans cet exemple).

  2. Démarrez le service d’ancrage :

    sudo service docker start
    
  3. Exécutez le conteneur CentOS à l’intérieur de l’ancrage :

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

    dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
    
  5. Exportez l’ID de conteneur dans 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 d’ancrage afin que nous puissions l’importer en vue d’une utilisation locale avec WSL.

Importez 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 --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 disposez d’un dossier créé 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 la distribution CentOS Linux qui vient d’être importée.

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

Par défaut, lors de l’utilisation de--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.

Pour configurer un 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 suivante :

wsl -d CentOS

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

Notes

Vous pouvez 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 Wheel. Les utilisateurs du groupe Wheel reçoivent automatiquement les 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 de WSL sont terminées. Redémarrez votre distribution pour voir votre nouvel utilisateur par défaut en exécutant la commande suivante dans PowerShell :

wsl --terminate CentOS
wsl -d CentOS

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

Example of the code above running in WSL

Pour en savoir plus sur la configuration des paramètres de 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 comme 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.