尚未使用systemd作为初始化系统(PID 1)引导系统。无法操作

时间:2018-09-06 05:46:41

标签: redis windows-subsystem-for-linux ubuntu-18.04

我正在尝试按照本article在WSL中进行的“数字海洋”的讨论进行Redis安装过程。安装的Ubuntu版本是Ubuntu 18.04。

redis安装中的一切都很好,但是当我尝试运行此sudo systemctl start redis时,我收到了此消息。

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

关于该怎么办的任何想法?

15 个答案:

答案 0 :(得分:24)

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

我遇到了同样的问题,在WSL上的Ubuntu中停止/启动其他服务。这工作,而systemctl没有。

一个人可能会合理地怀疑:“您怎么知道服务名称是'redis-server'?”您可以使用service --status-all

查看它们

答案 1 :(得分:12)

代替使用 sudo systemctl start redis ,请使用: sudo /etc/init.d/redis start

到目前为止,我们在WSL中还没有系统化

答案 2 :(得分:6)

如果您使用的是Docker,则可以使用以下命令尝试使用已经激活了带有System D的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或进行任何所需的操作。

答案 3 :(得分:3)

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

解决方案是命令

 $ sudo dockerd

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

 $ sudo usermod -aG docker your-user

答案 4 :(得分:3)

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

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

答案 5 :(得分:1)

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

这对我有用,

sudo service docker start

答案 6 :(得分:1)

您只需运行 sudo service docker start 即可开始运行您的 docker 服务器。您可以通过运行 service --status-all 来检查您是否拥有 docker 服务器,您应该会看到 docker 已列出。

答案 7 :(得分:0)

这对我有用(使用WSL)

sudo /etc/init.d/redis start

(对于其他服务,请检查init.d文件夹中的文件名)

答案 8 :(得分:0)

使用此命令运行每项服务 只需写名称服务即可:

用于 xrdp

sudo /etc/init.d/xrdp start

用于 redis

sudo /etc/init.d/redis start

(对于其他服务,请检查init.d文件夹中的文件名)

答案 9 :(得分:0)

这里的新手 - 在尝试了上述大部分建议后,对我有用的命令是 sudo service apache2 --full-restart 并且网络服务器启动了。

可能出现错误是因为我一直在遵循大量设置说明而没有重新启动/重新启动。我正在使用 Apache2 Debian 在 WSL2 中处理 Ubuntu 20.04。

答案 10 :(得分:0)

重新启动您的计算机,输入引导加载程序(例如 GRUB)并使用 systemd 启动 - 然后它就可以工作了!!!

答案 11 :(得分:0)

对我来说,运行此解决方法解决了我的问题: https://github.com/DamionGans/ubuntu-wsl2-systemd-script

答案 12 :(得分:0)

如果您在运行 Docker 容器时发现此错误,您可能需要像这样运行它:

<!doctype HTML>
<html>
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<script src="https://rawgit.com/donmccurdy/aframe-extras/master/dist/aframe-extras.loaders.min.js"></script>
<script src="https://cdn.rawgit.com/jeromeetienne/AR.js/1.5.0/aframe/build/aframe-ar.js"> </script>
  <a-assets>
  <a-asset-item id="rub" src="models/rubcube.gltf"></a-asset-item>
  </a-assets>
    <body style='margin : 0px; overflow: hidden;'>
    
    <a-scene arjs="debugUIEnabled: false;">
        
          <a-marker-camera preset="hiro"> 
            <a-entity 
                      gltf-model="#rub"
                      scale=" 0.5 0.5 0.5">
            </a-entity>
          <a-entity camera></a-entity>
      </a-marker-camera>
    </a-scene>
  </body>
</html>

此解决方案超出了 WSL 范围,也可以解决 linux 主机中的问题

答案 13 :(得分:-1)

我遇到了同样的问题! ps --no-headers -o comm 1 在终端中运行此命令后,系统将返回 systemd init

如果返回“ init”,则“ systemctl”命令不适用于您的系统

答案 14 :(得分:-2)

首先,以管理员身份运行 Ubuntu。 enter image description here

然后运行sudo dockerd