我想在每次插入驱动器时自动安装具有特定标签的驱动器。我确实不是想要使用任何其他工具,systemd
因为其他单元依赖于安装并且必须自动启动。
我目前得到的是:
/lib/systemd/system/mount-camera.mount
[Unit]
Description=the camera SDCard
StopWhenUnneeded=true
Before=copy-camera.service
[Mount]
What=LABEL=CAMERA
Where=/mount/camera
Type=vfat
[Install]
WantedBy=multi-user.target
/lib/systemd/system/mount-camera.automount
[Unit]
Description=camera SDCard
[Automount]
Where=/mount/camera
[Install]
WantedBy=multi-user.target
如果我进入安装点,这确实成功安装了驱动器cd
。但是我希望驱动器在插入后就被安装,因为有一个由安装单元启动的服务。
是否可以使用 systemd 实现此目的?如果可以,如何实现?
如果不可能的话:有没有办法只需很少的额外步骤就可以做到?
笔记
我知道我可以添加一个计时器,cd
每 x 秒进入挂载点一次 - 但这并不是很优雅,不是吗?
答案1
通过阅读man systemd.mount
和man systemd.automount
,看来您想要的东西是无法systemd
单独实现的。建议的解决方案是添加 udev 规则。
答案2
正如@MarkStosberg 指出的那样:看来systemd
仅靠自己是无法实现这一点的。
正如@rtaft 指出的那样:fstab
值得一试。
解决方案是:添加一个条目,fstab
然后就可以了。没有冲突,systemd
自动解析文件。
添加/etc/fstab
:
LABEL=CAMERA /mount/camera auto user,rw,nofail 0 0
服务按预期启动。我保留了.automount
和.mount
单元文件。