Comment activer Systemd dans le sous-système Windows pour Linux (WSL)

est une couche de compatibilité pour exécuter les exécutables binaires Linux de manière native sur les machines client Windows 11/10 et Windows Server 2019 et les machines plus récentes. Avec la sortie de, des changements importants ont été introduits comme un véritable noyau Linux, via un sous-ensemble de fonctionnalités Hyper-V. Dans cet article, nous vous expliquons les étapes à suivrecomment activer Systemd dans WSL.

Qu’est-ce que Systemd ?

Systemd est une suite de blocs de construction de base pour un système Linux. Il fournit un gestionnaire de système et de services qui s'exécute sous le PID 1 et démarre le reste du système. Systemd est installé par défaut dans plusieurs distributions bien connues, notamment Ubuntu, Debian et autres. Avec ce changement, WSL sera encore plus comparable à l'exécution de vos distributions Linux préférées sur des machines nues et permettra l'utilisation d'applications nécessitant la prise en charge de systemd. Quelques exemples d'applications Linux qui dépendent de systemd sontinstantané,microk8s, etsystèmectl.

Selon Microsoft :

La prise en charge de systemd nécessitait des modifications de l'architecture WSL. Comme systemd nécessite le PID 1, le processus d'initialisation WSL démarré dans la distribution Linux devient un processus enfant de systemd. Étant donné que 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 formulées avec le processus d'initialisation WSL. Des modifications supplémentaires ont dû être apportées pour garantir un arrêt propre (car cet arrêt est désormais contrôlé par systemd) et pour avoir une compatibilité avec WSLg. Il est également important de noter qu'avec ces changements, les services systemd ne maintiendront PAS votre instance WSL en vie.

Étant donné que cela modifie le comportement de WSL lors du démarrage, nous voulions faire attention à l'appliquer aux distributions WSL déjà existantes de l'utilisateur. Donc, actuellement, vous devez choisir d'activer systemd pour une distribution WSL spécifique, et nous surveillerons les commentaires et étudierons la création de ce comportement par défaut à l'avenir.

Lire:

Jusqu'à présent, au moment de la rédaction de cet article, la communauté du sous-système Windows pour Linux (WSL) a élaboré ses méthodes pour implémenter systemd. Mais, dans la foulée d'un partenariat avec Canonical, Microsoft a officiellement implémenté systemd dans WSL. Avec la prise en charge de systemd disponible dans WSL, vous pouvez désormais exécuter systemd dans vos distributions WSL, vous permettant ainsi d'en faire plus avec vos flux de travail Linux sur votre machine Windows.

Pour obtenir systemd sur votre machine, vous devrez procéder comme suit :

Assurez-vous que vous exécutez WSL version 0.67.6 et supérieure

Si vous avez activé WSL via PowerShell et ne l'avez pas téléchargé depuis le Microsoft Store sur votre appareil, vous n'aurez pas systemd initialement. Seuls les utilisateurs exécutant la version Insider de Windows 11 ou ceux utilisant WSL téléchargé à partir du Microsoft Store l’auront. Si vous utilisez Ubuntu Preview sur WSL, systemd est ajouté automatiquement. Donc, pour vérifier si vous disposez de la version prise en charge de WSL, ouvrez simplement le terminal Windows et dans la console PowerShell, exécutez la commande suivante :

wsl –version

À partir du résultat, si la version WSL est 0.67.6 ou antérieure, vous pouvez vous rendre sur le Microsoft Store etWSL. Alternativement, les utilisateurs de PC, surtout si vous n'êtes pas un Windows Insider, peuventtéléchargerla dernière version du dépôt WSL GitHub. À l’avenir, tous les utilisateurs bénéficieront du support systemd. Pour rechercher des mises à jour de WSL, exécutez la commande ci-dessous dans PowerShell :

wsl –update

Lire:

Définissez l'indicateur systemd défini dans les paramètres de votre distribution WSL

Une fois que vous avez vérifié que vous exécutez la version prise en charge de WSL requise pour systemd, vous devrez modifier le fichierwsl.conf(un fichier de configuration trouvé dans n'importe quelle distribution WSL Linux et vous permet de configurer par distribution, plutôt que de modifier les paramètres généraux WSL) pour garantir le démarrage de systemd au démarrage. Pour effectuer cette tâche, procédez comme suit :

  • Exécutez votre éditeur avec les privilèges sudo puis ajoutez les lignes suivantes :
[boot]
systemd=true
  • Une fois terminé, enregistrez le fichier puis quittez.
  • Maintenant, vous pouvez fermer votre distribution WSL Windows et exécuter la commande suivante dans PowerShell pour redémarrer vos instances WSL.
wsl.exe --shutdown
  • Au lancement, vous devriez avoir systemd en cours d'exécution. Pour vérifier et afficher l'état de vos services, exécutez la commande ci-dessous :
systemctl list-unit-files --type=service

Lire:

C'est ainsi que vous pouvez activer Systemd dans le sous-système Windows pour Linux (WSL) !

Comment démarrer sur systemd en tant qu’initialisation ?

Pour démarrer sous systemd, sélectionnez l'entrée du menu de démarrage que vous avez créée à cet effet. Si vous n'avez pas créé l'entrée du menu de démarrage, sélectionnez simplement l'entrée correspondant à votre noyau corrigé, modifiez la ligne de commande du noyau directement dans grub et ajoutez la ligne suivante :init=/lib/systemd/systemd.

Related Posts