Udev/es

udev (user ) es Article description::el gestor de dispositivos para el núcleo Linux. Gestiona los nodos de dispositivo en y también todos las acciones en espacio de usuario cuando se añaden o eliminan dispositivos. El lector debería también echar un vistazo a [Project:Eudev|eudev] una bifurcación de udev. Readers of this article should also look at eudev, a fork of udev.

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

Núcleo
necesita las siguientes opciones del núcleo:

Ajustes USE
Portage reconoce el ajuste USE global  para habilitar el soporte de udev en otros paquetes. Al añadir este ajuste USE a la lista de ajustes (se realiza por defecto en todos los perfiles) se instalará automáticamente el paquete :

Emerge
Después de definir los ajustes USE, seguramente se desee actualizar el sistema para que los cambios tengan efecto:

Servicio
Para arrancar udev en el inicio del sistema, añádalo al nivel de ejecución sysinit. Esto se puede hacer lanzando la siguiente orden con privilegios de root:

Reglas
Udev ofrece un conjunto de reglas que concuerdan con los valores exportados de los uevents (eventos enviados por el núcleo) y las propiedades del dispositivo que se ha descubierto. Una regla que concuerda posiblemente creará y nombrará un nodo de dispositivo y lanzará los programas definidos para poner en marcha y configurar el dispositivo.

Las definiciones de las reglas se almacenan en dos localizaciones:


 * 1) . Las reglas en este directorio son instaladas por determinados paquetes, normalmente los usuarios no deberían cambiarlas.
 * 2) . Este directorio es para las reglas especificadas por los usuarios finales. Cualquier nueva regla se debe añadir en este directorio.

En estos directorios se recorren en orden alfabético múltiples ficheros de reglas (con el sufijo ), udev buscará expresiones que concuerden con un uevent y con el estado definido (es el uevent debido que se ha añadido o retirado un dispositivo) y la orden a ejecutar.

La concordancia del evento se basa en información como:


 * El SUBSYSTEM del uevent (para qué tipo de dispositivo se dispara el uevent).
 * La ACTION que se realiza (añadir, cambiar o eliminar).
 * Uno o más atributos (a través de ATTR o ATTRS), tales como la clase del dispositivo, el fabricante u otra información del dispositivo.
 * El nombre que ofrece el núcleo (a través de KERNEL), como sd* (para los discos SCSI/SATA) o input* (para dispositivos de entrada como ratones y teclados)
 * Uno o más ajustes de entorno (a través de ENV), utilizados para enviar información entre múltiples reglas.

Basándose en esta información, la regla puede entonces comprobar sí:


 * 1) Se necesita compartir alguna información con eventos posteriores (a través de variables de entorno)
 * 2) Se necesita crear enlaces en
 * 3) Se necesita lanzar alguna orden

Udev realiza esto para cada regla que concuerda (por lo que no se detiene en la primera concordancia) para permitir un enfoque flexible de gestión de los dispositivos.

Nombres persistentes de dispositivos
El núcleo detecta los dispositivos de forma asíncrona. Udev crea un reflejo del sistema de ficheros del núcleo sysfs y por lo tanto los dispositivos se nombran y numeran en el orden de su detección. Así, por defecto udev no ofrece nombres persistentes de los dispositivos. Sin embargo, existen mecanismos de algunas clases de dispositivo para ofrecerlos:


 * Udev crea enlaces simbólicos adicionales para los dispositivos de almacenamiento basándose en el identificador (ID), la etiqeta, el UUID y la ruta del dispositivo. Eche un vistazo al directorio . Por lo que, por ejemplo, en lugar de utilizar el archivo de dispositivo utiliza el fichero.


 * Lo mismo aplica para los dispositivos de entrada en el directorio.


 * Usando reglas propias los usuarios pueden crear sus propios ficheros de dispositivo.

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/

Utilización
Algunas órdenes útiles son las siguientes:


 * Monitorizar las actividades de udev:




 * Mostrar todos los mensajes sobre un determinado archivo de dispositivo: :




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




 * Asignar un nombre persistente a un dispositivo 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:



Lea la página del manual de udevadm para más información.

Registrar mensajes del monitor
Para registrar todos los mensajes cuando se lanza, se debe modificar el siguiente fichero de configuración:

Se creará un el nuevo fichero de registro localizado en.

Modo depuración
Habilitar el modo depuración permitirá mostrar más mensajes de registro:

Defina la prioridad del registro:

Se creará el fichero de registro pero no se mostrarán mensajes en él. Las versiones más recientes de udev mostrarán todos los mensajes en.

Faltan los ficheros de dispositivo y
Algunas versiones de udev necesitan los ficheros y  para funcionar correctamente pero no pueden crearlos ellos mismos. Para crear manualmente estos ficheros por udev, lance las siguientes ordenes con privilegios de root:

NIC asignada a eth0 pero se mueve a eth1
En las placas base con dos tarjetas de red puede suceder que no muestre ni eth0 ni eth1. La orden puede mostrar las NIC detectadas como eth0 y luego cambiar a eth1. Al realizar un también se mostrar la NIC como eth1. Esto es debido a que el núcleo asigna estos nombres en primer lugar. Los usuarios deben escribir sus propias reglas personalizadas como para usar los nombres que elija como lan0 o wireless0 o utilizar los nombres predecibles para las interfaces (que se han habilitado por defecto a partir de la versión 197 de udev).

Recuerde también eliminar los ficheros antiguos de las versiones anteriores de udev:

Asegúrese también de no pasar  en la línea de órdenes del núcleo. Este ajuste desactivaría la característica de nombres predecibles de dispositivo de interfaz para todo el sistema udev.

Recursos externos
- Proveedor por defecto del paquete  ha cambiado a