Sempre mapear um determinado dispositivo para o mesmo local é um dos usos comuns do udev. Os dispositivos podem ter vários locais, por exemplo, uma partição de disco pode ser alcançada através de numeração automática (por exemplo, /dev/sda1
), mas também através do rótulo em seu sistema de arquivos ( /dev/disk/by-label/*
), através do UUID em seu sistema de arquivos ( /dev/disk/by-uuid/*
) e pelo número de série do dispositivo de disco ( /dev/disk/by-id/*
). Se você deseja acessar um determinado dispositivo sem ter que se preocupar quando foi conectado ou em qual porta, a maneira mais clara de fazer isso é adicionar uma regra do udev que corresponda a esse dispositivo de hardware específico e criar uma entrada em /dev
com um nome significativo, por exemplo
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1679", ATTR{idProduct}=="2001", \
SERIAL=="123456", MODE="0666", SYMLINK+="analyzer-foo"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1679", ATTR{idProduct}=="2001", \
SERIAL=="123789", MODE="0666", SYMLINK+="analyzer-bar"
Outra finalidade comum das regras do udev é controlar as permissões no nó do dispositivo, geralmente para permitir que um daemon em particular o acesse. É para isso que servem as diretivas OWNER
, GROUP
, MODE
e SECLABEL
.
Uma terceira classe de motivos é acionar determinadas ações quando um dispositivo é conectado. Por exemplo, você pode precisar carregar o firmware no dispositivo, ou escolher em qual modo ele será usado, ou notificar algumas partes do dispositivo. sistema que uma nova conexão de rede ou impressora está disponível, etc.