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

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

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


而不是使用

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 2时遇到了这个问题

解决办法就是命令

 $ sudo dockerd

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

 $ sudo usermod -aG docker your-user

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

sudo /etc/init.d/redis start

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


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

对于XRDP:

sudo /etc/init.d/xrdp start

对于redis:

sudo /etc/init.d/redis start

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


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

这对我很有效,

Sudo服务docker启动


对于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上工作。