我有一个非常简单的 systemd 单元文件,但它不以 .service 结尾,而是以 .mount 结尾。我不确定这究竟有何不同,但是当我开始使用时systemctl start hello.mount
我收到此错误Where= setting doesn't match unit name
,是的,Where=
是我的安装点,因此它指向一个目录而不是单元文件。
那么我错过了什么吗?我是否必须以不同的方式启动 .mount 单元文件?
[Unit]
Description=Mount file to path
[Mount]
What=path to file....
Where=path to dir....
Type=btrfs
答案1
错误出在单元文件名中。 [Mount] 部分中的 Man systemd.mount(5) 解释道:
其中= 获取安装点目录的绝对路径。如果 挂载时挂载点不存在,是 创建的。该字符串必须反映在单元文件名中。(看 如上所述。)此选项是强制性的。
因此,如果在您的位置有一个名为 /mnt/disk-0 的挂载点目录,您应该将您的单元文件称为 mnt-disk-0.mount 而不是 hello.mount 。
您可以阅读更多内容手动 systemd.mount(5)。