Este tutorial explica muito bem como fazer o que você quer:
- Criando links simbólicos personalizados para dispositivos
De acordo com ele, existem duas abordagens para criar links simbólicos. O primeiro é usar o nome do modelo e o número de série:
SUBSYSTEM=="block", ENV{ID_MODEL}=="...", ENV{ID_SERIAL}=="...", ENV{GENERATED}="1", SYMLINK+="dvd"
Desta forma, o link simbólico permanecerá correto mesmo que você mova o drive para posições diferentes no barramento IDE, mas o link simbólico /dev/dvd
não será criado se você substituir a unidade.
O segundo é baseado na localização do dispositivo no barramento:
SUBSYSTEM=="block", ENV{ID_TYPE}=="...", ENV{ID_PATH}=="pci-...", ENV{GENERATED}="1", SYMLINK+="dvd"
Dessa forma, o link simbólico permanecerá correto mesmo que você substitua os drives por modelos diferentes, mas coloque-os nas mesmas posições no barramento IDE. A tecla ENV{ID_TYPE}
garante que o symlink desapareça se você colocar algo diferente de um DVD nessa posição no barramento.
Você pode encontrar os valores para ID_MODEL
, ID_SERIAL
, ID_TYPE
e ID_PATH
usando o seguinte comando (o comando udevtest
como no tutorial não funciona mais? - no Ubuntu):
udevadm info --query=all --name=sr0
A chave SUBSYSTEM=="block"
é necessária para evitar a correspondência de dispositivos genéricos SCSI. Sem ele, no caso do DVD SCSI, o link simbólico às vezes apontará para os dispositivos /dev/sr0
corretos e, às vezes, para /dev/sg0
, o que está errado.
A chave ENV{GENERATED}="1"
é necessária para impedir que o arquivo udev 75-cd-aliases-generator.rules
substitua suas regras personalizadas.