Acho que você pode obter o que deseja cruzando a saída de lshw -c disk
e este comando, udevadm info -q all -n <device>
.
Por exemplo
Meu /dev/sda
device mostra a seguinte saída para lshw
:
$ sudo lshw -c disk
*-disk
description: ATA Disk
product: ST9500420AS
vendor: Seagate
physical id: 0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: 0003
serial: 5XA1A2CZ
size: 465GiB (500GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 signature=ebc57757
Se eu interrogar o mesmo dispositivo usando devadm
, posso descobrir o que é DEVPATH
:
$ sudo udevadm info -q all -n /dev/sda | grep DEVPATH
E: DEVPATH=/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
Esta string tem todas as informações que você está procurando em relação a este dispositivo. O endereço PCI, "0000:00:1f.2"
, juntamente com o endereço SCSI, "0:0:0:0"
. O endereço SCSI é o dado na 6ª posição se você quebrar esses dados nas barras ("/").