Kontekst
Automatyzuję obrazowanie kart SD z istniejącego dd
obrazu fabrycznego. Karta SD jest zawsze podłączana przez zewnętrzny czytnik kart USB i dlatego pojawia się w systemie jako urządzenie blokowe SCSI /dev/sd*
.
Obecnie składnia mojego polecenia brzmi: write-image DEVICE
gdzie DEVICE
jest urządzenie blokujące kartę SD, np. /dev/sdd
.
Problem
Robię już podstawowe sprawdzenie, DEVICE
czy ma formę, /dev/sd*
ale to nie wystarczy: obawiam się, że użytkownicy (ludzie produkcyjni nieprzyzwyczajeni do Linuksa) popełniają błąd i określają inne z pozoru prawidłowe urządzenie, np. /dev/sda
. Widać nadciągającą katastrofę, zwłaszcza, że mój skrypt obrazowania potrzebuje uprawnień roota (nie zapisuj samego obrazu, pamiętaj, ale później zmodyfikuj kartę SD, w tym dostosuj rozmiar partycji w zależności od rzeczywistego rozmiaru karty SD) ...
Pytanie
Chciałbym sprawdzić, czy określone urządzenie jest rzeczywiście pamięcią masową USB (lub przynajmniej urządzeniem wymiennym), aby zabezpieczyć dyski systemowe przed przypadkowym uszkodzeniem. Jak mogę to zrobić?
Nie znalazłem nic istotnego w /proc
ani w Internecie, teraz jestem całkiem zagubiony.