Ich habe hier eine Problemumgehung, aber es funktioniert nicht für diese Dienste, die explizit systemd erfordern:
Benutze immer noch /init
statt /sbin/init
auf WSL2, funktioniert für reguläre Dienste, nicht für solche, die explizit 'systemd' erfordern.
Finden Sie heraus, wo sich systemctl befindet:
which systemctl
Verwenden Sie den Pfad zu systemctl für die folgenden Befehle.
Installieren Sie Python 2 (falls nicht standardmäßig verfügbar):
sudo dnf install python2 -y
sudo ln -s /usr/bin/python2 /usr/bin/python
Wrappen Sie systemctl in Python (oder lassen Sie systemctl irgendwie mit systemd arbeiten, nicht auf PID 1):
sudo mv /usr/bin/systemctl /usr/bin/systemctl.old
curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py >temp
sudo mv temp /usr/bin/systemctl
sudo chmod +x /usr/bin/systemctl
Testsystemctl:
sudo dnf install nginx -y
sudo systemctl start nginx
curl localhost
sudo systemctl stop nginx