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

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

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

你知道我该怎么做吗?


当前回答

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

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

其他回答

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

sudo /etc/init.d/redis start

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

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

解决办法就是命令

 $ sudo dockerd

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

 $ sudo usermod -aG docker your-user

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

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

然后你只需要运行:

Docker执行- redis /bin/bash

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

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

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

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

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

这对我很有效,

Sudo服务docker启动