martes, 10 de noviembre de 2009

UUID, ese gran desconocido

Según la Wikipedia inglesa (ya que la española solo habla del GUID -versión Microsoft del UUID), UUID es "an identifier standard used in software construction, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE)", o lo que es lo mismo, un forma unificada de identificar dispositivos.

Siguiendo con esta fuente de saber, "A UUID is a 16-byte (128-bit) number. The number of theoretically possible UUIDs is therefore about 3 × 1038. In its canonical form, a UUID consists of 32 hexadecimal digits, displayed in 5 groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 digits and 4 hyphens)".

Todo esto se traduce en que nuestros números UUID tendrán un formato parecido al siguiente:
550e8400-e29b-41d4-a716-446655440000


De todas formas, lo que nos puede interesar de este número es que se utiliza para montar particiones en puntos específicos del sistema. Donde antes los sistemas Linux hablaban del SDA o del HDA ahora hablan del UUID:550e8400-e29b-41d4-a716-446655440000.

Supongamos que al instalar un nuevo disco duro en nuestro sistema Linux, queremos dar el paso final para que se monte de forma automática cada vez que arrancamos. Para ello, modificamos el fichero /etc/fstab, obteniendo algo parecido a lo siguiente:
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
# /dev/sda1
UUID=ec468ae1-6d26-43ec-a2c7-ea32c4eafa0f / ext3 relatime,errors=remount-ro 0 1
# /dev/sda3
UUID=8ebbae95-9fc3-4434-9deb-9ebcfe4eaaca /datos-1 ext3 relatime 0 2


Está claro que para incluir nuestro nuevo disco en esta lista, deberemos descubrir el UUID que le corresponde, según el tipo de dispositivo que sea. En nuestro caso, el último disco es el sdi, y su única partición, la sdi1 . Ejecutando lo siguiente, obtenemos nuestro identificador:
blkid /dev/sdi1


Obtenemos: /dev/sdi1: UUID="59edfdf9-8124-4cc1-b046-c94ac140ba81" TYPE="ext3"

Para listar todos los UUID de las unidades que tengamos en nuestro sistema podemos ejecutar el siguiente comando:
ls /dev/disk/by-uuid/ -lh


y obtendremos algo parecido a lo siguiente:
ls /dev/disk/by-uuid/ -lh
total 0
lrwxrwxrwx 1 root root 10 2009-11-10 22:52 072290ce-e38d-40c1-9af4-06f6fdde3a9e -> ../../sdg1
lrwxrwxrwx 1 root root 10 2009-11-10 22:53 2937af2a-130d-4ddb-ad46-a25d602f18d6 -> ../../sdh1
lrwxrwxrwx 1 root root 10 2009-11-10 22:52 3d777c46-e7e2-4d80-8c77-2fd762572cc0 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2009-11-10 22:53 59edfdf9-8124-4cc1-b046-c94ac140ba81 -> ../../sdi1


Ahora podremos añadir la linea adecuada en /etc/fstab

No hay comentarios: