Ich habe Dutzende von SD-Karten, die ich für ein Projekt im Auge behalten muss. Im Moment haben sie jeweils eine Nummer, die physisch mit einem dauerhaften Marker auf der Außenseite geschrieben ist. Dies ist in Ordnung, aber ich möchte sehen, ob in jede SD-Karte, die ich aufnehmen kann, etwas Einzigartiges eingebaut ist. Bisher ist mir bekannt:
- Die CID der SD-Karte, die normalerweise (nicht immer ???) eine eindeutige Seriennummer enthält. Ich kann in Fedora 21 keinen einfachen Weg finden, dies von einer SD-Karte abzulesen. Auf einigen Seiten heißt es, dass Sie die CID nicht sehen können, wenn Sie keinen Kartenleser haben, der direkt an den PCI-Bus angeschlossen ist (und nicht über USB).
- Seriennummer des Volumes / der Partition. Dies mag funktionieren, aber ich verstehe, dass sich dies jedes Mal ändert, wenn die Karte neu formatiert wird, was wir von Zeit zu Zeit tun. Also keine gute Option.
- Beschriften Sie einfach das SD-Kartenvolumen mit meinem eigenen eindeutigen Benennungssystem. Das ist zu einfach zu ändern, und ich könnte genauso gut einfach die Zahlen auf die Außenseite schreiben.
Ich denke also, meine Fragen sind:
- Gibt es eine Möglichkeit, die CID von meinen SD-Karten zuverlässig zu lesen, um Seriennummern über einen USB-Kartenleser in Fedora 21 oder anderen GNU / Linux-Distributionen zu erhalten?
- Wenn nicht, gibt es andere Möglichkeiten, vorhandene eindeutige Kennungen in einer SD-Karte oder einem anderen System zur eindeutigen Identifizierung von SD-Karten zu verwenden?
Antworten:
blkid (8) ist wahrscheinlich das, wonach Sie suchen. Es wird die UUID jedes Geräts angegeben.
Kann für vfat die UUID mit der mtools-Anwendung mlabel (1) festlegen.
Für ext2, ext3 und ext4 kann e2label (8) verwendet werden, um die UUID festzulegen.
Wenn Sie also von Zeit zu Zeit neu formatieren, stellen Sie die UUID bei Bedarf auf die gleiche Weise wie zuvor ein.
Ich kann nicht für andere Kartenleser sprechen, aber diejenigen, die ich über einen USB-Anschluss verwendet habe, passieren die UUID der SD-Karte.
quelle
mlabel(1)
unterstützt auch fat32.blkid
Rückgaben ändern sich, wenn sich die auf der SD-Karte gespeicherten Daten ändern. Dies unterscheidet sich stark von der CID oder der Seriennummer. Wenn Sie eine vorgenommen habendd if=/dev/sdcard1 of=/dev/sdcard2 count=2
, sind die Änderungen sehr hochblkid /dev/sdcard1
und identisch mitblkid /dev/sdcard2
. Auch die letzte Bemerkung der Antwort ist irreführend: Die UUID wird aus den auf der SD-Karte gespeicherten Daten und nicht aus der Karte abgeleitet. Mit den meisten USB-Lesegeräten können Sie den Inhalt der SD-Karte lesen. Was immer noch nicht möglich ist, ist der Zugriff auf dieCID
.Basierend auf dem Kommentar von @humanityAndpeace
CID
könnte das Suchen nach einer Lösung sein, aber es scheint, dass Sie es nicht von allen SD-Karten erhalten können. Zumindest ist es bei einem der Fall, den ich getestet habe. Weitere Dokumentation finden Sie hier .Die Idee ist, Infos von zu bekommen
/sys/block/<yourBlockDevice>/device/cid
quelle