Nomeação de adaptador de dispositivo USB consistente no Linux

0

Eu tenho uma porta USB na qual eu insiro todos os tipos de discos USB diferentes ao longo do tempo. O kernel não aloca consistentemente o mesmo dispositivo para ele, então eu tenho que ir atrás de cada inserção. Como posso sempre obter o mesmo nome de dispositivo?

Observe que direcionar isso do UUID ou não funciona, porque eu uso a mesma porta para discos diferentes. Não é o disco que quero nomear consistentemente, é o disco atual que está em uma porta consistente.

Eu esperava que houvesse algum tipo de caminho /sys/…/controllerX/…/portY/… que identificasse a porta USB, em vez do disco, mas ao procurá-la não encontrei nenhuma.

    
por Johannes Ernst 14.08.2018 / 00:10

1 resposta

2

/dev/disk/by-path/ é o que você procura.

Por exemplo meu pendrive em uma porta USB "certa" era:

pci-0000:03:00.0-usb-0:1:1.0-scsi-0:0:0:0 -> ../../sdc

Depois de desconectar e conectar em outra porta, ele foi:

pci-0000:03:00.0-usb-0:2:1.0-scsi-0:0:0:0 -> ../../sdc

E ainda em outra porta:

pci-0000:00:1d.0-usb-0:1.2:1.0-scsi-0:0:0:0 -> ../../sdc

Eu deixei lá, conectei outro pendrive na porta "certa". Agora esses dois são:

pci-0000:00:1d.0-usb-0:1.2:1.0-scsi-0:0:0:0 -> ../../sdc
pci-0000:03:00.0-usb-0:1:1.0-scsi-0:0:0:0 -> ../../sdd

Observe que sdd (outro pendrive) tem o mesmo nome "by-path" que o sdc tinha quando estava na porta USB "certa". O caminho completo no sistema de arquivos é

/dev/disk/by-path/pci-0000:03:00.0-usb-0:1:1.0-scsi-0:0:0:0

no meu caso. Sua primeira partição é

/dev/disk/by-path/pci-0000:03:00.0-usb-0:1:1.0-scsi-0:0:0:0-part1

Eu acredito que isso resolve o seu problema.

    
por 14.08.2018 / 00:41

Tags