【问题标题】:"Failed to connect to bus: No such file or directory" in Bosh liteBosh lite 中的“无法连接到总线:没有这样的文件或目录”
【发布时间】:2019-06-12 13:45:56
【问题描述】:

我在我的机器上运行 Bosh lite,我在 Ubuntu 16.04 Stemcell 上运行的三个花园容器上部署了一个 Patroni 集群。我创建了一个 systemd 服务,我想在这个测试环境中使用它,但我无法启动它。

问题是 Bosh lite 默认不以 systemd 开头,如果我运行:

systemctl --user start patroni_fencer.service

我收到以下错误:

Failed to connect to bus: No such file or directory

我在 StackOverflow 上发现了两个可能的讨论:

Failed to connect to bus: No such file or directory

systemd servicefailed to connect to session d-bus

但他们没有解决我的问题,因为他们指的是 Docker,而我的问题是在 Bosh lite 上。我注意到 Bosh lite 有 garden-init 作为 PID 1 进程,它以 runit 系统启动。

有没有办法在我的 Bosh lite 容器中测试我的 systemd 服务? 如果我可以手动启动 systemd 然后运行典型的 systemctl 命令也可以。这只是一个测试环境。

【问题讨论】:

    标签: ubuntu systemd cf-bosh


    【解决方案1】:

    docker-systemctl-replacement 不需要运行 systemd 守护程序来启动在某些 *.service 文件中定义的服务。如果你不在 docker 内部使用它,那么你可以直接运行 systemctl.py 脚本而不安装它。

    该工具的作用:它在标准目录中查找patroni_fencer.service。它将查找 ExecStart 行,解释并执行它。 exec 的命令从 systemctl.py 中分离出来,因此它将重新分配给您系统上的 PID-1。

    【讨论】:

    • 在哪里可以找到 systemctl.py 脚本?
    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 2017-11-29
    • 2015-12-24
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 2018-01-14
    相关资源
    最近更新 更多