代码如下:
KERNEL!="sd[b-z]?", GOTO="automount_exit"
ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/mkdir /mnt/%E{ID_FS_LABEL}-%E{ID_FS_UUID}", RUN+="/bin/mount -o uid=1000,user,codepage=936,utf8 $root/%k /mnt/%E{ID_FS_LABEL}-%E{ID_FS_UUID}"
ACTION=="remove", SUBSYSTEM=="block", RUN+="/bin/umount /mnt/%E{ID_FS_LABEL}-%E{ID_FS_UUID}", RUN+="/bin/rmdir /mnt/%E{ID_FS_LABEL}-%E{ID_FS_UUID}"
LABEL="automount_exit"
- 保存为 /etc/udev/rules.d/ 下的某個文件。
- 第一行用 glob 跳过名称不是 sd[b-z]? 的设备。
- %E{ID_FS_LABEL} 是卷标, %E{ID_FS_UUID} 是 UUID。
- 第二行就是检测 add 事件,先根据卷标和 UUID 在 /mnt/ 下创建一个目录并挂载。
- 第三行是相应的卸载命令。