udev
| udev
| |
|---|---|
|
| |
| Datos básicos
| |
| desarrollador | Greg Kroah-Hartman , Kay Sievers , Dan Stekloff u. v. un |
| Versión actual |
247 ( 26 de noviembre de 2020 ) |
| sistema operativo | GNU / Linux |
| lenguaje de programación | C. |
| categoría | Sistema de archivos |
| Licencia | GPL |
| Se habla alemán | No |
| git.kernel.org/?p=linux/hotplug/udev.git | |
udev es espacio de usuario / dev ( / dev es archivo de dispositivo ; consulte Engl. dispositivo = dispositivo) y es un programa con el que el kernel de Linux administra archivos de dispositivo para entrada y salida de datos (E / S).
Desde el kernel 2.6, udev ha reemplazado al sistema de archivos devfs usado anteriormente , cuyas tareas asume. Al igual que devfs, udev administra el directorio / dev, que contiene los archivos especiales del dispositivo, para acceder a los dispositivos que el sistema pone a disposición de los programas.
Con la introducción de udev, tanto udev como devfs se incluyeron en el kernel. Desde finales de junio de 2006 sólo se ha incluido udev, devfs se ha eliminado por completo.
El 3 de abril de 2012, udev se incluyó en systemd con el argumento de que la conexión en caliente era una parte integral de systemd y que el esfuerzo administrativo de ambos proyectos y el código redundante podría reducirse mediante una fusión . udev se convirtió en parte de systemd 183.
Método de trabajo
udev monitorea y evalúa los eventos hotplug . Si se encuentra allí información sobre un dispositivo recién conectado, la información adicional disponible para este dispositivo se toma del sistema de archivos sysfs y se crea un nuevo archivo de dispositivo en el directorio / dev. El nombre utilizado para el archivo especial y la autorización de acceso se pueden configurar libremente mediante reglas.
configuración
Si instala udev, encontrará las reglas estándar a continuación /etc/udev/rules.d/50-udev.rules. Para poder usar sus propias reglas, no debe cambiar este archivo, sino crear uno más nuevo con un número menor, por ejemplo /etc/udev/rules.d/10-udev.rules. Esto asegura que estas reglas se reconozcan primero. Si se ha encontrado una regla, se aplicará, al igual que cualquier regla siguiente adecuada.
beneficios
A diferencia de devfs, que estaba integrado en el propio kernel de Linux, udev funciona en el espacio de usuario , es decir , se inicia como un programa normal. La administración y el nombre de los dispositivos conectados ya no depende del kernel y, por lo tanto, es más fácil de configurar.
Otras ventajas son:
- la asignación de dispositivos es clara: no hay más problemas si z. B. cambia el orden de dos impresoras USB conectadas
- el usuario puede elegir el nombre de los dispositivos; permanece constante
- Se puede utilizar cualquier método para determinar el nombre del dispositivo, además de las listas y reglas estáticas, p. Ej. B. también la consulta de una base de datos externa, mediante la cual, por ejemplo, los dispositivos dentro de la red de una empresa, identificados por su número de serie, se comportan de manera uniforme
- el nombre se ajusta a Linux-Standard-Base
desventaja
Una desventaja deliberadamente considerada de udev es que, a diferencia de devfs, no carga automáticamente los controladores de dispositivo apropiados cuando se llama a un nodo / dev . Si HotPlug no funciona correctamente cuando se conecta un dispositivo y no carga los controladores necesarios, estos no se pueden volver a cargar con udev.
enlaces web
- Presentación de udev en el Simposio de Linux en julio de 2003 en Ottawa (inglés) (PDF; 44 kB)
- Introducción detallada en la creación de reglas udev (inglés)
- Creando reglas de udev en Debian
Evidencia individual
- ↑ Lanzamiento 247 . 26 de noviembre de 2020 (consultado el 17 de diciembre de 2020).
- ^ El proyecto de código abierto udev en Open Hub: Página de idiomas . En: Open Hub . (consultado el 3 de septiembre de 2018).
- ↑ Kay Sievers: Udev y systemd se fusionarán. 3 de abril de 2012, consultado el 2 de junio de 2012 .
- ↑ Kay Sievers: Confirmar: importar repositorio udev. 3 de abril de 2012, consultado el 2 de junio de 2012 .
- ↑ systemd / systemd. En: GitHub. Consultado el 21 de agosto de 2016 .