简单的 udev 规则不起作用

简单的 udev 规则不起作用

这个简单的 udev 规则有什么问题?

KERNEL=="sdc1", ACTION=="add", RUN+="/bin/mkdir /tmp/folder1"

当我插入 USB 棒时,规则什么也不做。

答案1

不,您可能无法创建文件夹。

因为sd??节点是在分区挂载之前由内核创建的。

最好寻找不同的方法,例如使用带有脚本udisks

答案2

使用 UUID 匹配的规则:

KERNEL=="sd??", ENV{ID_FS_UUID}=="<the_uuid>", RUN+="/bin/mkdir /tmp/folder1"

使用以下命令获取 UUID

udevadm info /dev/<usb_stick_partition> | grep ID_FS_UUID=

例子

$ udevadm info /dev/sda1 | grep ID_FS_UUID=
E: ID_FS_UUID=c44a008d-58b2-467d-8814-f06973e49dcb

所以

KERNEL=="sd??", ENV{ID_FS_UUID}=="c44a008d-58b2-467d-8814-f06973e49dcb", RUN+="/bin/mkdir /tmp/folder1"

相关内容