udev
100%

Dispositivos · Lección 5

udev

Aprende cómo udev procesa sucesos de dispositivos del kernel para aplicar políticas, permisos y enlaces persistentes.

El kernel de Linux comunica al espacio de usuario los cambios de dispositivos mediante uevents. En muchas distribuciones actuales, systemd-udevd procesa esos sucesos utilizando reglas de udev y una base de datos de dispositivos. Junto con devtmpfs, que rellena el kernel, esto produce la propiedad, los permisos, las propiedades y los enlaces simbólicos que las aplicaciones ven alrededor de /dev.

Del suceso del kernel a la política de dispositivos

Cuando se añade, cambia, mueve o elimina un dispositivo, udev puede:

  • leer atributos de sysfs y propiedades del suceso
  • aplicar una política de propietario, grupo y modo a un nodo de dispositivo
  • añadir enlaces simbólicos estables como /dev/disk/by-id/...
  • etiquetar dispositivos para otros servicios
  • ejecutar un procesamiento auxiliar definido de forma limitada

El kernel sigue siendo responsable del dispositivo real y de su controlador. Eliminar un nodo de /dev no retira físicamente el hardware, y crear manualmente un nodo con mknod no hace que exista hardware incompatible ni vincula un controlador.

¿Qué activa normalmente el procesamiento de udev ante un cambio de dispositivo?

Ubicaciones y precedencia de las reglas

Las reglas suelen encontrarse en:

  • /usr/lib/udev/rules.d/ para reglas proporcionadas por fabricantes o paquetes
  • /run/udev/rules.d/ para reglas volátiles durante la ejecución
  • /etc/udev/rules.d/ para la política del administrador local

Los archivos se procesan según el orden lexicográfico de sus nombres; los archivos del mismo nombre situados en directorios de mayor prioridad sustituyen a las versiones de menor prioridad conforme a la implementación de udev instalada. Las reglas locales deben utilizar un nombre de archivo elegido deliberadamente y coincidir con propiedades estables, no con nombres de enumeración.

Una regla puede afectar a todos los dispositivos coincidentes, así que prueba cuidadosamente su alcance. No edites directamente reglas de paquetes cuando resulte apropiada una regla local que las sustituya o complemente.

¿Qué directorio está destinado a las reglas persistentes de udev del administrador local?

Examinar un dispositivo con `udevadm`

Consulta las propiedades de udev de un nodo existente:

$ udevadm info --query=all --name=/dev/sda

Utiliza un nodo que exista en el sistema actual. udevadm info --attribute-walk --name=... puede mostrar atributos a lo largo de la cadena de padres de sysfs, lo que ayuda a crear una regla. udevadm monitor --kernel --udev --property observa los sucesos del kernel y los procesados; puede exponer identificadores de dispositivos, así que trata adecuadamente la salida capturada.

¿Qué solicita udevadm info --query=all --name=/dev/sda?

Aplicar cuidadosamente cambios en las reglas

Recargar los archivos de reglas afecta al procesamiento de sucesos futuros; no reconstruye automáticamente el estado de todos los dispositivos existentes. Activar sucesos manualmente puede afectar a muchos dispositivos y servicios, por lo que debes limitar el destino y utilizar la documentación de udevadm instalada. Una orden de prueba puede simular la evaluación de reglas, pero quizá no reproduzca todos los efectos secundarios de un suceso real.

Haz una copia de seguridad de las reglas locales, valida la sintaxis, observa un único dispositivo de prueba conocido y conserva una vía de recuperación antes de cambiar permisos o nombres. Evita realizar trabajos prolongados directamente durante el procesamiento de sucesos de udev; delégalos en un servicio apropiado.

¿Qué cambia principalmente al recargar las reglas de udev?

Lección completada

Has completado udev

Ahora puedes situar udev entre los sucesos del kernel y la política de dispositivos del espacio de usuario.

  • Relaciona los uevents y los atributos de sysfs con la coincidencia de reglas de udev.

  • Separa las ubicaciones de reglas de fabricantes, de ejecución y locales.

  • Examina las propiedades y el flujo de sucesos con udevadm.

  • Recarga y activa reglas únicamente con un alcance limitado y probado.

Guarda tu progreso

Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.

Crear una cuenta gratuita
Siguiente Lección
Volver a Dispositivos