使用 systemd 自动将驱动器安装到插头上

使用 systemd 自动将驱动器安装到插头上

我想在每次插入驱动器时自动安装具有特定标签的驱动器。我确实不是想要使用任何其他工具,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.mountman 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单元文件。

相关内容