gpt4 book ai didi

service - systemd 服务启动失败 : no service. 挂载单元

转载 作者:行者123 更新时间:2023-12-04 03:02:35 28 4
gpt4 key购买 nike

我写了一个程序(节点 js,在 Raspberry Pi 上),我可以手动启动,但不能作为 systemd 服务:

pi@blueberry ~ $ systemd --version
systemd 215
+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR
pi@blueberry ~ $ sudo systemctl daemon-reload
pi@blueberry ~ $ sudo systemctl start /etc/systemd/system/rfxtrx.service
Failed to start etc-systemd-system-rfxtrx.service.mount: Unit etc-systemd-system-rfxtrx.service.mount failed to load: No such file or directory.
pi@blueberry ~ $

错误消息提示没有 rfxtrx.service.mount 单元。正确的。应该有这样的单位吗?最常见的建议是 daemon-reload;这没有帮助。或按照 https://github.com/systemd/systemd/issues/5375这可能是 systemd 中的一个错误,该错误已修复,但仅在比 raspbian 中的 systemd 版本更高的 systemd 版本中(raspbian 的版本为 215)。

除了尝试更新到 raspbian 维护者不支持的版本之外,还有其他解决方案吗?

最佳答案

那么这里的第一个问题是您正在运行以启动服务名称 rfxtrx.service然而 systemd 正在等待 etc-systemd-system-rfxtrx.service.mount .

如果您尝试使用 systemd 挂载配置,那么您的文件名应遵循以下规则:

Mount units must be named after the mount point directories they control. Example: the mount point /home/lennart must be configured in a unit file home-lennart.mount.



因此,如果您想在 /dir/to/rfxtrx 处创建挂载点那么systemd挂载文件需要命名为 dir-to-rfxtrx.mount ,并且建议它位于 /usr/lib/systemd/system//etc/systemd/system/后一个目录优先。

如果您只想拥有一个服务文件,请启用该单元 systemctl enable rfxtrx.service . systemctl daemon-reload当单元已经注册到 systemd 并且需要重新加载时使用。

您可以使用命令 systemctl list-units 检查该服务是否存在于 systemd。或 systemctl status rfxtrx.service .

你的错误是你在做 sudo systemctl start /etc/systemd/system/rfxtrx.service而不是 sudo systemctl start rfxtrx.service .

关于service - systemd 服务启动失败 : no service. 挂载单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47856974/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com