Le contexte
J'automatise l'imagerie de la carte SD à partir d'une dd
image d'usine existante . La carte SD est toujours connectée via un lecteur de carte USB externe et apparaît donc dans le système comme un périphérique bloc SCSI /dev/sd*
.
Actuellement, la syntaxe de ma commande est: write-image DEVICE
où DEVICE
est le périphérique de bloc de carte SD, par exemple. /dev/sdd
.
Problème
Je fais déjà une vérification de base DEVICE
pour vérifier qu'il est de la forme /dev/sd*
mais cela ne suffit pas: je crains que les utilisateurs (les gens de la production non habitués à Linux) se trompent et spécifient un autre périphérique apparemment valide, par exemple. /dev/sda
. Vous pouvez voir la catastrophe imminente, d'autant plus que mon script d'imagerie a besoin des privilèges root (non pas pour écrire l'image elle-même, mais pour modifier la carte SD par la suite, y compris en ajustant la taille d'une partition en fonction de la taille réelle de la carte SD) ...
Question
Je voudrais vérifier que le périphérique spécifié est en fait un stockage de masse USB (ou tout au moins un périphérique amovible) afin que je puisse protéger les disques système contre la corbeille accidentellement. Comment puis je faire ça?
Je n'ai rien trouvé de pertinent sur /proc
ou sur le web, je suis tout à fait perdu maintenant.