Windows Subsystem for Linux Distribution Switcher

Windows Subsystem for Linux (WSL) intègre par défaut l’environnement utilisateur d’Ubuntu suite à un partenariat avec Canonical.

Concrètement, lorsque WSL est installé et que bash est lancé pour la première fois, le rootfs d’Ubuntu 16.04 est décompressé dans le répertoire utilisateur (%AppLocalData%\lxss\rootfs). Exactement comme le ferait un OpenVZ ou (à peu près) Docker.

Le projet Windows Subsystem for Linux Distribution Switcher – indépendant de Microsoft – permet de remplacer le rootfs d’Ubuntu par celui d’autres distributions. Il ne s’agit uniquement de remplacer des fichiers pour l’utilisateur courant, cela ne touche pas à WSL lui-même et peut aussi se faire manuellement (voir la procédure avec OpenSuSE).

Voici une liste des distributions disponibles à ce jour :

debian – 8.5, 8, jessie, latest | jessie-backports | oldstable | oldstable-backports | sid | stable | stable-backports | stretch | testing | unstable | 7.11, 7, wheezy | wheezy-backports | rc-buggy | experimental
ubuntu – 12.04.5, 12.04, precise-20160707, precise | 14.04.5, 14.04, trusty-20160802, trusty | 16.04, xenial-20160809, xenial, latest | 16.10, yakkety-20160806.1, yakkety, devel
fedora – latest, 24 | 23 | 22 | 21 | rawhide | 20, heisenbug
centos – latest, centos7, 7 | centos6, 6 | centos5, 5 | centos7.2.1511, 7.2.1511 | centos7.1.1503, 7.1.1503 | centos7.0.1406, 7.0.1406 | centos6.8, 6.8 | centos6.7, 6.7 | centos6.6, 6.6 | centos5.11, 5.11
opensuse – 42.1, leap, latest | 13.2, harlequin | tumbleweed
mageia – latest, 5
oraclelinux – latest, 7, 7.2 | 7.1 | 7.0 | 6, 6.8 | 6.7 | 6.6 | 5, 5.11
alpine – 3.1 | 3.2 | 3.3 | 3.4, latest | edge
crux – latest, 3.1
clearlinux – latest, base

Voyons sa mise en place.

Pour commencer, il faut Python 3.6 d’installer sur la machine à télécharger sur le site officiel :

python-3-6-0-32-bit-setup

Récupérer ensuite la dernière version de WSL-Distribution-Switcher à l’adresse suivante : https://github.com/RoliSoft/WSL-Distribution-Switcher/releases/download/v0.1.0/WSL-Distribution-Switcher_v0.1.0.zip

Extraire l’archive dans C:\ (cela donne C:\WSL-Distribution-Switcher) et ouvrir une ligne de commande dedans :

wsl-distribution-switcher

Installer de nouvelles distributions

Télécharger le ou les distributions – on va voir qu’il est possible de passer d’une à l’autre – :

get-source.exe centos:latest
get-source.exe fedora:latest

c__windows_system32_cmd-exe

Lorsqu’une nouvelle distribution est téléchargée, il faut l’installer une fois. Je précise que bash doit être fermé.

install.exe centos:latest
rootsimon-laptop_-_mnt_c_wsl-distribution-switcher
Bienvenue sur CentOS 7 !

Passer de l’une à l’autre

Pour switcher de l’une à l’autre, on utilisera le script switch.exe. Les distributions disponibles sont listées s’il est appelé sans argument :

000002-c__windows_system32_cmd-exe

Exemple avec OpenSuSE 42.2 :

switch.exe opensuse:42.2

000003-rootsimon-laptop_-_mnt_c_wsl-distribution-switcher

Docker !

Attention : cela ne fonctionne pas avec toutes les images, loin de là.

WSL-Distribution-Switcher permet également de partir d’une image Docker en allant chercher sur Docker Hub grâce au script get-prebuild.exe :

get-prebuild.exe kalilinux/kali-linux-docker
install.exe kalilinux/kali-linux-docker

Note : J’ai régulièrement l’erreur Accès refusé avec install.exe. Il suffit d’insister un peu (= le relancer) et cela a toujours fini par passer.

Dans le cas d’une erreur 0x80070002, il s’agirait d’une erreur de permissions (source et source) mais je suis preneur d’une solution…

C’est cassé !

Si l’installation part en cacahuète, il est possible de repartir de zéro avec les trois commandes suivantes :

lxrun /uninstall /full /y
lxrun /install /y
lxrun /setdefaultuser root /y

Il faudra ensuite réinstaller ses distributions.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s