Udev/fr

udev (user ) est le gestionnaire de périphériques pour le noyau de Linux. Il gère les nœuds de périphériques dans et prend en charge toutes les actions dans l'espace utilisateur lors de l'ajout ou de la suppression de périphériques. Les lecteurs de cet article devraient également lire eudev, une dérivation de udev.

The package is used as the default device manager for Gentoo systems using the OpenRC init system, independently of systemd.

Noyau
nécessite les options suivantes dans le noyau :

Options de la variable USE
Portage connaît l'option globale de la variable USE  pour activer la prise en charge de udev dans les autres paquets. Activer cette option de la variable USE (par défaut dans tous les profiles Linux) provoquera l'installation du paquet automatiquement.

Emerge
Après avoir défini les options de la variable USE, mettre à jour le système pour que les changements prennent effet :

Service
Pour démarrer udev au démarrage de la machine, l'ajouter au niveau d'exécution sysinit. Pour cela, exécuter la commande suivant en tant que root :

Règles
udev fournit un jeu de règles qui correspondent aux valeurs exportées des uevents (événements provoqués par le noyau) et aux propriétés du périphérique découvert. Possiblement, une règle ayant une correspondance nommera et créera un nœud de périphérique et exécutera des programmes configurés pour installer et configurer le périphérique.

Les définitions des règles sont stockées à deux emplacements :


 * 1)  - Les règles dans ce répertoire sont installées par certains paquets, elles ne doivent en général pas être modifiées par les utilisateurs;
 * 2)  - Ce répertoire est pour les règles définies par les utilisateurs. Chaque nouvelle règle doit être ajoutée dans ce répertoire;;

Dans ces répertoires, de multiples fichiers de règles (avec le suffix ) sont lus dans l'ordre alphabétique. Dans ces fichiers, udev trouvera des expressions qui peuvent correspondre à un événement uevent avec l'état correspondant (est-ce que l’événement correspond à un ajout ou une suppression de périphérique) et la commande à exécuter.

La mise en correspondance de l'événement se base sur des informations telles que :


 * Le SOUS-SYSTÈME de l'uevent (pour quel type de périphérique l'événement est-il provoqué);
 * L'ACTION qui a lieu (ajout, changement, ou retrait);
 * Un ou plusieurs attributs (via ATTR ou ATTRS), tels que la classe du périphérique, le vendeur ou tout autre information du périphérique;
 * Le nom fournit par le noyau (via KERNEL) tel que sd* (pour les disques SCSI/ATA) ou input* (pour les périphériques d'entrée comme les souris et les claviers);
 * Un ou plusieurs paramètres d'environnement (via ENV), utilisés pour envoyer des informations partagées par de multiples règles

En se basant sur ces informations, la règle peut alors décider si :


 * 1) Quelques informations doivent être partagées avec des événements ultérieurs (à travers des variables d'environnement)
 * 2) Des liens doivent être créés dans
 * 3) Des commandes doivent être exécutées

udev accomplit cela pour toutes les règles qui correspondent (il ne cesse donc pas après la première correspondance) pour permettre une approche flexible de la gestion des périphériques.

Noms de périphérique persistants
Le noyau détecte les périphériques de manière asynchrone, udev reflète le système de fichiers sysfs et donc les périphériques sont nommés et numérotés selon leur ordre de détection. Ainsi par défaut, udev ne fournit pas de noms persistants. Néanmoins, il existe un mécanisme pour quelques classes de périphériques pour assurer cette fonctionnalité :


 * Udev crée, pour les périphériques de stockage, des liens symboliques additionnels en se basant sur l'ID du périphérique, son étiquette, UUID et son chemin. Voir le répertoire . Ainsi, au lieu d'utiliser, par exemple, le fichier de périphérique, utiliser le fichier.


 * C'est la même chose pour les périphériques d'entrée dans le répertoire.


 * En utilisant des règles personnalisées, l'utilisateur peut créer son propre fichier de périphérique.

Use new predictable network interface naming
The new network interface naming convention is not the same. So the symlinks used by netifrc will need to be re-linked. Use as a link target for whatever interface names need to be added. Be sure to replace   in the commands below with the Ethernet interface names present on the system. It is possible to discover which interfaces exist by running the command:

Create a symbolic link for the existing interfaces in the directory:

Edit with any necessary configuration for all interfaces.

Add the script(s) to the default runlevel to have the interface(s) start automatically:

Optional: Disable or override predictable network interface naming
Network device names such as  or   as provided by the kernel are normally changed on system boot (see ) by the  udev rule and the NamePolicy in.

This behavior may be disabled in several ways:


 * 1) Symlink  to :.
 * 2) Create a lower-numbered .link file in  which assigns a different name to the interface.
 * 3) Pass   on the kernel command line.

Reference: https://systemd.io/PREDICTABLE_INTERFACE_NAMES/

Utilisation
Quelques commandes utiles :


 * Surveiller les activités de udev :




 * Affiche tous les messages concernant un fichier de périphérique donné :




 * Show udev info about a given sys path device file (might be obtained via ):




 * Assigner un nom persistant à un périphérique Ethernet :




 * After changing a rules file in, either reboot or make udev reload them with:




 * For already added devices (plugged USB, etc.), the reloaded rules take effect either after changing the device (replugging USB, etc.) or by making udev request kernel events again via . Various event actions can be triggered. By default, the change event action is triggered:



Se reporter à la page de manuel de udevadm pour plus d'information.

Journaliser les messages de surveillance
Pour journaliser tous les messages quand la commande est exécutée, modifier le fichier de configuration suivant :

Cela créera le nouveau journal situé à.

Mode de débogage
Activer le mode de debogage pour obtenir plus de messages journalisés :

Définir la priorité de journalisation :

Cela créera le nouveau journal mais aucun message n'y sera écrit. Les version les plus récentes de udev écrirons leurs messages dans.

Fichiers de périphériques manquants et
Quelques version de udev ont besoin des fichiers et  pour fonctionner correctement, mais ne peuvent pas les créer elles-même. Pour créer ces fichiers manuellement pour udev, exécuter la commande suivant en tant que root :

NIC (Carte interface réseau) assignée eth0, mais a été déplacée en eth1
Ceux qui ont des cartes à deux interfaces réseau sur leur carte mère peuvent se retrouver dans une situation où  peut ne montrer ni eth0 ni eth1. peut montrer la carte interface réseau détectée comme eth0, et ensuite déplacée en eth1. Exécuter la commande  montrerar aussi la carte réseau en tant que eth1. Ceci est dû au fait que les noms assignés par le noyau ont été utilisés en premier lieu. Les utilisateurs doivent écrire leurs propres règles comme pour utiliser des noms libres comme lan0 ou wireless0, ou utiliser les noms d'interfaces prédictibles (qui ont été activés par défaut depuis la version 197 de udev).

Pensez aussi à retirer les anciens fichiers des versions antérieures de udev :

Assurez-vous également de ne pas mettre  sur la ligne de commande du noyau. Ce paramètre désactiverait complètement la fonctionnalité de noms d'interfaces prévisibles de udev.

Ressources externes
- Default provider changed to