我正在尝试按照本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.
关于该怎么办的任何想法?
答案 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)