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
- WSL doit être activé et une distribution Linux doit être installée exécutant WSL 2.
- Docker Desktop pour Windows doit être installé, le moteur WSL 2 activé et l’intégration cochée. Consultez le contrat de licence Docker Desktop pour obtenir des mises à jour sur les conditions d’utilisation.
Exporter le tar à partir d’un conteneur
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).
Vérifiez que Docker Bureau est en cours d’exécution (ou si Docker est installé dans la distribution WSL, démarrez le service avec
sudo service docker start
)Exécutez le conteneur CentOS dans Docker :
docker run -t --name wsl_export centos ls /
Exportez l’ID de conteneur vers un fichier tar sur votre lecteur c monté :
docker export wsl_export > /mnt/c/temp/centos.tar
Nettoyer le conteneur
docker rm wsl_export
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 :
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
Utilisez la commande
wsl --import <DistroName> <InstallLocation> <InstallTarFile>
pour importer le fichier tar.wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
Utilisez la commande
wsl -l -v
pour vérifier les distributions que vous avez installées.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.
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.
Windows Subsystem for Linux