контекст
Я автоматизирую создание dd
образа SD-карты из существующего заводского образа. SD-карта всегда подключается через внешнее USB-устройство чтения карт и, таким образом, отображается в системе как блочное устройство SCSI /dev/sd*
.
В настоящее время синтаксис моей команды: write-image DEVICE
где DEVICE
находится блочное устройство SD-карты, например. /dev/sdd
,
проблема
Я уже делаю базовую проверку, DEVICE
чтобы убедиться, что она имеет форму, /dev/sd*
но этого недостаточно: я боюсь, что пользователи (производственные люди, не привыкшие к Linux) делают ошибку и указывают другое, на первый взгляд, допустимое устройство, например. /dev/sda
, Вы можете увидеть надвигающуюся катастрофу, тем более что моему сценарию обработки изображений требуются права суперпользователя (не для записи самого изображения, а для изменения SD-карты впоследствии, включая настройку размера раздела в зависимости от реального размера SD-карты) ...
Вопрос
Я хотел бы убедиться, что указанное устройство на самом деле является запоминающим устройством USB (или, по крайней мере, съемным), чтобы я мог защитить системные диски от случайной перегрузки. Как я могу это сделать?
Я не нашел ничего релевантного /proc
ни в сети, ни в сети, сейчас я в растерянности.