Linux下用udevil实现USB存储设备自动挂载
前言
linux想要实现usb存储设备自动挂载,有这么几个方案:
- 插上去就半永久,一般不会拔下来,那就把设备uuid写入
/etc/fstab
- 如果会经常插拔,而且动手能力强,可以编写
udev
的规则脚本 - 如果会经常插拔,但又不想写脚本,那就装软件,比如
udevil
、udiskie
、udisk2
、usbmount
根据自己的实际情况,最后我选择了udevil
,三个原因:
- 安装简单0配置可用
- 依赖关系非常简单,不需要额外装一堆包
- 轻nas面板casaos实现u盘自动挂载用的就是udevil
😄
安装与使用
debian的软件仓库里就有udevil,一条命令就搞定安装
apt install udevil
udevil的配置文件路径是/etc/udevil/udevil.conf
,默认会把usb设备挂载到/media/user
目录下(这里的user在后面的命令中体现)。如果要调整自动挂载路径,需要在udevil.conf
中修改。
接下去要启动udevil
服务惹,假定用非root账户jack
来运行udevil服务。
systemctl start devmon@jack.service
注意命令中的jack
,这里对应的是linux系统的用户账户,设备的挂载点就是/media/jack
。如果你的系统使用的账户是tom
,那对应的命令就是devmon@tom.service
,usb设备的挂载点就是/media/tom
。
启动成功以后,就可以插拔u盘、移动硬盘查看挂载情况了,确认下是否工作正常。
最后就是把udevil
设置成开机启动。
systemctl enable devmon@jack.service
问题
-
exfat格式的存储设备默认无法自动挂载,因为有个bug,需要手动修改配置文件,修改方法:【Linux下udevil无法自动挂载exfat格式U盘的问题解决】
-
玩客云的sd卡槽如果插了sd卡,系统重启以后无法自动挂载,必须要有一个重新插拔的动作才可以挂载。