Systemd est le gestionnaire de système et de services par défaut pour la plupart des distributions Linux. Mais Systemd est également un système d'initialisation très controversé. Les critiques relatives à Systemd portent principalement sur le fluage des fonctionnalités, car le projet ne serait pas conforme à la philosophie « faire une chose et bien la faire » des systèmes Unix en général. D'autres aspects, comme l'utilisation de journaux binaires (par opposition aux journaux de texte lisibles par l'homme), ont également suscité des critiques. En outre, les critiques ont été également alimentées par la découverte de failles de sécurité "graves".
Microsoft a annoncé mercredi dernier la prise en charge de Systemd par WSL. Cela signifie que les applications qui dépendent de Systemd pour leur utilisation ou simplement pour une gestion facile peuvent maintenant fonctionner plus facilement sous cet environnement WSL sur Windows 10 et Windows 11. Cette mise à jour est spécifique à WSL2, la deuxième génération de WSL. WSL2 exécute un noyau Linux complet dans une machine virtuelle dédiée, en utilisant un sous-ensemble des fonctionnalités de l'hyperviseur Hyper-V intégré à Windows. La version originale de WSL était un outil très différent, qui ne contenait pas de noyau Linux complet.
Craig Loewen de Microsoft a déclaré que WSL2 fonctionne désormais avec plus d'applications. La firme de Redmond semble avoir collaboré avec Canonical, le développeur de la distribution Ubuntu, pour offrir cette fonctionnalité aux utilisateurs de WSL. Dans un billet de blogue publié mercredi, Canonical a fourni quelques détails techniques et expliqué la marche à suivre pour activer Systemd sous Ubuntu dans WSL. L'annonce correspondante de Microsoft n'est pas aussi technique, mais expose certaines des modifications importantes entreprises pour aboutir à cette fonctionnalité, notamment la modification du fonctionnement de WSL2.
La prise en charge de Systemd a nécessité des modifications de l'architecture WSL. Comme Systemd requiert PID 1, le processus d'initialisation WSL lancé dans la distribution Linux devient un processus enfant de Systemd. De plus, comme le processus d'initialisation WSL est chargé de fournir l'infrastructure de communication entre les composants Linux et Windows, la modification de cette hiérarchie a nécessité de repenser certaines des hypothèses faites avec le processus d'initialisation WSL. Des modifications supplémentaires ont également dû être apportées pour garantir un arrêt propre et pour assurer la compatibilité avec WSLg.
Il est également important de noter qu'avec ces changements, les services Systemd ne maintiendront pas votre instance WSL en vie. Votre instance WSL restera en vie de la même manière qu'avant. Microsoft a ajouté que cette fonctionnalité ne fera pas l'objet d'une mise à jour automatique pour ne pas causer des problèmes aux utilisateurs existants. « Étant donné que cela modifie le comportement de WSL au démarrage, nous voulions être prudents quant à l'application de ce changement aux distributions WSL déjà existantes des utilisateurs. Pour l'instant, vous devez choisir d'activer Systemd pour une distribution WSL spécifique », a-t-il déclaré.
Ce changement signifie que l'utilisation de WSL sera encore plus semblable à l'utilisation de vos distributions Linux préférées sur une machine bare-metal, et vous permettra d'utiliser des logiciels qui dépendent du support de Systemd. Voici ci-dessous quelques exemples d'applications Linux qui dépendent de Systemd :
- snap : un binaire pratique qui vous permet d'installer et de gérer des logiciels dans Ubuntu ;
- microk8s : faites fonctionner Kubernetes localement sur votre système rapidement ;
- systemctl : un outil qui fait partie de Systemd et interagit avec les services sur votre machine Linux.
La prise en charge de Systemd par le sous-système Windows pour Linux a sans doute été facilitée par l'arrivée de Lennart Poettering, le créateur de Systemd, chez le géant de Redmond il y a quelques mois. Poettering, un développeur de 41 ans basé à Berlin, est né à Guatemala City et a grandi à Rio de Janeiro. Il est surtout connu pour son travail sur Systemd, mais d'autres de ses projets ont également été largement adoptés. Il a déclaré que, même en quittant Red Hat pour Microsoft, il reste toujours concentré sur Systemd. Cela montre également à quel point le projet Linux est devenu important pour Microsoft ces dernières années.
Microsoft a employé un certain nombre de développeurs Linux et d'autres éminents développeurs open source ces dernières années. Microsoft emploie actuellement l'inventeur de Python Guido van Rossum, l'inventeur de GNOME Miguel de Icaza a été employé par Microsoft en 2016 lors de l'acquisition de Xamarin, Nat Friedman a été PDG de GitHub, Daniel Robbins, fondateur de Gentoo Linux, a été employé par Microsoft, Steve French travaille pour Microsoft en tant que mainteneur Linux CIFS/SMB2/SMB3 et membre de l'équipe Samba. En outre, Linux est largement déployé sur Azure, le service de cloud computing de Microsoft.
Sources : Microsoft, Canonical
Et vous ?
Que pensez-vous de l'arrivée du support de Systemd dans WLS ?
Quel serait l'impact de ce changement sur la productivité des développeurs ?
Voir aussi
Microsoft facilite l'installation du sous-système Windows pour Linux dans Windows 11 et effectue un rétroportage de cette fonctionnalité dans Windows 10 à partir de la version 2004
La dernière version de systemd inclut une fonctionnalité expérimentale pour les mises à jour de type A/B, et la version par défaut de C est passée de C89 à C11
Lennart Poettering, le créateur de Systemd, aurait quitté Red Hat pour Microsoft, l'entreprise emploie actuellement l'inventeur de Python Guido van Rossum, l'inventeur de GNOME Miguel de Icaza