我创建了一个单元文件来自动挂载 /srv 分区。它会首先检查是否/dev/mapper/srv
存在,然后启动它。我想更进一步,只有当它/dev/mapper/srv
是 LUKS 加密块设备时才可以启动,并带有该ConditionPathIsEncrypted
选项。但我收到警告:/etc/systemd/system/srv.mount:4: Unknown lvalue 'ConditionPathIsEncrypted' in section 'Unit'
我尝试给它一个布尔值,但这也不起作用。把它放在[Mount]
类别中也没有解决它。
[Unit]
Description=srv mount
ConditionPathExists=/dev/mapper/srv
#ConditionPathIsEncrypted=/dev/mapper/srv
[Mount]
What=/dev/mapper/srv
Where=/srv
Type=ext4
Options=defaults
[Install]
WantedBy=multi-user.target
我究竟做错了什么?
答案1
ConditionPathIsEncrypted=
仅存在于 v264-rc1 及更高版本中。
如果您想了解您使用的版本支持哪些条件,我建议您查看“systemd.unit”联机帮助页。
man systemd.unit
有一个“条件和断言”部分 - 例如,Ubuntu 20.04 附带的 systemd 版本是 v245,因此缺少条件ConditionPathIsEncrypted=
。