我正在尝试设置一个 udev 规则,该规则将符号链接到/dev/sda
、/dev/cm
和/dev/sda1
。当然,根据连接到计算机的其他设备,设备可能会显示为或其他任何内容,而不是 。所以我有这条规则/dev/cm1
:/dev/sda2
/dev/cm2
sda
sdb
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="0001", GROUP="disk", SYMLINK+="cm"
此规则与我的设备匹配,并生成指向/dev/cm
正确设备节点的符号链接,但未生成/dev/cm1
或/dev/cm2
,尽管我可以看到/dev/sda1
并/dev/sda2
已显示。我遗漏了什么?
答案1
以下是一种解决方案:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="0001", GROUP="disk", SYMLINK+="cm%n"
看到了吗?符号链接名称不是cm
,而是cm%n
。显然,%n
是分区的名称。对我来说,此规则产生以下符号链接:
- /dev/cm
- /dev/cm0(这个指向/dev/sg0,这显然是通用 SCSI 层)
- /dev/cm1(指向第一个分区)
- /dev/cm2(指向第二个分区)
https://wiki.debian.org/udev是去哪里学习这方面的知识。