LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Are GUIDs really unique? (https://www.linuxquestions.org/questions/linux-newbie-8/are-guids-really-unique-4175636221/)

l0f4r0 08-12-2018 09:27 AM

Are GUIDs really unique?
 
From the internet, it seems that GUIDs are kinds of 16 bytes hashes and so are meant to be pretty unique and are generated when partitions are created.
However, sites like Wikipedia (see https://en.wikipedia.org/wiki/GUID_Partition_Table, chapter "Partition type GUIDs") reference some partition type GUIDs. Indeed, my SWAP partition GUID (which I can obtain via "lsblk -o parttype') is the same than the one on Wikipedia.
So, are GUIDs really unique please?

bodqhrohro 08-12-2018 10:34 AM

You muddle up GUIDs used for identificating the partition itself and the type of partition. GUIDs of partitions itself, of course, have to be unique. But GUIDs used for types are not generated by partition managing software every time: they were generated once when the standards were developed, and are just shipped with such software.

In MBR era, a list of one-byte numbers was used to represent partition types. But the growing number of different filesystems and their purposes exposed the outrageous non-scalability of such a solution. So GPT developers decided to abandon the problem for near and far future, and replaced them not with two-bytes or even four-bytes codes, but with GUIDs right away. They still are a fixed list, but they are much more sparse and not ordered.

l0f4r0 08-12-2018 04:36 PM

So it seems that I mixed up unique partitions GUIDs with partition types GUIDs. Right?

JeremyBoden 08-12-2018 04:49 PM

Universally Unique identifiers are usually called UUID's.
At least the blkid command lists the UUID's of my disk partitions.

GUID's sounds very similar to GID's. :D

l0f4r0 08-12-2018 06:23 PM

Quote:

Originally Posted by JeremyBoden (Post 5891009)
At least the blkid command lists the UUID's of my disk partitions.

Thanks for the "blkid" command hint. It looks similar to "lsblk".
However, following bodqhrohro's remark, I don't understand now the difference between "lsblk -o parttype" and the PARTUUID info from "blkid -o full". The sequences are not the same so there must be a difference somewhere...

PS: the difference betwwen GUID and UUID seems very tenuous. Some sources indicate that GUID would be more Windows specific.

jefro 08-13-2018 01:15 PM

Not really unique in theory. In practice yes.


https://www.quora.com/What-is-the-di...-UUID-and-GUID seems to be a rather good explanation.


How to use them. https://betterexplained.com/articles...uide-to-guids/

bodqhrohro 08-13-2018 01:43 PM

Quote:

Originally Posted by l0f4r0 (Post 5891006)
So it seems that I mixed up unique partitions GUIDs with partition types GUIDs. Right?

Yes.

Quote:

Originally Posted by l0f4r0 (Post 5891018)
Some sources indicate that GUID would be more Windows specific.

Technically they are almost the same. You won't see any difference if not checking them with a very strict pattern. And even the name of GPT stands for "GUID Partition Table", so I don't see any reasons for doubt.

l0f4r0 08-28-2018 10:45 AM

Thanks for all your answers.

Then can one says that:
Code:

lsblk -o parttype
returns the partition type GUIDs/UUIDs (so not unique and even referenced publicly)
whereas
Code:

blkid -o full
returns the partition GUIDs/UUIDs (a priori unique)
?

It seems that GUIDs/UUIDs are quite interchangeable. Even the RFC 4122 states:
Quote:

This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier).
Finally, can one states that what define a GUID/UUID are in the end the following?
  • the goal of having a pretty unique big sequence,
  • the format (groups of 4-2-2-2-6 bytes),
  • some conventions.
Indeed, https://betterexplained.com/articles...uide-to-guids/ suggests that the implementation could be very open/free...
So am I totally wrong if I pick a MD5 (let's say d6aa97d33d459ea3670056e737c99a3d), add some dashes to it (d6aa97d3-3d45-9ea3-6700-56e737c99a3d) and then call it a GUID/UUID?

jefro 08-28-2018 01:00 PM

How did you get this md5 issue?

l0f4r0 08-29-2018 02:10 AM

Quote:

Originally Posted by jefro (Post 5897151)
How did you get this md5 issue?

I'm not having any MD5 issue, I'm wondering what GUIDs/UUIDs represent on my computer (lsblk / blkid) and how to get them and deal with them ;)

JeremyBoden 08-29-2018 11:57 AM

A UUID is an almost certainly unique number.
They can be used to index hardware resources without hitting a duplicates problem.

l0f4r0 08-29-2018 02:45 PM

Quote:

Originally Posted by JeremyBoden (Post 5897550)
A UUID is an almost certainly unique number.
They can be used to index hardware resources without hitting a duplicates problem.

Indeed, thanks but please see post #8 for more specific questions I have ;)

JeremyBoden 08-29-2018 03:59 PM

I think its just a few formatting hyphens to aid humans.

I'm sure that a "real" UUID has no hyphens, since it is only used for comparison purposes and comparing two big numbers is much easier than comparing two strings with the hyphens in.
Personally, if I ever need to check a UUID is correct (in a fstab file) I just check the last 3 or 4 characters match with the disk partitions UUID.

I never generate UUID's - but you can do this, with the uuidgen command (which is part of libuuid from the e2fsprogs package).
See https://www.tutorialspoint.com/unix_...ds/uuidgen.htm

ondoho 08-30-2018 12:23 AM

on my system there's 3 commands:
Code:

uuidgen
uuidd
uuidparse

you (op) should look at their man pages and play with them.

Rickkkk 08-30-2018 08:14 AM

Interesting thread ... Made me look up the Wikipedia entry someone mentioned above ... Pretty well written and informative - I recommend reading it.

Cheers.


All times are GMT -5. The time now is 05:11 PM.