mirror of
https://git.proxmox.com/git/systemd
synced 2025-05-30 03:06:13 +00:00
100 lines
3.6 KiB
Groff
100 lines
3.6 KiB
Groff
'\" t
|
|
.TH "MACHINE\-ID" "5" "" "systemd 219" "machine-id"
|
|
.\" -----------------------------------------------------------------
|
|
.\" * Define some portability stuff
|
|
.\" -----------------------------------------------------------------
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.\" http://bugs.debian.org/507673
|
|
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\" -----------------------------------------------------------------
|
|
.\" * set default formatting
|
|
.\" -----------------------------------------------------------------
|
|
.\" disable hyphenation
|
|
.nh
|
|
.\" disable justification (adjust text to left margin only)
|
|
.ad l
|
|
.\" -----------------------------------------------------------------
|
|
.\" * MAIN CONTENT STARTS HERE *
|
|
.\" -----------------------------------------------------------------
|
|
.SH "NAME"
|
|
machine-id \- Local machine ID configuration file
|
|
.SH "SYNOPSIS"
|
|
.PP
|
|
/etc/machine\-id
|
|
.SH "DESCRIPTION"
|
|
.PP
|
|
The
|
|
/etc/machine\-id
|
|
file contains the unique machine ID of the local system that is set during installation\&. The machine ID is a single newline\-terminated, hexadecimal, 32\-character, lowercase machine ID string\&. When decoded from hexadecimal, this corresponds with a 16\-byte/128\-bit string\&.
|
|
.PP
|
|
The machine ID is usually generated from a random source during system installation and stays constant for all subsequent boots\&. Optionally, for stateless systems, it is generated during runtime at boot if it is found to be empty\&.
|
|
.PP
|
|
The machine ID does not change based on user configuration or when hardware is replaced\&.
|
|
.PP
|
|
This machine ID adheres to the same format and logic as the D\-Bus machine ID\&.
|
|
.PP
|
|
Programs may use this ID to identify the host with a globally unique ID in the network, which does not change even if the local network configuration changes\&. Due to this and its greater length, it is a more useful replacement for the
|
|
\fBgethostid\fR(3)
|
|
call that POSIX specifies\&.
|
|
.PP
|
|
The
|
|
\fBsystemd-machine-id-setup\fR(1)
|
|
tool may be used by installer tools to initialize the machine ID at install time\&. Use
|
|
\fBsystemd-firstboot\fR(1)
|
|
to initialize it on mounted (but not booted) system images\&.
|
|
.SH "RELATION TO OSF UUIDS"
|
|
.PP
|
|
Note that the machine ID historically is not an OSF UUID as defined by
|
|
\m[blue]\fBRFC 4122\fR\m[]\&\s-2\u[1]\d\s+2, nor a Microsoft GUID; however, starting with systemd v30, newly generated machine IDs do qualify as v4 UUIDs\&.
|
|
.PP
|
|
In order to maintain compatibility with existing installations, an application requiring a UUID should decode the machine ID, and then apply the following operations to turn it into a valid OSF v4 UUID\&. With
|
|
"id"
|
|
being an unsigned character array:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
/* Set UUID version to 4 \-\-\- truly random generation */
|
|
id[6] = (id[6] & 0x0F) | 0x40;
|
|
/* Set the UUID variant to DCE */
|
|
id[8] = (id[8] & 0x3F) | 0x80;
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
(This code is inspired by
|
|
"generate_random_uuid()"
|
|
of
|
|
drivers/char/random\&.c
|
|
from the Linux kernel sources\&.)
|
|
.SH "HISTORY"
|
|
.PP
|
|
The simple configuration file format of
|
|
/etc/machine\-id
|
|
originates in the
|
|
/var/lib/dbus/machine\-id
|
|
file introduced by D\-Bus\&. In fact, this latter file might be a symlink to
|
|
\fI/etc/machine\-id\fR\&.
|
|
.SH "SEE ALSO"
|
|
.PP
|
|
\fBsystemd\fR(1),
|
|
\fBsystemd-machine-id-setup\fR(1),
|
|
\fBgethostid\fR(3),
|
|
\fBhostname\fR(5),
|
|
\fBmachine-info\fR(5),
|
|
\fBos-release\fR(5),
|
|
\fBsd-id128\fR(3),
|
|
\fBsd_id128_get_machine\fR(3),
|
|
\fBsystemd-firstboot\fR(1)
|
|
.SH "NOTES"
|
|
.IP " 1." 4
|
|
RFC 4122
|
|
.RS 4
|
|
\%https://tools.ietf.org/html/rfc4122
|
|
.RE
|