WSL Redis遇到System has not boot with systemd as init System (PID 1).不能操作

我试图遵循在这个数字海洋的文章中讨论的Redis安装过程,用于WSL(Windows子系统for Linux)。安装的Ubuntu版本为Ubuntu 18.04。

redis安装中的一切都很好,但当我试图运行这个sudo systemctl start redis时,我得到了这个消息。

System has not been booted with systemd as init system (PID 1). Can't operate.

你知道我该怎么做吗?

662765 次浏览

相反,请使用:sudo service redis-server start

我也遇到了同样的问题,在WSL上从Ubuntu内部停止/启动其他服务。这是有效的,而systemctl没有。

人们可能会问,“你怎么知道服务名称是'redis-server'?”你可以使用service --status-all看到它们

而不是使用

sudo systemctl start redis

使用:

sudo /etc/init.d/redis start

到目前为止,我们还没有WSL的系统

或者有时可能是redis-server,比如:

>> sudo /etc/init.d/redis-server start
Starting redis-server: redis-server.

只需执行ls,例如:ls /etc/init.d

如果你正在使用Docker,你可以用下面的命令尝试一个已经激活了Ubuntu系统D的映像:

docker run -d --name redis --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-ubuntu:18.04

然后你只需要运行:

docker exec -it redis /bin/bash

在那里你可以安装Redis,启动它,重启它或者做任何你需要的事情。

我在运行WSL 2时遇到了这个问题

解决办法就是命令

 $ sudo dockerd

如果在此之后,您仍然有权限的问题,运行命令:

 $ sudo usermod -aG docker your-user

这对我来说很有效(使用WSL)

sudo /etc/init.d/redis start

(对于任何其他服务,检查init. init.)D文件夹的文件名)

使用此命令运行所有服务 例如:

对于xrdp:

sudo /etc/init.d/xrdp start

对于复述,:

sudo /etc/init.d/redis start

(对于任何其他服务,检查init. init.)D文件夹的文件名)

我试图在ubuntu和WSL中启动Docker。

这对我很有效,

sudo service docker start

对于WSL2,我必须安装cgroupfs-mount,然后启动守护进程,如在这里所述:

sudo apt-get install cgroupfs-mount
sudo cgroupfs-mount
sudo service docker start

这里完全是新手-在尝试了上面的大部分建议后,对我有效的命令是sudo service apache2 --full-restart, web服务器启动了。

可能出现错误是因为我一直在遵循大量的安装说明而没有重新启动/重新启动。我正在使用Apache2 Debian在WSL2中的Ubuntu 20.04上工作。