Eudev

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Eudev and the translation is 63% complete.
Outdated translations are marked like this.
Resources
The information in this article is representative of former times and has been archived as of 2023-10-12. It can be used for reference, but is most likely not appropriate for current usage. Generally, archived articles should not be edited.
eudev is no longer available in Gentoo. It's recommended to use udev from sys-apps/systemd-utils instead. The transition should be uneventful, however the corresponding News Item must be read and followed to avoid any issues.
Not to be confused with udev/es.

eudev es una bifurcación del proyecto udev de Gentoo, el gestor de ficheros de dispositivo para el núcleo Linux.[1] Gestiona los nodos de dispositivo en /dev y maneja todas las acciones en espacio de usuario cuando se añaden o eliminan dispositivos.

eudev is a fork of udev, systemd's device file manager for the Linux kernel.[2] It manages device nodes in /dev and handles all user space actions when adding or removing devices.

La meta de eudev es conseguir una mejor compatibilidad con el software ya instalado como los sistemas de inicio OpenRC, Upstart, antiguos núcleos Linux, algunas cadenas de herramientas y cualquier otra cosa que se necesite [3] por (todavía no está bien soportado) udev.

Al igual que los términos ebuild, eclass, emerge, etc. El nombre asignado al proyecto eudev conserva la convención de utilizar el prefijo 'E' que inició el fundador de Gentoo Daniel Robbins.

Las configuraciones de sistema que corren systemd no tienen sentido para eudev.

El directorio /dev

El directorio /dev

<onlyinclude> La mayoría de los usuarios de Linux comprenden que /dev/sda1 es una forma rápida de referirse a la primera partición del primer disco que ha detectado el núcleo. Esto es muy fácil ¿no?

Pero tenga en cuenta los dispositivos que se enchufan en caliente como los USB, IEEE 1394, tarjetas PCI que se conectan en caliente, etc. ¿Cuál es el primer dispositivo de cada uno de estos tipo? ¿Y por cuánto tiempo? ¿Cómo se llamarán los demás dispositivos cuando el primero desaparezca? ¿Cómo afectará ésto a las transacciones en curso? ¿No sería divertido si un trabajo de impresión se cambiase de repente desde una impresora láser de última generación a una moribunda impresora de matriz solo porque alguien decidió desenchufar la impresora láser (que casualmente era la primera impresora)?

Abra el gestor de dispositivos. Un gestor de dispositivos moderno debe:

  • Correr en espacio de usuario.
  • Crear y borrar archivos de dispositivo.
  • Ofrecer un nombrado de dispositivos consistente.
  • Ofrecer una interfaz de aplicación (API).

Cada vez que se produce un cambio en la estructura de los dispositivos, el núcleo emite un uevent el cual es recogido por el gestor de dispositivos. Este gestor de dispositivos sigue las reglas declaradas en los directorios /etc/udev/rules.d, /run/udev/rules.d y /lib/udev/rules.d. Basándose en la información contenida en el evento, busca la regla o reglas que necesita ejecutar y realiza las acciones requeridas. Estas acciones pueden involucrar la creación o eliminación de ficheros de dispositivo y pueden también disparar la carga de ficheros de firmware particulares en la memoria del núcleo.

Instalación

Ajustes USE

Algunos paquetes soportan el ajuste USE udev para habilitar la integración de virtual/udev.

Cannot load package information. Is the atom sys-fs/eudev correct?

Emerge

Para evitar el registro en el conjunto world, se debe utilizar la opción oneshot.

root #emerge --ask --oneshot sys-fs/eudev

Configuración

Servicio RC

El nombre RC es udev no eudev. Se necesita registrar en el nivel de ejecución sysinit.

root #rc-update add udev sysinit
 * rc-update: udev already installed in runlevel `sysinit'; skipping

A partir de la versión 29 del paquete sys-fs/udev-init-scripts se debe añadir udev-trigger al nivel de ejecución sysinit.

Mantener el nombrado clásico 'eth0'

Advertencia
This section is obsolete. See Udev: Disable or override predictable network interface naming for updated instructions.

Network device names such as eth0 or wlan0 as provided by the kernel are normally changed on system boot (see dmesg) by the /lib/udev/rules.d/80-net-name-slot.rules udev rule.

To keep the classic naming this rule can be overwritten with an equally named empty file in the /etc/udev/rules.d directory:

root #touch /etc/udev/rules.d/80-net-name-slot.rules

De forma alternativa, añadir net.ifnames=0 a la línea de órdenes cambia la directriz por defecto o crea una personalizada.

Un recurso interesante ligado al nombrado de la red es No me gusta esto, cómo lo deshabilito en el wiki de Freedesktop.

Resolución de problemas

Usar udevadm

Lanzar udevadm monitor y comprobar que sucede:

user $udevadm monitor

Obtener información del dispositivo medianteudevadm info seguido de la ruta al dispositivo:

user $udevadm info -p /devices/pci0000:00/0000:00:1d.7

Obtener la ruta al dispositivo utilizando su nombre:

user $udevadm info -q path -n input/mouse1
/devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3.4/1-3.4:1.0/0003:046D:C404.0006/input/input24/mouse1

Comprobar que un evento se ejecuta utilizando udevadm test seguido de la ruta al dispositivo del que se quiere probar el evento:

user $udevadm test /devices/pci0000:00/0000:00:1d.7

Para obtener una lista de todas las órdenes udevadm:

user $udevadm -h

Migrar desde versiones anteriores

Desde udev 171-r10 hasta eudev 1.2-r1

Leer este hilo en los foros de Gentoo.

Sistema roto cuando se cambia de udev a eudev

Leer este hilo en los foros de Gentoo.

Véase también

Recursos externos

Referencias

  1. Bug 575718 - Request for council decision RE virtual/udev default provider, Gentoo's Bugzilla Main Page, (Última modificación) 27 de febrero de 2016. Recuperado el 1 de marzo de 2016.
  2. Bug 575718 - Request for council decision RE virtual/udev default provider, Gentoo's Bugzilla Main Page, (Last modified) February 27th, 2016. Retrieved on March 1st, 2016.
  3. Project:Eudev, Gentoo Wiki, (Última modificación) 12 de noviembre de 2015. Recuperado el 11 de marzo de 2016.