this post was submitted on 24 May 2025
85 points (96.7% liked)

Linux

7409 readers
375 users here now

A community for everything relating to the GNU/Linux operating system

Also check out:

Original icon base courtesy of [email protected] and The GIMP

founded 2 years ago
MODERATORS
 

That's all. I just found this in a random script. Generates a random UUID every time it's called. I didn't know.

Of course I can also use uuidgen or pipe /dev/(u)random into something to get a random alphanumeric string - but this is built right into the kernel!

In /proc/sys/kernel/random/, there's also boot_id which seems to do the same, and some tweakable parameters.

❤️🐧

top 18 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 4 hours ago

Yeah but please don't actually use this. Use a proper UUID library that works cross-platform and lets you choose the UUID type and can be seeded etc.

[–] [email protected] 4 points 7 hours ago

This is awesome. Thank you

[–] [email protected] 5 points 7 hours ago

I’ve used this in some bash scripts, very useful!

[–] [email protected] 9 points 9 hours ago

That’s what you get when you define a file system as “a system that names things”.

[–] [email protected] 15 points 10 hours ago

boot_id seems to be static, probably set at boot.
So don't use it for a random uuid.

[–] [email protected] 4 points 10 hours ago

Thank you so much for sharing this!

[–] [email protected] 1 points 7 hours ago

Works in Termux on Android

[–] [email protected] 0 points 5 hours ago (2 children)

See also: /dev/null

It’s basically a black hole where you can throw anything.

[–] [email protected] 3 points 4 hours ago

Yes, but what if it were a subscription? May I present: /dev/null-as-a-Service.

[–] [email protected] 4 points 5 hours ago (4 children)
cat /proc/sys/kernel/random/uuid | /dev/null
[–] [email protected] 12 points 4 hours ago (1 children)

Would have to be cat /proc/sys/kernel/random/uuid > /dev/null

You can't pipe to a file, only to programs, and since /dev/null isn't an executable your command will simply give an error.

To make it more clear, consider using dd, which lets you explicitly specify an input and output file. For example: dd if=/proc/sys/kernel/random/uuid of=/dev/sda1 wait shit that wasn't the right output oh god oh fu

[–] [email protected] 1 points 1 hour ago

i saw this and came to do THE THING but you beat me too it. GOOD ANYA

[–] [email protected] 1 points 2 hours ago (2 children)

That reminds me of the CPU stress test I ran many years ago.

dd if=/dev/random of=/dev/null

If you have 8 cores, just open 8 terminals, and run that code in each of them.

[–] [email protected] 2 points 1 hour ago* (last edited 1 hour ago)
for i in {1..n}  # where n == number of cores
do
  dd if=/dev/urandom of=/dev/null &
done

# to stop:
jobs -p | xargs kill
[–] [email protected] 2 points 2 hours ago

/dev/urandom should stress the CPU more. /dev/random can be entropy limited

[–] [email protected] 2 points 4 hours ago (1 children)

The information will be evenly distributed upon its surface and some believe one day it will be be radiated back out into the rest of the system.

[–] [email protected] 2 points 2 hours ago

That's a horrifying concept. Better not think about it.

[–] [email protected] 3 points 4 hours ago