我试图遵循数字海洋这篇文章中讨论的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.

你知道我该怎么做吗?


当前回答

而不是使用

Sudo systemctl start redis

use:

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执行- redis /bin/bash

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

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

sudo /etc/init.d/redis start

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

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

解决办法就是命令

 $ sudo dockerd

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

 $ sudo usermod -aG docker your-user

使用此命令运行所有服务 以name service为例:

对于XRDP:

sudo /etc/init.d/xrdp start

对于redis:

sudo /etc/init.d/redis start

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

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

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