Udev – Assegnare un nome dispositivo statico

Come è possibile assegnare un nome dispositivo statico utilizzando udev ad un dispositivo USB? A cosa può servirci?

Immagina di avere uno script che ha bisogno di accedere ad un particolare dispositivo che può essere collegato tramite una porta USB: alcune volte questo dispositivo può essere montato come /dev/sdb1, altre come /dev/sdc1, etc. Potresti in questo caso aver bisogno di assegnargli un nome statico poichè non sai quale utilizzerà.

Un altro scenario può essere quello del mount di un dispositivo all’avvio del sistema operativo come discusso in http://www.arcalinux.com/partizione-ntfs-come-montarla-allavvio/

Per riuscire in questo, dobbiamo prima scoprire alcune attributi del nostro dispositivo utilizzando il comando

sudo lsusb

Otterremo una risposta simile alla seguente:

emanuele@ubuntu:~$ lsusb

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 001 Device 004: ID 1058:107c Western Digital Technologies, Inc.

Osserviamo la riga Western Digital Technologies, questo è il dispositivo che stiamo cercando: 1058 è il Vendor ID (ID venditore) e 107c è il Product ID (ID Prodotto)! Utilizzeremo questo informazioni per identificare univocamente il nostro dispositivo.

Ora, creiamo una nuova regola udev digitando

sudo nano /etc/udev/rules.d/99-my_rules.rules

e scrivendo nel file

ACTION==”add”, ATTRS{idVendor}==”1058″, ATTRS{idProduct}==”107c”, SYMLINK+=”my_wd_usb_hd”

dove i valori di ATTRS sono quelli che abbiamo ottenuto in precedenza, mentre my_wd_usb_hd è il nome che abbiamo scelto per il nostro dispositivo.

Possiamo ora riavviare il pc! Ogni volta che si avvierà questa regola verrà applicata e potremo sempre trovare il nostro dispositivo come /dev/my_wd_usb_hd

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *