systemd-machine-id-setup 中文手册

译者:金步国


版权声明

本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。

其他作品

本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:

联系方式

由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。


手册索引 · 指令索引systemd-241

名称

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 文档。

  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)