Lorsqu'un périphérique est branché, le service hotplug en informe le noyau. Les données que le noyau a obtenues en interrogeant le matériel se retrouvent dans /sys (pseudo-système de fichiers sysfs). Le contenu de /sys est dynamique. Le noyau appelle la commande udevsend qui place l'événement dans une file d'attente. Le démon udevd gère cette file d'attente et exécute les commandes selon un numéro d'ordre transmis par le noyau au cas où plusieurs périphériques seraient branchés simultanément. La commande udevsend reçoit du noyau un jeu de variables d'environnement et les informations relatives au périphérique branché (ajout, suppression ou ré-attribution de nom; établissement du chemin vers le périphérique dans /sys). udevd utilise alors ces données et consulte les fichiers /etc/udev/rules.d et /etc/udev/permissions.d pour déterminer le(s) fichier(s) de périphérique à créer, les droits à lui (ou leur) appliquer et les liens symboliques à établir.
udev garantit que le nom de fichier spécial
affecté à un périphérique donné ne change pas et est explicite (voir
la section 19.8.6). Ceci est vrai quelle que soit la
manière et l'ordre dont les périphériques sont connectés au système.
L'attribution explicite sur base des données matérielles empêche la
confusion entre périphériques. La liste des paramètres utilisés pour
lever les ambiguités de matériel peut être obtenue avec la commande
systool (du paquet sysfsutils).
Par exemple, si vous venez de brancher une clé USB (disque SCSI),
vous pouvez exécuter:
systool -bv scsi
|