SYSTEMD-MACHINE-ID-SETUP(1)

NAME
systemd-machine-id-setup - 初始化 /etc/machine-id 文件

SYNOPSIS

systemd-machine-id-setup

描述

systemd-machine-id-setup 可被操作系统安装程序用来初始化 /etc/machine-id 中的"machine ID"值， 可以设为一个指定值，也可以设为一个随机生成的值。详见 machine-id(5) 手册。

如果没有明确使用 --commit 选项并且 /etc/machine-id 不存在或其中的值不合格， 那么将初始化一个新的"machined ID"。 此新"machine ID"将依次使用下列方法获得：

    1. 如果已经存在一个有效的 D-Bus "machine ID"， 那么就使用此 D-Bus "machine ID" 来初始化 /etc/machine-id 文件。

    2. 如果运行在已经配置了UUID(通过 -uuid 选项)的KVM虚拟机中， 那么就使用此UUID来初始化 /etc/machine-id 文件。 KVM虚拟机的创建者 必须确保UUID的唯一性。

    3. 如果运行在已经配置了UUID的Linux容器中， 那么就使用此UUID来初始化 /etc/machine-id 文件。 详见 Container Interface[1] 文档。

    4. 如果上述方法都不可用， 那么随机生成一个新的"machine ID"来初始化 /etc/machine-id 文件。

可以使用 --commit 选项将新生成的临时"machine ID"写入到磁盘中永久保存。 详见下文。

可以使用 systemd-firstboot(1) 初始化已挂载(但未启动)的系统镜像的"machine ID"。

选项

能够识别的命令行选项如下：

--root=root
    指定一个"根目录"， 包括配置文件在内的所有路径都将加上 root 前缀，包括 /etc/machine-id 自身。

--commit
    将生成的临时"machine ID"写入到磁盘中永久保存。 所谓"临时"的意思是指在 系统启动的早期绑定挂载的 "tmpfs" 文件系统中的 /etc/machine-id 文件。 这可能是由于在系统启动的早期， /etc 依然处于只读状态 并且其中并不包含合格的 /etc/machine-id 文件。

    如果 /etc/machine-id 未被绑定挂载到 "tmpfs" 文件系统， 或者 /etc 处于只读状态， 那么此选项将不执行任何操作。 否则，此命令将会把临时生成的"machine ID"写入到磁盘中， 然后卸载 /etc/machine-id 所在的文件系统， 以确保"machine ID"确实被永久保存。

    此选项主要被系统启动早期的 systemd-machine-id-commit.service(8) 使用。

--print
    操作完成之后打印出"machine ID"的值

-h, --help
    显示简短的帮助信息并退出。

--version
    显示简短的版本信息并退出。

退出状态

返回值为 0 表示成功， 非零返回值表示失败代码。

参见

systemd(1), machine-id(5), systemd-machine-id-commit.service(8), dbus-uuidgen(1), systemd-firstboot(1)

NOTES

1.  Container Interface
    http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface