systemd-id128 - Generate and print sd-128 identifiers
systemd-id128 [OPTIONS...] new
systemd-id128 [OPTIONS...] machine-id
systemd-id128 [OPTIONS...] boot-id
systemd-id128 [OPTIONS...] invocation-id
id128 may be used to conveniently print sd-id128(3) UUIDs. What identifier is printed depends on the specific verb.
With new, a new random identifier will be generated.
With machine-id, the identifier of the current machine will be printed. See machine-id(5).
With boot-id, the identifier of the current boot will be printed.
Both machine-id and boot-id may be combined with the --app-specific=app-id switch to generate application-specific IDs. See sd_id128_get_machine(3) for the discussion when this is useful.
With invocation-id, the identifier of the current service invocation will be printed. This is available in systemd services. See systemd.exec(5).
With show, well-known IDs are printed (for now, only GPT partition type UUIDs), along with brief identifier strings. When no arguments are specified, all known IDs are shown. When arguments are specified, they must be the identifiers or ID values of one or more known IDs, which are then printed. Combine with --uuid to list the IDs in UUID style, i.e. the way GPT partition type UUIDs are usually shown.
The following options are understood:
Generate output as programming language snippets.
-a app-id, --app-specific=app-id
With this option, an identifier that is the result of hashing the application identifier app-id and the machine identifier will be printed. The app-id argument must be a valid sd-id128 string identifying the application.
Generate output as an UUID formatted in the "canonical representation", with five groups of digits separated by hyphens. See the wikipedia  for more discussion.
Print a short help text and exit.
Print a short version string and exit.
On success, 0 is returned, a non-zero failure code otherwise.