Scegliere una chiave appropriata è il presupposto per una regola udev efficace. Delle chiavi standard sono ad esempio:
Tipo di bus del dispositivo
Nome di dispositivo utilizzato dal kernel
Numero di dispositivo connesso al bus (per es. ID del bus PCI)
Il posto ovvero dove il dispositivo è connesso (ad es. USB)
Le chiavi ID e PLACE possono rilevarsi utili, comunque nella maggioranza dei casi vengono utilizzate le chiavi BUS e KERNEL nonché SYSFS{...}. In aggiunta udev mette a disposizione delle chiavi in grado di invocare ed elaborare i risultati di script esterni. Per informazioni dettagliate consultate la pagina di manuale man udev.
sysfs archivia dei piccoli file contenenti informazioni sull' hardware in un albero directory. Di solito un file contiene solo una informazione sia essa il nome del dispositivo, il produttore o il numero di serie. Questi file possono essere utilizzati come valore della chiave. Se volete utilizzare diverse chiavi SYSFS{...} in una regola, potete utilizzare solo file che risiedono nella stessa directory.
In questi casi si propone l'uso di udevinfo. Basta individuare sotto /sys una directory che si riferisce al rispettivo dispositivo e che contenga un file dev. Queste directory si trovano tutte sotto /sys/block o /sys/class.
udevinfo si può rilevare utile anche se esiste già un nodo di dispositivo per il dispositivo. Il comando udevinfo -q path -n /dev/sda emette /block/sda, il che significa che la directory cercata è /sys/block/sda. Invocate dopo udevinfo con il seguente comando udevinfo -a -p /sys/block/sda. Potete anche combinare i due comandi: udevinfo -a -p `udevinfo -q path -n /dev/sda`. Ecco un estratto dell'output del comando:
BUS="scsi"
ID="0:0:0:0"
SYSFS{detach_state}="0"
SYSFS{type}="0"
SYSFS{max_sectors}="240"
SYSFS{device_blocked}="0"
SYSFS{queue_depth}="1"
SYSFS{scsi_level}="3"
SYSFS{vendor}=" "
SYSFS{model}="USB 2.0M DSC "
SYSFS{rev}="1.00"
SYSFS{online}="1"
Dall'intero output e dall'abbondanza di informazioni selezionate le chiavi appropriate che non cambieranno. Non dimenticate che per quanto riguarda le regole non potete utilizzare chiavi che risiedono in directory diverse.