Últimamente tengo que pasar a menudo información entre distintos discos USB externos. Las posibles formas de conectarlos generan tantas combinaciones distintas que resulta intratable usar los identificadores convencionales para montar las unidades (sda1,sdc4,...). Además, varios discos están particionados de forma idéntica por lo que en caso de estar conectados a la vez resulta difícil saber cual es cual, salvo que siempre se enchufen en el mismo orden.
La solución lógica para que un mismo disco siempre tenga un identificador único, independientemente del número de discos que se hayan conectado y del orden en el que se haya hecho es usar reglas UDEV.
A continuación explico una forma rápida para localizar los valores concretos de un disco y así poder escribir una regla que lo identifique.
Para una guía completa sobre cómo escribir reglas UDEV, consultar http://www.reactivated.net/writing_udev_rules.html
Lo primero que hay que saber es cómo nombra el kernel al disco. Si tu sistema no carga automáticamente el módulo usb-storage al conectar el disco, hazlo manualmente:
Tras conectarlo, ejecuta:
...
Entre corchetes vemos el nombre de dispositivo que le ha dado el kernel al disco, en este caso sdb.
Normalmente con el identificador del fabricante del disco y el modelo exacto suele ser suficiente para crear una regla UDEV que lo identifique. Estos dos datos los podemos sacar rápidamente con los siguientes comandos:
Pero si por ejemplo tenemos dos discos idénticos necesitaremos más datos para distinguirlos, los podemos obtener con el comando
Como se aprecia, la información se muestra en distintos bloques. Podemos usar cualquiera de los datos de un bloque para crear una regla, pero sin mezclar datos de distintos bloques.
Por ejemplo, para este disco, una regla que además del dispositivo estándar, cree un enlace simbólico, tendría el siguiente aspecto:
SUBSYSTEMS=="scsi", ATTRS{vendor}=="WDC WD74", ATTRS{model}=="0GD-50FLC0*", NAME="%k", SYMLINK+="seeder%n"Con esta regla, cada vez que se conecte el disco podrá ser accedido siempre a través de /dev/seeder. Como hemos añadido %n al final de la regla, en caso de que el disco tenga varias particiones, podrán ser accedidas en /dev/seeder1,/dev/seeder2,...
Otro ejemplo para otro disco duro
....
Por tanto, este nuevo disco es sdd. Para mostrar su infromación
En este caso una posible regla sería
SUBSYSTEMS=="scsi", ATTRS{vendor}=="IC25N030", ATTRS{model}=="ATCS04-0*", NAME="%k", SYMLINK+="leecher%n"Las reglas las podemos guardar en el archivo /etc/udev/rules.d/10-discosUSB.rules
