Quando um dispositivo USB é montado como sdb e quando é sdc?

0

Eu tive um script na semana passada que esperava que meu usb fosse sdc, eu estava usando este comando

usb_path='lsblk | grep sdc1 | awk '{print $7}''

mas depois voltei e vi que o bastão estava vazio, porque o bastão era chamado sdb. Então, o que isso depende do nome que o palito recebe? Eu não tinha nenhum outro disco conectado quando ele tem sdc e nenhum outro disco está conectado agora que é sdb. Então a única diferença que eu pude ver é o tempo, mas isso parece estúpido. Ah, e é o mesmo usb stick da semana passada.

    
por Hakaishin 30.05.2017 / 08:55

1 resposta

4

A letra b / c em sdb / sdc é um contador.

O primeiro disco detectado recebe sda , o segundo sdb e assim por diante.

As letras podem ser ignoradas se, por exemplo, você obtiver uma conexão temporária e solta ao conectar seu pendrive. No começo o pen drive recebe sdb , então a conexão quebra e é restabelecida e fica com sdc , pois sdb ainda não foi liberado.

Como você não pode contar com o mesmo dispositivo recebendo o mesmo nome todas as vezes, O Ubuntu tem um diretório com links simbólicos para discos que estão ligados a um ID do sistema de arquivos no disco: /dev/disk/by-uuid/

Cada partição em cada disco que você conecta recebe uma entrada neste diretório e permanece sempre a mesma para a mesma partição.

Se preferir acessar um dispositivo USB que esteja conectado a uma porta USB específica em vez de usar a identidade do dispositivo USB, você poderá usar as entradas em /dev/disk/by-path .

lsblk aceita um argumento se você quiser informações sobre um dispositivo específico. Então, em vez de usar lsblk | grep … , você pode usar, por exemplo, lsblk /dev/disk/by-id/1234-5678 ou lsblk /dev/disk/by-path/pci-0000:00:2.0-usb-0:1:1.0-scsi-0:0:0:0

    
por 30.05.2017 / 09:12