/dev/sgxx
é um dispositivo genérico SCSI, que permite enviar e receber comandos SCSI brutos. Quando você escreve no dispositivo, espera-se que você inicie a gravação com um cabeçalho SCSI, que define a operação que você deseja fazer.
Escrever dados aleatórios em um dispositivo sg
é realmente uma má ideia. Você estará enviando comandos SCSI aleatórios, que podem nem mesmo existir (portanto, function not implemented
) e, além disso, fornecendo um comprimento de bytes aleatório para a operação, o que provavelmente resultará em cannot allocate memory
. (Se você é realmente azarado, o comando aleatório pode fazer alguma coisa.)
Dependendo do dispositivo que você realmente conectou a /dev/sg11
, talvez seja interessante investigar o pacote sg3_utils
ou algum driver de dispositivo SCSI mais específico, como st
(unidades de fita).
Um dos utilitários utilitários que vem com o sg utils é sg_map
, o que permite que você saiba qual dispositivo primário corresponde a um dispositivo sg. Em sistemas Linux não antigos, você também pode instalar o lsscsi
, que fornece uma boa lista de dispositivos SCSI, novamente com o dispositivo / dev / sg e o dispositivo principal.
sg3_utils também inclui sg_dd
, que é uma versão do dd
que entende o protocolo SCSI de baixo nível. (Mas só use se souber o que está fazendo!)