SYSTEMD-MACHINE-ID-SETUP(1) systemd-machine-id-setup SYSTEMD-MACHINE-ID-SETUP(1)

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

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)

1.
Container Interface

本页面中文版由中文 man 手册页计划提供。

翻译人员:金步国
金步国作品集:http://www.jinbuguo.com
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh

systemd 231