[Isto é no Debian 12]
Para acessar totalmente minha unidade de DVD, preciso também saber seu caminho genérico SCSI ( /dev/sgX
), além do /dev/srX
caminho esperado do CDROM.
O dispositivo específico é importante, porém, e preciso acessá-lo mesmo que o sistema embaralhe novamente os /dev/srX
s e /dev/sgX
s.
sudo lsscsi -g
[3:0:0:0] cd/dvd HL-DT-ST BD-RE WH16NS60 1.05 /dev/sr0 /dev/sg3
sudo blkid /dev/sr0
/dev/sr0: UUID="035bbeef20202020" LABEL="WALDEINSAMKEIT" BLOCK_SIZE="2048" TYPE="udf"
sudo blkid /dev/sg3
<no output>
/dev/sr0
é definido com um /dev/disk/by-uuid/035bbeef20202020
, mas se /dev/sg3
não tiver realmente um UUID (imagino que não seja visto como um dispositivo de bloco), eu poderia usar o caminho completo do controlador/sistema, de acordo com este discurso do Linus que encontrei https://yarchive.net/comp/linux/scsi_ids.html
sudo udevadm info -q path -n /dev/sr0
/devices/pci0000:00/0000:00:17.0/ata4/host3/target3:0:0/3:0:0:0/block/sr0
sudo udevadm info -q path -n /dev/sg3
/devices/pci0000:00/0000:00:17.0/ata4/host3/target3:0:0/3:0:0:0/scsi_generic/sg3
Isso também não parece ser uma solução, pois o caminho inclui sr0
ou sg3
que mudará a ordem. /sys/devices/pci0000:00/0000:00:17.0/ata4/host3/target3:0:0/3:0:0:0
Parece ser um diretório que o dispositivo está referenciando, mas não consigo encontrar nada além das pastas block/sr0
e scsi_generic/sg3
que novamente revertem ao problema original de sr0
e sg3
mudando se os cabos do sistema forem reordenados ou algo assim.
Como posso obter um identificador consistente para /dev/sg3
? Procurei bastante, mas devo estar esquecendo de algum comando.
O "UUID" que você espera usar está associado ao disco atualmente na unidade, não à unidade em si.
Para realmente resolver esse problema, você precisará de um par de regras udev.
Primeiro, execute
udevadm info -q all -a -n /dev/sr0 | grep -e vendor -e model
e anote as stringsATTRS{vendor}
eATTRS{model}
.Faça o mesmo com
udevadm info -q all -a -n /dev/sg3 | grep -e vendor -e model
.Você pode ver algo assim em ambos os casos:
Você deve ignorar quaisquer linhas com
ATTRS{subsystem_vendor}
e as linhas ondeATTRS{vendor}
contêm apenas números hexadecimais, pois elas não se referem à unidade de DVD, mas aos controladores upstream no barramento PCI(e).Um número de série seria um identificador exclusivo melhor, mas infelizmente os atributos udev para o dispositivo SCSI genérico não incluirão um atributo de número de série facilmente acessível.
Note que as strings podem incluir espaços em branco à direita, então certifique-se de copiar todas as strings exatamente dentro das aspas duplas. Para dispositivos do tipo SCSI, o comprimento máximo (/padrão?) da
vendor
string parece ser de 8 caracteres, e amodel
string parece ter 16 caracteres, respectivamente.Depois de conhecer as strings do fornecedor e do modelo, você será capaz de construir um par de regras udev como esta:
(Você pode substituir
consistent_generic
econsistent_block
por qualquer nome que desejar.)Coloque-os em eg
/etc/udev/rules.d/80-local-consistent-dvd.rules
e reinicie.Agora você terá links simbólicos
/dev/consistent_block
e/dev/consistent_generic
(ou qualquer outro nome que você os tenha dado), que sempre apontarão para a unidade de DVD que possui os atributos especificados.