GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So aktivieren Sie systemd auf WSL2:Ubuntu 20 und CentOS 8

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

Linux
  1. So installieren und konfigurieren Sie Nginx unter CentOS 8

  2. So installieren Sie Terraform unter CentOS 7/Ubuntu 18.04

  3. So installieren und konfigurieren Sie Nginx unter Ubuntu 20.04

  4. So aktivieren Sie HTTP/2 in Nginx unter Ubuntu und CentOS

  5. So debuggen Sie den systemd-Startvorgang in CentOS/RHEL 7 und 8

So aktivieren und deaktivieren Sie AppArmor unter Ubuntu 20.04

So installieren oder aktivieren Sie Cockpit unter Ubuntu 20.04

So erstellen Sie einen Sudo-Benutzer unter Ubuntu und Debian

So installieren und konfigurieren Sie GlusterFS unter CentOS 7/CentOS 8

So erstellen Sie einen E-Commerce mit Prestashop und Ubuntu 18.04

So installieren und konfigurieren Sie Sendmail unter Ubuntu