Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

dbus-uuidgen (1)


dbus-uuidgen - Utility to generate UUIDs


dbus-uuidgen [--version] [--ensure [=FILENAME]] [--get [=FILENAME]]


DBUS-UUIDGEN(1)                  User Commands                 DBUS-UUIDGEN(1)

       dbus-uuidgen - Utility to generate UUIDs

       dbus-uuidgen [--version] [--ensure [=FILENAME]] [--get [=FILENAME]]

       The dbus-uuidgen command generates or reads a universally unique ID.

       Note that the D-Bus UUID has no relationship to RFC 4122 and does not
       generate UUIDs compatible with that spec. Many systems have a separate
       command for that (often called "uuidgen").

       See http://www.freedesktop.org/software/dbus/ for more information
       about D-Bus.

       The primary usage of dbus-uuidgen is to run in the post-install script
       of a D-Bus package like this:

             dbus-uuidgen --ensure

       This will ensure that /var/lib/dbus/machine-id exists and has the uuid
       in it. It won't overwrite an existing uuid, since this id should remain
       fixed for a single machine until the next reboot at least.

       The important properties of the machine UUID are that 1) it remains
       unchanged until the next reboot and 2) it is different for any two
       running instances of the OS kernel. That is, if two processes see the
       same UUID, they should also see the same shared memory, UNIX domain
       sockets, local X displays, localhost.localdomain resolution, process
       IDs, and so forth.

       If you run dbus-uuidgen with no options it just prints a new uuid made
       up out of thin air.

       If you run it with --get, it prints the machine UUID by default, or the
       UUID in the specified file if you specify a file.

       If you try to change an existing machine-id on a running system, it
       will probably result in bad things happening. Don't try to change this
       file. Also, don't make it the same on two different systems; it needs
       to be different anytime there are two different kernels running.

       The UUID should be different on two different virtual machines, because
       there are two different kernels.

       The following options are supported:

           If a filename is not given, defaults to
           localstatedir/lib/dbus/machine-id (localstatedir is usually /var).
           If this file exists and is valid, the uuid in the file is printed
           on stdout. Otherwise, the command exits with a nonzero status.

           If a filename is not given, defaults to
           localstatedir/lib/dbus/machine-id (localstatedir is usually /var).
           If this file exists then it will be validated, and a failure code
           returned if it contains the wrong thing. If the file does not
           exist, it will be created with a new uuid in it. On success, prints
           no output.

           Print the version of dbus-uuidgen

       See http://www.freedesktop.org/software/dbus/doc/AUTHORS

       Please send bug reports to the D-Bus mailing list or bug tracker, see

       See attributes(7) for descriptions of the following attributes:

       |Availability   | system/library/dbus |
       |Stability      | Uncommitted         |

       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from

       Further information about this software can be found on the open source
       community website at http://dbus.freedesktop.org.

D-Bus 1.10.32                     12/21/2021                   DBUS-UUIDGEN(1)