我使用 Gentoo。我编写了一条 udev 规则。
localhost biergaizi # cat /etc/udev/rules.d/91-change-schduler.rules
#SUBSYSTEMS=="usb", KERNEL=="sd??", ACTION=="add", RUN+="echo deadline > /sys/block/%k/queue/scheduler"
ACTION=="add", KERNEL=="sd??", RUN+="/usr/local/bin/USB"
localhost biergaizi # cat /usr/local/bin/USB
#!/bin/bash
echo 'Hello World!' >>"/home/biergaizi/udev.out"
exit
localhost biergaizi # ls -l /usr/local/bin/USB
-rwxr-xr-x 1 root root 66 10月 1 11:55 /usr/local/bin/USB
但是当我插入 USB 设备时,udev 不会运行脚本。为什么?
答案1
KERNEL=="sd??"
仅匹配具有分区表 ( ) 的设备/dev/sda1
。如果您的设备没有分区表 ( /dev/sda
),则该规则不起作用。
您可以更改规则来KERNEL=="sd?"
检测所有类型的设备。