在 systemctl 状态下,使用 - 路径挂载单元,但可用于单元中的要求

在 systemctl 状态下,使用 - 路径挂载单元,但可用于单元中的要求

我观察到以下行为,想知道我是否遗漏了某些内容或遇到了错误:我在单元中的节.mount中指定了一个单元。如果路径包含(在系统单元和命令中用转义),则启动失败:Requiressystemd-\\x2d

$ mkdir /tmp/dir /tmp/dir-0 /tmp/dir0
$ sudo mount --bind /tmp/dir /tmp/dir-0

导致sudo systemctl status tmp-dir\\x2d0.mount正确打印

● tmp-dir\x2d0.mount - /tmp/dir-0
   Loaded: loaded (/proc/self/mountinfo)
   Active: active (mounted) since Tue 2018-08-21 20:34:58 CEST; 34s ago
    Where: /tmp/dir-0
     What: /dev/mapper/root-root

然而包含一个systemd单元test.service

[Unit]
Requires=tmp-dir\\x2d0.mount

[Service]
Type=oneshot
ExecStart=/bin/echo "Hello world!"

由于……而无法启动

> sudo systemctl start test.service 
Failed to start test.service: Unit tmp-dir\\x2d0.mount not found.

如果我将其用作/tmp/dir0挂载点并调整Requires单元,它可以正常工作。systemctl daemon-reload已在所有更改之间调用。

我正在使用 Ubuntu 18.04。

答案1

改变

Requires=tmp-dir\\x2d0.mount

Requires=tmp-dir\x2d0.mount

在您的.service文件中。

相关内容