Systemd inschakelen op Windows-subsysteem voor Linux (WSL)

Systemd inschakelen op Windows-subsysteem voor Linux (WSL)

Het Windows-subsysteem voor Linux (WSL) is een compatibiliteitslaag voor het native uitvoeren van Linux-binaire uitvoerbare bestanden op Windows 11/10-clientcomputers en op computers met Windows Server 2019 en later. Met de release van WSL 2 zijn belangrijke wijzigingen aangebracht, zoals de eigenlijke Linux-kernel, door middel van een subset van Hyper-V-functies. In dit bericht zullen we u begeleiden bij het inschakelen van Systemd in WSL .

Wat is gesystematiseerd?

Systemd is een set basisbouwstenen voor een Linux-systeem. Het biedt een systeem- en servicemanager die werkt als PID 1 en de rest van het systeem start. Systemd is standaard geïnstalleerd op verschillende bekende distributies, waaronder Ubuntu, Debian en andere. Met deze wijziging wordt WSL nog meer vergelijkbaar met het draaien van uw favoriete Linux-distributies op bare-metal machines en kunt u toepassingen gebruiken die systeemondersteuning vereisen. Een paar voorbeelden van Linux-applicaties die afhankelijk zijn van systemd zijn snap, microk8s en systemctl.

Volgens Microsoft:

Systemd-ondersteuning vereiste wijzigingen in de WSL-architectuur. Omdat systemd PID 1 vereist, wordt het WSL-initiatieproces op een Linux-distributie een systemd-onderliggend proces. Omdat het WSL-provisioningproces verantwoordelijk is voor het leveren van de infrastructuur voor communicatie tussen Linux- en Windows-componenten, vereiste het wijzigen van deze hiërarchie een heroverweging van enkele aannames die tijdens het WSL-provisioningproces werden gemaakt. Er waren aanvullende wijzigingen nodig om een ​​schone afsluiting te garanderen (aangezien die afsluiting nu wordt beheerd door systemd) en om compatibiliteit met WSLg te garanderen. Het is ook belangrijk op te merken dat met deze wijzigingen, systemd-services uw WSL-instantie NIET in de lucht houden.

Aangezien dit het opstartgedrag van WSL verandert, wilden we voorzichtig zijn bij het toepassen van dit op de reeds bestaande WSL-distributies van een gebruiker. Op dit moment moet u zich dus registreren om systemd in te schakelen voor een specifieke WSL-distributie en we zullen de feedback monitoren en onderzoeken hoe dit gedrag in de toekomst de standaard kan worden.

Systemd inschakelen op Windows-subsysteem voor Linux (WSL)

Tot dusver, op het moment van schrijven, heeft de Windows Subsystem for Linux (WSL)-gemeenschap gezocht naar manieren om systemd te implementeren. Maar na een samenwerking met Canonical heeft Microsoft systemd officieel geïmplementeerd in WSL. Met systemd-ondersteuning beschikbaar in WSL, kunt u nu systemd binnen uw WSL-distributies uitvoeren, zodat u meer kunt doen met uw Linux-werkprocessen op uw Windows-machine.

Om systemd op uw computer te installeren, moet u het volgende doen:

Zorg ervoor dat u WSL versie 0.67.6 of hoger gebruikt.

Als je WSL hebt ingeschakeld via PowerShell en het niet hebt gedownload van de Microsoft Store op je apparaat, heb je in eerste instantie geen systemd. Het is alleen beschikbaar voor gebruikers die Windows 11 Insider Build gebruiken of WSL gebruiken die is gedownload van de Microsoft Store. Als u Ubuntu Preview op WSL gebruikt, wordt systemd automatisch toegevoegd. Dus om te controleren of u een ondersteunde versie van WSL heeft, opent u gewoon Windows Terminal en voert u de volgende opdracht uit in de PowerShell-console:

wsl –version

Op basis van de uitvoer, als WSL 0.67.6 of eerder is, kunt u naar de Microsoft Store gaan en WSL downloaden . Ook kunnen pc-gebruikers, vooral als u geen Windows Insider bent, de nieuwste versie downloaden van de WSL GitHub-repository. Systemd-ondersteuning zal in de toekomst aan alle gebruikers worden toegevoegd. Voer de volgende opdracht uit in PowerShell om te controleren op updates voor WSL:

wsl –update

Stel de systemd-vlag in de WSL-distributie-instellingen in.

Status van systemd-services weergeven

Zodra je zeker weet dat je de ondersteunde versie van WSL gebruikt die vereist is door systemd, moet je het wsl.conf-bestand bewerken (een configuratiebestand dat te vinden is op elke WSL Linux-distributie dat aanpassing per distro mogelijk maakt in plaats van het wijzigen van de algemene instellingen WSL) om ervoor te zorgen dat systemd bij het opstarten wordt gestart. Volg deze stappen om deze taak te voltooien:

  • Voer de editor uit met sudo-rechten en voeg de volgende regels toe:

[boot]systemd=true

  • Sla daarna het bestand op en sluit af.
  • U kunt nu uw WSL Windows-distributie sluiten en de volgende opdracht in PowerShell uitvoeren om uw WSL-instanties opnieuw te starten.

wsl.exe --shutdown

  • Eenmaal gestart, zou systemd moeten draaien. Voer de onderstaande opdracht uit om de status van uw services te controleren en weer te geven:

systemctl list-unit-files --type=service

Hier leest u hoe u Systemd kunt inschakelen op het Windows-subsysteem voor Linux (WSL)!

Hoe start ik systemd op als init?

Om op te starten onder systemd, selecteert u het opstartmenu-item dat u voor dat doel hebt gemaakt. Als je geen opstartmenu-item hebt gemaakt, selecteer je gewoon het item voor je gepatchte kernel, bewerk je de kernelopdrachtregel rechtstreeks in grub en voeg je de volgende regel toe: init=/lib/systemd/systemd.

Bron: The Windows Club

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *