Synopsis

Description

"A UUID is an identifier that is unique across both space and time, with respect to the space of all UUIDs. A UUID can be used for multiple purposes, from tagging objects with an extremely short lifetime, to reliably identifying very persistent objects across a network.

“The generation of UUIDs does not require a registration authority for each single identifier. Instead, it requires a unique value over space for each UUID generator. This spatially unique value is [normally] specified as an IEEE 802 address, which is usually already applied to network-connected
systems."

The makeuuid command generates one or more UUIDs on the standard output.

Options

The makeuuid command supports the following options:

-eether

Supplies an alternate address to be used in the generation of the UUIDs. Normally, the system's Ethernet address is acquired and used during the generation of a UUID. However, this requires root privileges to
open and read the network devices. If this is not possible, you must supply an alternate Ethernet address.

-ncount

Generate multiple UUIDs. This option generates the specified number of UUIDs, one per line. Using this form is more efficient than, and functionally equivalent to, calling the makeuuid command
multiple times. This can be used, for example, when a large number of UUIDs need to be generated for a given application.

-Rroot

Use root as the root filesystem path when updating the shared state file (see FILES). The shared state file must be writable by the user running makeuuid, otherwise
no UUIDs will be generated and the command will return in failure.

Note –

The root file system of any non-global zones must not be referenced with the -R option. Doing so might damage the global zone's file system, might compromise the security of the global zone, and might damage the non-global zone's file system. See zones(5).

Usage

Normally, you run the makeuuid command with root privileges, as the Ethernet address and state files can be easily accessed and updated. If this is not possible, you must use the -R and -e options to specify an alternate root and Ethernet address
to use when calculating the UUIDs.

Examples

Example 1 Generating Multiple UUIDs

The following command generates 3000 UUIDs:

example# makeuuid -n 3000

Example 2 Invoking Without Root Privileges

If you cannot obtain root privileges, you must specify an alternate Ethernet address and state file location:

example% makeuuid -e 11:22:33:44:55:66 -R /export/root/example2

See the caveat on the use of the -R option in the description of that option, above.

Exit Status

The following exit values are returned:

0

Successful completion.

1

Out of memory.

–1

Invalid Ethernet address given or access denied.

Files

/var/sadm/system/uuid_state

UUID state file. Use of time values is one way that UUID generators, such as makeuuid, guarantee uniqueness. A state file is a mechanism that allows makeuuid to "remember" the
last time value it used so it can increment that value for use in a new UUID. See the Internet Draft "UUIDs and GUIDs," dated February 4, 1998, for details on the state file mechanism.