O que os prefixos da lista de variáveis de ambiente do dispositivo (P, N, S, E) significam?

3

Ao escrever uma regra do udev, por ex. para um volume de armazenamento USB, posso exibir propriedades relevantes do dispositivo conectado com:

$ udevadm info -q property -n /dev/sdc1
/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3.1/2-3.1.3/2-3.1.3:1.0/host5/target5:0:0/5:0:0:0/block/sdc/sdc1
sdc1
disk/by-id/usb-Hitachi_HTS541612J9AT00-0:0-part1
disk/by-path/pci-0000:00:1d.7-usb-0:3.1.3:1.0-scsi-0:0:0:0-part1
DEVLINKS=/dev/disk/by-id/usb-Hitachi_HTS541612J9AT00-0:0-part1 /dev/disk/by-path/pci-0000:00:1d.7-usb-0:3.1.3:1.0-scsi-0:0:0:0-part1
DEVNAME=/dev/sdc1
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3.1/2-3.1.3/2-3.1.3:1.0/host5/target5:0:0/5:0:0:0/block/sdc/sdc1
DEVTYPE=partition
ID_BUS=usb
ID_INSTANCE=0:0
ID_MODEL=HTS541612J9AT00
ID_MODEL_ENC=HTS541612J9AT00\x20
ID_MODEL_ID=0702
ID_PART_ENTRY_DISK=8:32
ID_PART_ENTRY_NUMBER=1
ID_PART_ENTRY_OFFSET=2048
...

ou

$ udevadm info -q all -n /dev/sdc1
P: /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3.1/2-3.1.3/2-3.1.3:1.0/host5/target5:0:0/5:0:0:0/block/sdc/sdc1
N: sdc1
S: disk/by-id/usb-Hitachi_HTS541612J9AT00-0:0-part1
S: disk/by-path/pci-0000:00:1d.7-usb-0:3.1.3:1.0-scsi-0:0:0:0-part1
E: DEVLINKS=/dev/disk/by-id/usb-Hitachi_HTS541612J9AT00-0:0-part1 /dev/disk/by-path/pci-0000:00:1d.7-usb-0:3.1.3:1.0-scsi-0:0:0:0-part1
E: DEVNAME=/dev/sdc1
E: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3.1/2-3.1.3/2-3.1.3:1.0/host5/target5:0:0/5:0:0:0/block/sdc/sdc1
E: DEVTYPE=partition
E: ID_BUS=usb
E: ID_INSTANCE=0:0
E: ID_MODEL=HTS541612J9AT00
E: ID_MODEL_ENC=HTS541612J9AT00\x20
E: ID_MODEL_ID=0702
E: ID_PART_ENTRY_DISK=8:32
E: ID_PART_ENTRY_NUMBER=1
E: ID_PART_ENTRY_OFFSET=2048
...

... a diferença óbvia são os prefixos P, N, S e E no segundo caso.

Eu não consegui rastrear seu significado nas páginas de manual para udev e udevadm ou usando os mecanismos de pesquisa. Q) Alguém pode me dar um ponteiro?

    
por Cbhihe 26.01.2016 / 19:33

1 resposta

5

A resposta está em man udevadm :

--query=type
   Query the database for specified type of device data. It needs the
   --path or --name to identify the specified device. Valid queries
   are: name, symlink, path, property, all.

Então:

  • N : é para o nome do dispositivo em / dev
  • S : é para links simbólicos para esse nome de dispositivo em / dev
  • P : é para o caminho do dispositivo em / sys
  • E : é para propriedades do dispositivo no udev
por nsilent22 26.01.2016 / 19:42