udev regras no Ubuntu

3

Eu estava configurando algumas regras do udev no Ubuntu 12.04 para meus no-breaks APC e estava usando a referência *-net.rules incluída. Quando usei ATTR{}=="" correspondência no meu -ups.rules , embora não funcionasse, tive que mudar para ATTRS{}=="" para que funcionasse.

Agora estou pensando:

  • O sistema foi criado em udev regras para eth0 e eth1 quebrado?
  • Eles devem estar usando ATTRS em vez de ATTR ?
  • Como eu verifico se eles estão funcionando?
  • Como faço para listar o ATTRS dos dispositivos de rede? Não consigo encontrar um nó de dispositivo no qual executar udevadm .
por Cyclone 19.07.2012 / 20:32

1 resposta

4

Dê uma olhada na página de man do udev:

ATTR{filename}
       Match sysfs attribute values of the event device. Trailing
       whitespace in the attribute values is ignored, if the specified
       match value does not contain trailing whitespace itself.

vs

ATTRS{filename}
       Search the devpath upwards for a device with matching sysfs
       attribute values. If multiple ATTRS matches are specified, all of
       them must match on the same device. Trailing whitespace in the
       attribute values is ignored, if the specified match value does not
       contain trailing whitespace itself.

ATTR{} apenas examina o nó que está sendo adicionado. ATTRS{} pesquisa a árvore. Provavelmente, o seu UPS precisou de ATTRS{} porque o atributo sysfs que você precisava não estava no nó que você especificou.

    
por 19.07.2012 / 20:41