MACHINE-ID(5) machine-id MACHINE-ID(5) machine-id - /etc/machine-id /etc/machine-id . 32 . 16 /128 . . . . systemd.machine_id= --machine-id= systemd. /etc/machine-id. . gethostid(3) POSIX. D-Bus. . "" . . . . sd_id128_get_machine_app_specific(3) . . . /etc/machine-id . /etc/machine-id . systemd-machine-id-setup(1) /etc/machine-id . /etc/machine-id ( " " ). . /etc . Safely Building Images[1]. systemd-firstboot(1) /etc/machine-id ( ). systemd(1) . systemd.machine_id= --machine-id= ( ) . /etc/machine-id. systemd D-Bus /var/lib/dbus/machine-id container_uuid KVM DMI product_uuid devicetree vm,uuid ( KVM) Xen hypervisor uuid UUID . systemd.machine_id=firmware . systemd(1) /etc/machine-id. /etc/machine-id. /etc/machine-id ( ). systemd-machine-id-commit.service(8) /etc/machine-id /etc/ . /etc/machine-id . : 1. systemd.condition_first_boot= kernel-command-line(7). 2. /etc/machine-id . (early boot) systemd "uninitialized\n" ( ) (overmount) . ( first-boot-complete.target) . 3. /etc/machine-id "uninitialized" . . 4. /etc/machine-id . systemd ( /etc/ ). 5. /etc/machine-id . ConditionFirstBoot=yes systemd . OSF UUID UUID OSF RFC 4122[2], Microsoft GUID v30 1 4 UUIDs RFC 4122. UUID RFC 4122 ( ) UUID 1 4 RFC 4122. "id" : /* 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; ( "generate_random_uuid()" drivers/char/random.c .) /etc/machine-id /var/lib/dbus/machine-id D-Bus. /etc/machine-id. systemd(1), systemd-machine-id-setup(1), gethostid(3), hostname(5), machine-info(5), os-release(5), sd-id128(3), sd_id128_get_machine(3), systemd-firstboot(1) 1. https://systemd.io/BUILDING_IMAGES 2. RFC 4122 https://tools.ietf.org/html/rfc4122 3 . . : . systemd 260.2 MACHINE-ID(5)