Tengo docenas de tarjetas SD que necesito hacer un seguimiento de un proyecto. En este momento, cada uno tiene un número escrito físicamente con un marcador permanente en el exterior. Esto está bien, pero quiero ver si hay algo único integrado en cada tarjeta SD que pueda grabar. Hasta ahora soy consciente de:
- El CID de la tarjeta SD, que generalmente (no siempre ???) incluye un número de serie único. No puedo encontrar una manera sencilla de leer esto en una tarjeta SD en Fedora 21. Algunas páginas dicen que a menos que tenga un lector de tarjetas conectado directamente al bus PCI (y no a través de USB), no puede ver el CID.
- Número de serie del volumen / partición. Esto podría funcionar, pero entiendo que esto cambia cada vez que se reformatea la tarjeta, que es algo que hacemos de vez en cuando. Entonces no es una buena opción.
- Simplemente etiquetando el volumen de la tarjeta SD con mi propio sistema de nombres único. Esto es demasiado fácil de cambiar, y también podría seguir escribiendo los números en el exterior.
Entonces, supongo que mis preguntas son:
- ¿Hay alguna manera confiable de leer el CID de mis tarjetas SD para obtener números de serie a través de un lector de tarjetas USB en Fedora 21 u otras distribuciones de GNU / Linux?
- Si no, ¿hay otras formas de usar identificadores únicos existentes en una tarjeta SD u otro sistema para identificar tarjetas SD de manera única?
Respuestas:
blkid (8) es probablemente lo que estás buscando. Le dará el UUID de cada dispositivo.
Para vfat, puede configurar UUID usando la aplicación mtools mlabel (1).
Para ext2, ext3 y ext4, e2label (8) se puede usar para configurar el UUID.
Entonces, si vuelve a formatear de vez en cuando, simplemente configure el UUID igual que antes si es necesario.
No puedo hablar por otros lectores de tarjetas, pero los que he usado a través de un puerto USB pasan a través del UUID de la tarjeta SD.
fuente
mlabel(1)
compatible con fat32.blkid
regrese cambiará cada vez que cambien los datos almacenados en la tarjeta SD. Esto es muy diferente al CID o al número de serie. Si realizó undd if=/dev/sdcard1 of=/dev/sdcard2 count=2
, los cambios son muy altos queblkid /dev/sdcard1
serán idénticos ablkid /dev/sdcard2
. Además, el comentario final de la respuesta es engañoso: el UUID se deriva de los datos almacenados en la tarjeta SD, y no de la tarjeta, claramente todos los lectores USB le permitirán leer el contenido de la tarjeta SD. Lo que aún no es posible es acceder aCID
.Según el comentario de @humanityAndpeace, Buscar
CID
podría ser una solución, pero parece que no se puede obtener de todas las tarjetas SD. Al menos es el caso de uno que probé. Ver más documentación aquí .La idea es obtener información de
/sys/block/<yourBlockDevice>/device/cid
fuente