for instance if I have 5 harddisk plugged in and I want to create custom names for all harddisk except for a single one? is it Possible?
-
Você pode usar
GOTO
para ignorar as regras:ENV{ID_SERIAL_SHORT}=="xxxx|yyyy|zzzz", GOTO="custom_names_end" ENV{ID_MODEL}=="blahblah", GOTO="custom_names_end" KERNEL=="sd*", ENV{DEVTYPE}=="disk", SYMLINK+="test/Disk%n" LABEL="custom_names_end"
-
Observe que
ID_SERIAL_SHORT
não é um atributo; é uma variável "ambiente" do udev, portanto, você precisa usarENV{}
ouENVS{}
para corresponder a ela. Atributos são lidos diretamente do sysfs. -
Observe também que versões recentes do udev proíbem a renomeação de dispositivos; você só pode adicionar links simbólicos personalizados.
Also, kernel names disks after sdz are named with 2 characters. sdaa,sdab, sdqr etc. I have a problem with it since I dont want to include the partition in sda1, sdb2 etc. can I wildcard all characters but not all numbers?
-
Você está usando a abordagem errada. Se você quiser corresponder discos, mas não partições, faça exatamente isso :
KERNEL=="sd*", ENV{DEVTYPE}=="disk", …
Os valores de
DEVTYPE
podem ser vistos emudevadm info /dev/sda
eudevadm info /dev/sda1
.