Présentation

NSL (NSpawn Subsystem for Linux) propose, sur un hôte Linux, des environnements complets similaires à ceux de WSL sur Windows. Le projet, publié sous licence MIT, a atteint la version v0.4.0, première itération stable d’une architecture précédemment expérimentée (v0.3.0 et antérieures). Il se positionne comme une alternative légère aux machines virtuelles classiques, en conservant la persistance des paquets et services propres à chaque distribution.

Architecture et fonctionnement

Chaque « machine » NSL s’exécute dans un conteneur systemd‑nspawn hébergé par une petite VM QEMU. Le processus démarre uniquement à la demande, utilise QEMU 10.0.13 et virtiofsd 1.13.2 pour partager le répertoire /mnt/host contenant le $HOME de l’utilisateur, /run/media/USER et /mnt. Le modèle de confiance repose sur un hôte « atomique » : NSL s’installe en tant qu’utilisateur ordinaire, ne modifie aucun paquet système, n’ajoute aucun groupe ni règle sudoers. L’option --isolated crée une VM dédiée, coupée de tout accès aux fichiers, au bureau ou aux actions de l’hôte, ce qui renforce l’isolation pour les logiciels non fiables. Le système a été validé sur Snow Linux 13 (x86‑64) avec systemd 261.2 et le serveur d’affichage GNOME Wayland.

Gestion des images et sécurité

NSL distribue sept images signées : Debian, Ubuntu, Fedora, CentOS Stream, Arch, openSUSE Tumbleweed et Leap. Les images sont reconstruites chaque semaine et vérifiées par le workflow de publication signé de Frostyard avant d’être rendues disponibles. La signature garantit l’intégrité et l’authenticité du système de fichiers racine. Exemple d’utilisation :

nsl create debian --distro debian:13   # crée une machine Debian 13
nsl run make test                     # exécute une commande et renvoie le code de sortie

Le répertoire de travail de l’utilisateur reste accessible depuis la machine via /mnt/host, les ports ouverts dans la machine sont exposés sur 127.0.0.1 de l’hôte, et les applications Wayland s’affichent directement sur le bureau.

Limites et perspectives

Le projet reste en pré‑release ; aucune version stable n’est encore publiée. La compatibilité est actuellement confirmée uniquement sur Snow Linux 13, ce qui peut limiter l’adoption sur d’autres distributions dépourvues de systemd‑nspawn ou de versions récentes de QEMU. La couche VM introduit un léger coût en performances comparé à un conteneur pur, notamment pour les charges I/O intensives. Le modèle d’isolation « --isolated » résout ce problème au prix d’une consommation mémoire supplémentaire. Les développeurs annoncent des améliorations futures, dont la prise en charge de distributions supplémentaires et l’optimisation du démarrage.