Kontext
Ich automatisiere das SD-Karten-Imaging von einem vorhandenen dd
Factory-Image. Die SD-Karte wird immer über einen externen USB-Kartenleser angeschlossen und erscheint somit im System als SCSI-Blockgerät /dev/sd*
.
Derzeit lautet die Syntax meines Befehls: write-image DEVICE
Wo DEVICE
befindet sich das SD-Kartenblockgerät, z. /dev/sdd
.
Problem
Ich überprüfe bereits grundlegend DEVICE
, ob es sich um ein Formular handelt, /dev/sd*
aber dies reicht nicht aus: Ich befürchte, dass die Benutzer (Produktionsmitarbeiter, die nicht an Linux gewöhnt sind) einen Fehler machen und ein anderes scheinbar gültiges Gerät angeben, z. /dev/sda
. Sie können die drohende Katastrophe sehen, zumal mein Imaging-Skript Root-Rechte benötigt (wohlgemerkt nicht, um das Image selbst zu schreiben, sondern um die SD-Karte anschließend zu ändern, einschließlich der Anpassung der Größe einer Partition in Abhängigkeit von der tatsächlichen Größe der SD-Karte) ...
Frage
Ich möchte überprüfen, ob es sich bei dem angegebenen Gerät tatsächlich um einen USB-Massenspeicher (oder zumindest um ein Wechselmedium) handelt, damit ich die Systemfestplatten vor versehentlichem Papierkorb schützen kann. Wie kann ich das machen?
Ich habe im /proc
oder im Web nichts Relevantes gefunden , jetzt bin ich ziemlich ratlos.