Manpages

NAME

machine-id - 本 机 "machine ID"配 置 文 件

SYNOPSIS

/etc/machine-id

描 述

/etc/machine-id 文 件 包 含 一 个 在 安 装 操 作 系 统 时 生 成 的 、 专 属 于 本 系 统 的 、 独 一 无 二 的 "machine ID"。 "machine ID"是 一 个 32字 符 长 度 的 十 六 进 制 小 写 字 母 字 符 串 , 并 以 换 行 符 结 尾 , 其 本 质 是 一 个 128位 二 进 制 整 数 的 16进 制 表 示 。

"machine ID"通 常 在 系 统 安 装 时 从 一 个 随 机 数 源 生 成 , 并 且 之 后 无 论 经 过 多 少 次 开 关 机 , 也 一 直 保 持 不 变 。 另 一 方 面 , 对 于 无 状 态 系 统 , 如 果 此 文 件 为 空 , 将 在 系 统 启 动 的 早 期 自 动 随 机 生 成 一 个 。

"machine ID"一 旦 生 成 应 该 永 远 保 持 不 变 , 即 使 系 统 的 硬 件 发 生 了 变 化 也 不 应 该 修 改 它 。 这 里 的 "machine ID"与 "D-Bus machine ID" 遵 守 相 同 的 格 式 与 逻 辑 。 无 论 主 机 的 网 络 配 置 如 何 变 化 , 应 用 程 序 始 终 可 以 使 用 "machine ID" 在 全 球 范 围 内 精 确 的 识 别 一 台 主 机 。 基 于 上 述 特 性 , "machine ID" 机 制 可 用 于 取 代 POSIX 的 gethostid(3) 系 统 调 用 功 能 。 操 作 系 统 的 安 装 程 序 可 以 在 安 装 时 使 用 systemd-machine-id-setup(1) 工 具 来 初 始 化 "machine ID"。 可 以 使 用 systemd-firstboot(1) 初 始 化 已 挂 载 (但 未 启 动 )的 系 统 镜 像 的 "machine ID"。 还 可 以 通 过 systemd.machine_id= 内 核 引 导 选 项 或 者 systemd 的 --machine-id= 命 令 行 选 项 来 设 置 "machine ID"。 这 种 方 式 经 常 用 于 网 络 启 动 的 场 景 中 。 注 意 , 不 可 将 "machine ID"设 为 全 零 值 。

与 OSF UUID 的 关 系

"machine ID"符 合 RFC 4122 [1] 规 范 (OSF v4 UUID), 同 时 也 符 合 Microsoft GUID 规 范 。

历 史

/etc/machine-id 文 件 的 格 式 源 自 D-Bus的 /var/lib/dbus/machine-id 文 件 。 实 际 上 , /var/lib/dbus/machine-id 很 可 能 就 是 指 向 /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)

NOTES

1.

RFC 4122

https://tools.ietf.org/html/rfc4122

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