我知道 Alpine Linux 在插入 USB 驱动器时不支持自动安装,但我有一个应用程序,我希望该功能能够运行,而无需用户安装驱动器即可使用它。
我已将驱动器添加到 /etc/fstab 文件中,它可以自动挂载到我想要的位置,但仅限于机器启动时。如果我在系统启动后插入驱动器,它不会调用 fstab 文件并挂载驱动器。
我最初的两个想法是:
- 是否可以调整系统以在插入 USB 驱动器时调用 fstab 文件?我希望它仅在识别此设备时才起作用,但如果需要,它可以用于任何 USB 设备。
- 有没有办法在插入此驱动器时调用 bash 脚本来自动执行挂载操作?
任何关于此事的指导都将不胜感激!
答案1
在设备连接上运行短命令的一般方法是udev
。udev 规则可用于运行命令;在非 systemd 发行版上,RUN+=
这可用于调用mount
。1
图形桌面环境通常具有自己的自动挂载功能,通常基于 udisks2。
挂载临时文件系统的传统方法是autofs
,挂载当访问时而不是插入时。Autofs 附带了 CD 和软盘的示例,但可以适用于任何其他 fstab 条目。
1请注意,命令运行时,udev 规则处理会暂停。这有几个含义:1) 您不能使用规则来执行依赖于规则处理完成的操作;例如,这mount
很好,但xprop
不起作用。2) 您不能直接运行长时间运行的命令;守护进程必须在后台运行(守护进程化)。