Tengo una solución aquí, pero no funciona para aquellos servicios que requieren explícitamente systemd:
Todavía usando /init
en lugar de /sbin/init
en WSL2, funciona para servicios regulares, no para aquellos que requieren explícitamente 'systemd'.
Averigüe dónde está systemctl:
which systemctl
Use la ruta a systemctl para los siguientes comandos.
Instale Python 2 (si no está disponible por defecto):
sudo dnf install python2 -y
sudo ln -s /usr/bin/python2 /usr/bin/python
Envuelva systemctl en Python (o de alguna manera deje que systemctl funcione con systemd no en 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
Sistema de pruebactl:
sudo dnf install nginx -y
sudo systemctl start nginx
curl localhost
sudo systemctl stop nginx