So aktivieren Sie Systemd auf dem Windows-Subsystem für Linux (WSL)
Das Windows-Subsystem für Linux (WSL) ist eine Kompatibilitätsebene zum nativen Ausführen von ausführbaren Linux-Binärdateien auf Windows 11/10-Clientcomputern sowie auf Computern mit Windows Server 2019 und höher. Mit der Veröffentlichung von WSL 2 wurden wichtige Änderungen vorgenommen, wie z. B. der eigentliche Linux-Kernel, durch eine Teilmenge von Hyper-V-Funktionen. In diesem Beitrag zeigen wir Ihnen, wie Sie Systemd in WSL aktivieren .
Was ist systemd?
Systemd ist ein Satz grundlegender Bausteine für ein Linux-System. Es bietet einen System- und Dienstmanager, der als PID 1 läuft und den Rest des Systems startet. Systemd wird standardmäßig auf mehreren bekannten Distributionen installiert, darunter Ubuntu, Debian und andere. Mit dieser Änderung wird WSL noch vergleichbarer mit der Ausführung Ihrer bevorzugten Linux-Distributionen auf Bare-Metal-Maschinen und ermöglicht Ihnen die Verwendung von Anwendungen, die systemd-Unterstützung erfordern. Einige Beispiele für Linux-Anwendungen, die von systemd abhängen, sind snap, microk8s und systemctl.
Laut Microsoft:
Die Systemd-Unterstützung erforderte Änderungen an der WSL-Architektur. Da systemd PID 1 erfordert, wird der WSL-Init-Prozess, der auf einer Linux-Distribution ausgeführt wird, zu einem untergeordneten systemd-Prozess. Da der WSL-Bereitstellungsprozess für die Bereitstellung der Infrastruktur für die Kommunikation zwischen Linux- und Windows-Komponenten verantwortlich ist, erforderte die Änderung dieser Hierarchie ein Überdenken einiger Annahmen, die während des WSL-Bereitstellungsprozesses getroffen wurden. Zusätzliche Änderungen waren erforderlich, um ein sauberes Herunterfahren sicherzustellen (da dieses Herunterfahren jetzt von systemd gesteuert wird) und um die Kompatibilität mit WSLg sicherzustellen. Es ist auch wichtig zu beachten, dass systemd-Dienste mit diesen Änderungen Ihre WSL-Instanz NICHT am Laufen halten.
Da dies das Startverhalten von WSL ändert, wollten wir vorsichtig sein, wenn wir dies auf bereits vorhandene WSL-Distributionen eines Benutzers anwenden. Daher müssen Sie sich derzeit registrieren, um systemd für eine bestimmte WSL-Distribution zu aktivieren, und wir werden das Feedback überwachen und untersuchen, wie dieses Verhalten in Zukunft zum Standard gemacht werden kann.
So aktivieren Sie Systemd auf dem Windows-Subsystem für Linux (WSL)
Zum Zeitpunkt des Schreibens dieses Artikels hat die Windows Subsystem for Linux (WSL)-Community bisher nach Möglichkeiten gesucht, systemd zu implementieren. Aber nach einer Partnerschaft mit Canonical hat Microsoft systemd offiziell in WSL implementiert. Mit der in WSL verfügbaren systemd-Unterstützung können Sie jetzt systemd in Ihren WSL-Distributionen ausführen, sodass Sie mehr mit Ihren Linux-Arbeitsprozessen auf Ihrem Windows-Computer tun können.
Um systemd auf Ihrem Computer zu installieren, müssen Sie Folgendes tun:
Stellen Sie sicher, dass Sie die WSL-Version 0.67.6 oder höher verwenden.
Wenn Sie WSL über PowerShell aktiviert und nicht aus dem Microsoft Store auf Ihr Gerät heruntergeladen haben, haben Sie anfangs kein systemd. Es ist nur für Benutzer verfügbar, die Windows 11 Insider Build ausführen oder WSL verwenden, die aus dem Microsoft Store heruntergeladen wurde. Wenn Sie Ubuntu Preview auf WSL ausführen, wird systemd automatisch hinzugefügt. Um also zu überprüfen, ob Sie eine unterstützte Version von WSL haben, öffnen Sie einfach Windows Terminal und führen Sie den folgenden Befehl in der PowerShell-Konsole aus:
wsl –version
Basierend auf der Ausgabe können Sie, wenn WSL 0.67.6 oder früher ist, zum Microsoft Store wechseln und WSL herunterladen . Außerdem können PC-Benutzer, insbesondere wenn Sie kein Windows-Insider sind, die neueste Version aus dem WSL-GitHub-Repository herunterladen . Die Systemd-Unterstützung wird in Zukunft allen Benutzern hinzugefügt. Führen Sie den folgenden Befehl in PowerShell aus, um nach Updates für WSL zu suchen:
wsl –update
Setzen Sie das systemd-Flag in den WSL-Verteilungseinstellungen.
Sobald Sie sichergestellt haben, dass Sie die unterstützte Version von WSL ausführen, die von systemd benötigt wird, müssen Sie die Datei wsl.conf bearbeiten (eine Konfigurationsdatei, die in jeder WSL-Linux-Distribution zu finden ist und die eine Anpassung pro Distribution ermöglicht, anstatt die allgemeine Einstellungen WSL), um sicherzustellen, dass systemd beim Booten gestartet wird. Führen Sie die folgenden Schritte aus, um diese Aufgabe abzuschließen:
- Führen Sie den Editor mit sudo-Rechten aus und fügen Sie die folgenden Zeilen hinzu:
[boot]systemd=true
- Speichern Sie danach die Datei und beenden Sie sie.
- Sie können jetzt Ihre WSL-Windows-Distribution schließen und den folgenden Befehl in PowerShell ausführen, um Ihre WSL-Instanzen neu zu starten.
wsl.exe --shutdown
- Nach dem Start sollte systemd laufen. Führen Sie den folgenden Befehl aus, um den Status Ihrer Dienste zu überprüfen und anzuzeigen:
systemctl list-unit-files --type=service
So können Sie Systemd auf dem Windows-Subsystem für Linux (WSL) aktivieren!
Wie boote ich in systemd als init?
Um unter systemd zu booten, wählen Sie das Boot-Menüelement aus, das Sie zu diesem Zweck erstellt haben. Wenn Sie keinen Bootmenüeintrag erstellt haben, wählen Sie einfach den Eintrag für Ihren gepatchten Kernel aus, bearbeiten Sie die Kernel-Befehlszeile direkt in Grub und fügen Sie die folgende Zeile hinzu: init=/lib/systemd/systemd.
Quelle: Der Windows-Club
Schreibe einen Kommentar