Por ejemplo, tengo dispositivo / dev / sdb. ¿Cómo descubro que es el subsistema udev?
19
$ udevadm info -q all -a /dev/sdb
NOTA: lo anterior consulta la base de datos de UDEV para obtener información del dispositivo, info
consultamos toda la información -q all
y analizamos todos los atributos /sys
correspondientes a la etiqueta de este dispositivo.
extracto
--attribute-walk|-a
Print all sysfs properties of the specified device that can be used
in udev rules to match the specified device. It prints all devices
along the chain, up to the root of sysfs that can be used in udev
rules.
Aquí está mi /dev/sda
dispositivo.
$ udevadm info -q all -a /dev/sda | grep parent
walks up the chain of parent devices. It prints for every device
and the attributes from one single parent device.
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0':
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0':
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1/host0':
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1':
looking at parent device '/devices/pci0000:00/0000:00:1f.2':
looking at parent device '/devices/pci0000:00':
La respuesta de @ sepero es mostrar información relacionada con el dispositivo UDEV en el nodo hoja.
$ udevadm info -q all -n /dev/sda > udevadm_info_1.txt
Mi respuesta muestra los atributos a medida que recorre toda la /sys
jerarquía de dispositivos de la cadena.
$ udevadm info -q all -a /dev/sda > udevadm_info_2.txt
Puedes ver la diferencia entre estos dos.
$ diff -y udevadm_info_1.txt udevadm_info_2.txt \
> udevadm_info_diff.txt
NOTA: Estoy corriendo en Fedora 19, usando la versión 204 de udevadm
:
$ udevadm --version
204
udevadm info -a -n /dev/sdb
?udevadm info -q all
, no deudevadm info -a
. Creo que-a
es un atajo para-q all --attribute-walk
. ¿O es diferente en tu versión? No recuerdo este cambio, pero entonces no he usado Fedora en años (¿pero por qué una distribución parchearía esto?).udevadm info
proporciona este tipo de información.Si desea específicamente el subsistema:
Cuando escribe reglas de udev, el comando más útil es
Esto imprime las reglas que puede usar para hacer coincidir el dispositivo en las reglas de udev. El primer bloque es sobre el dispositivo en sí, y los bloques siguientes son sobre sus antepasados en el árbol de dispositivos. La única advertencia es que no puede mezclar claves que correspondan a antepasados diferentes. Por ejemplo, dado este extracto
entonces puede hacer coincidir este dispositivo con
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}="Yoyodyne Diskinator"
o conSUBSYSTEM=="block", SUBSYSTEMS=="pci", DRIVERS="ahci"
pero no conSUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}="Yoyodyne Diskinator", DRIVERS="ahci"
.Otra forma de obtener información para usar en reglas es con
Esto imprime los valores de propiedad del dispositivo del formulario que puede usar como
KEY=VALUE
ENV{KEY}=="VALUE"
en las reglas de udev.Si su dispositivo no tiene una
/dev
entrada, puede referirse a él con una ruta debajo/sys
, por ej.(no es un ejemplo útil en este caso; esto es útil para dispositivos cuya categoría no es común y no tiene una entrada debajo de
/dev
).Cuando cambia las reglas de udev, se leen automáticamente; sin embargo, solo se aplican a dispositivos que posteriormente se conectan al sistema. Para aplicar las nuevas reglas a un dispositivo ya conectado, use
udevadm trigger
(con opciones para restringir la aplicación a ciertos dispositivos).fuente
fuente
/sys
para/dev/sdb
. El otro enfoque muestra la jerarquía de árbol completa del nodo hoja junto con las ramas.