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