ここで回避策がありますが、明示的に systemd を必要とするサービスでは機能しません:
まだ /init
を使用しています /sbin/init
の代わりに WSL2 では、「systemd」を明示的に必要とするサービスではなく、通常のサービスで機能します。
systemctl の場所を確認してください:
which systemctl
次のコマンドには、systemctl へのパスを使用してください。
Python 2 をインストールします (デフォルトで利用できない場合):
sudo dnf install python2 -y
sudo ln -s /usr/bin/python2 /usr/bin/python
Python で systemctl をラップします (または、systemctl が PID 1 以外の systemd で機能するようにします):
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
systemctl のテスト:
sudo dnf install nginx -y
sudo systemctl start nginx
curl localhost
sudo systemctl stop nginx