Redis 系统尚未以systemd作为初始系统(PID 1)启动。Can';不工作
我正试图遵循Redis的安装过程,正如在WSL的《数字海洋》中讨论的那样。安装的Ubuntu版本是Ubuntu 18.04 redis安装中的一切都很好,但是当我尝试运行这个Redis 系统尚未以systemd作为初始系统(PID 1)启动。Can';不工作,redis,windows-subsystem-for-linux,ubuntu-18.04,Redis,Windows Subsystem For Linux,Ubuntu 18.04,我正试图遵循Redis的安装过程,正如在WSL的《数字海洋》中讨论的那样。安装的Ubuntu版本是Ubuntu 18.04 redis安装中的一切都很好,但是当我尝试运行这个sudo systemctl start redis时,我收到了这个消息 System has not been booted with systemd as init system (PID 1). Can't operate. 你知道我该怎么做吗?相反,使用:sudo服务redis服务器启动 我也有同样的问题,在WSL
sudo systemctl start redis
时,我收到了这个消息
System has not been booted with systemd as init system (PID 1). Can't operate.
你知道我该怎么做吗?相反,使用:
sudo服务redis服务器启动
我也有同样的问题,在WSL上停止/启动Ubuntu中的其他服务。这是可行的,而systemctl没有
有人可能会问,“你怎么知道服务名是‘redis server’?”你可以看到他们使用的是service--status all
,而不是使用
sudo系统ctl启动redis
使用:
sudo/etc/init.d/redis start
到目前为止,WSL中还没有systemd,如果您使用的是Docker,您可以使用以下命令尝试一个已经激活了systemd的Ubuntu的图像:
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、启动它、重新启动它或任何您需要的东西。我在运行WSL2时遇到了这个问题 解决办法是命令
$ sudo dockerd
如果在此之后您的权限仍然存在问题,请运行以下命令:
$ sudo usermod -aG docker your-user
我遇到了同样的问题!
ps--无标题-o命令1
在终端中运行此操作后,系统将返回systemd或init
如果它返回'init',那么'systemctl'命令将不适用于您的系统这对我有效(使用WSL)
(对于任何其他服务,请检查init.d文件夹中的文件名)使用此命令运行每个服务 只需编写名称服务,例如: 对于xrdp:
sudo /etc/init.d/xrdp start
sudo /etc/init.d/redis start
对于redis:
sudo /etc/init.d/xrdp start
sudo /etc/init.d/redis start
(对于任何其他服务,请检查init.d文件夹中的文件名)我试图在ubuntu和WSL中启动Docker 这对我很有效
sudo服务docker start
对于WSL2,我必须安装cgroupfs mount,然后启动守护进程,如下所述:
您只需运行
sudo服务docker start
,即可开始运行docker服务器。您可以通过运行服务--status all
来检查您是否拥有docker服务器,您应该会看到docker列表。这里完全是新手-在尝试了上述大多数建议之后,对我有效的命令是sudo service apache2--完全重新启动
,web服务器启动
可能是因为我一直在遵循大量的安装说明,而没有重新启动/重新启动,所以出现了错误。我正在使用Apache2 Debian在WSL2中开发Ubuntu20.04。重新启动计算机,输入bootloader(例如GRUB)并使用systemd启动-然后它就会工作 首先,以管理员身份运行Ubuntu。
然后运行
sudo dockerd
按照此方法是。。自从我写这个问题以来,我也一直在使用这个,评论中的那个评论也有一个评论,非常有用,非常感谢。这适用于在WSL环境中安装的大多数服务,而我们不能使用systemctl来启动|停止|重新启动服务。鉴于这是评级最高的答案,最好能看到这里发生的更多信息。据我所知,服务
是一种抽象,可以回溯到init.d
(sysv init)或systemd
,正如问题所暗示的那样,这是不起作用的。弗雷利昂,既然这是我的答案,我会尽力解决你的问题。需要明确的是,问题是在尝试启动Redis(特别是在WSL上)时出现了一个错误,使用其他地方记录的公共启动命令时,systemctl start Redis
,对OP不起作用。它对我也不起作用。我找到了这个替代方案(redis server start
),并来到这里作为答案。我很高兴它帮助了其他人。但我无法解释“这里发生了什么”,或者为什么它与你的期望背道而驰。您可以随意详细说明,因为您可能会发现更多,或者其他人可能会。Docker不会在WSL中运行。@Aditya它在WLS 2中运行。您知道它在WLS 2中是否可用吗?从快速搜索中可以看出,WSL2没有使用systemd启动。这里有一个我没有测试过的解决方法。我如何在fedora/centos图像中使用它。您还必须启动发行版。因此,我有两个终端,一个运行docker,另一个用于我的工作。您可以使用“sudo dockerd&”,并且不需要两个终端。请您详细说明一下您的答案。为了运行和管理mongod进程,您将使用您的操作系统内置的init系统。最新版本的Linux倾向于使用systemd(使用systemctl命令),而较旧版本的Linux倾向于使用SystemV init(使用service命令)。如果您的系统使用systemd,则命令为:-“sudo systemctl start mongod”,如果使用SystemV init,则命令为:-“sudo service mongod start”