我正在观察以下行为,并想知道我是否遗漏了某些东西或遇到了错误:我在一个.mount
单元的一个Requires
节中指定一个systemd
单元。如果路径包含 a -
(\\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。
改变
至
在你的
.service
文件中。