util-linux/misc-utils/uuidd.8.adoc
Michael Trapp 3cfba7d39b libuuid: Implement continuous clock handling for time based UUIDs
In a uuidd setup, the daemon is a singleton and can maintain it's own
resources for time based UUID generation. This requires a dedicated
'clock sequence range' but does not need any further lock/update of
the LIBUUID_CLOCK_FILE from uuidd. The range of available clock values
is extended by a continuous handling of the clock updates - instead of
updating the value to the current timestamp, it is incremented by
the number of requested UUIDs.
2022-07-07 13:00:35 +02:00

95 lines
3.3 KiB
Text

//po4a: entry man manual
////
Copyright 2007 by Theodore Ts'o. All Rights Reserved.
This file may be copied under the terms of the GNU Public License.
////
= uuidd(8)
:doctype: manpage
:man manual: System Administration
:man source: util-linux {release-version}
:page-layout: base
:command: uuidd
== NAME
uuidd - UUID generation daemon
== SYNOPSIS
*uuidd* [options]
== DESCRIPTION
The *uuidd* daemon is used by the UUID library to generate universally unique identifiers (UUIDs), especially time-based UUIDs, in a secure and guaranteed-unique fashion, even in the face of large numbers of threads running on different CPUs trying to grab UUIDs.
== OPTIONS
*-C*, *--cont-clock* _opt_arg_::
Activate continuous clock handling for time based UUIDs. *uuidd* could use all possible clock values, beginning with the daemon's start time. The optional argument can be used to set a value for the max_clock_offset. This gurantees, that a clock value of a UUID will always be within the range of the max_clock_offset. '-C' or '--cont-clock' enables the feature with a default max_clock_offset of 2 hours. '-C<NUM>[hd]' or '--cont-clock=<NUM>[hd]' enables the feature with a max_clock_offset of NUM seconds. In case of an appended h or d, the NUM value is read in hours or days. The minimum value is 60 seconds, the maximum value is 365 days.
*-d*, *--debug*::
Run *uuidd* in debugging mode. This prevents *uuidd* from running as a daemon.
*-F*, *--no-fork*::
Do not daemonize using a double-fork.
*-k*, *--kill*::
If currently a uuidd daemon is running, kill it.
*-n*, *--uuids* _number_::
When issuing a test request to a running *uuidd*, request a bulk response of _number_ UUIDs.
*-P*, *--no-pid*::
Do not create a pid file.
*-p*, *--pid* _path_::
Specify the pathname where the pid file should be written. By default, the pid file is written to _{runstatedir}/uuidd/uuidd.pid_.
// TRANSLATORS: Don't translate _{runstatedir}_.
*-q*, *--quiet*::
Suppress some failure messages.
*-r*, *--random*::
Test uuidd by trying to connect to a running uuidd daemon and request it to return a random-based UUID.
*-S*, *--socket-activation*::
Do not create a socket but instead expect it to be provided by the calling process. This implies *--no-fork* and *--no-pid*. This option is intended to be used only with *systemd*(1). It needs to be enabled with a configure option.
*-s*, *--socket* _path_::
Make uuidd use this pathname for the unix-domain socket. By default, the pathname used is _{runstatedir}/uuidd/request_. This option is primarily for debugging purposes, since the pathname is hard-coded in the *libuuid* library.
// TRANSLATORS: Don't translate _{runstatedir}_.
*-T*, *--timeout* _number_::
Make *uuidd* exit after _number_ seconds of inactivity.
*-t*, *--time*::
Test *uuidd* by trying to connect to a running uuidd daemon and request it to return a time-based UUID.
include::man-common/help-version.adoc[]
== EXAMPLE
Start up a daemon, print 42 random keys, and then stop the daemon:
....
uuidd -p /tmp/uuidd.pid -s /tmp/uuidd.socket
uuidd -d -r -n 42 -s /tmp/uuidd.socket
uuidd -d -k -s /tmp/uuidd.socket
....
== AUTHOR
The *uuidd* daemon was written by mailto:tytso@mit.edu[Theodore Ts'o].
== SEE ALSO
*uuid*(3),
*uuidgen*(1)
include::man-common/bugreports.adoc[]
include::man-common/footer.adoc[]
ifdef::translation[]
include::man-common/translation.adoc[]
endif::[]