前言

linux想要实现usb存储设备自动挂载,有这么几个方案:

  • 插上去就半永久,一般不会拔下来,那就把设备uuid写入/etc/fstab
  • 如果会经常插拔,而且动手能力强,可以编写udev的规则脚本
  • 如果会经常插拔,但又不想写脚本,那就装软件,比如udeviludiskieudisk2usbmount

根据自己的实际情况,最后我选择了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

问题

  1. exfat格式的存储设备默认无法自动挂载,因为有个bug,需要手动修改配置文件,修改方法:【Linux下udevil无法自动挂载exfat格式U盘的问题解决

  2. 玩客云的sd卡槽如果插了sd卡,系统重启以后无法自动挂载,必须要有一个重新插拔的动作才可以挂载。