machine-id 是 uuid 吗?

Nim*_*ima 7 linux uuid

我搜索了我的问题,但没有人回答我:机器 ID 是否与主板 UUID 一样唯一(通过 Windows 上的“get csproduct UUID”命令获取)?并且在mac地址旁边的机器ID上绑定许可证是否足够可靠?或者 *nix 系统上可用于许可的 uuid 是什么?

Jde*_*eBP 10

是的,如今。

这在 systemd 手册中有介绍。中的值/etc/machine-id最初不是有效的 UUID,因为 systemd 人员最初没有编写正确的代码来生成版本 4 UUID。但这已经被修复了。

如果您将许可证绑定到机器 ID,请注意它可以更改……

  • ...如果有人删除/etc/machine-id并在下一次引导时重新创建;
  • ...如果/etc(通常在实践中的根卷上)在引导时没有以读写方式挂载,/etc/machine-id无效或丢失,并且/etc以后不能重新挂载读写允许/etc/machine-id写入;
  • ...如果在/etc操作系统未运行时将包含的磁盘卷替换为另一个不同的磁盘卷,或者有人使用诸如 之类的工具更改了磁盘卷上的机器 ID systemd-firstboot
  • ...如果系统是 systemd 的人们所说的“无状态”并且(实际上,它比这稍微复杂一些)/etc/machine-id每次引导时重新创建;
  • ... 机器上的容器内。

但它有意地不会改变……

  • ...如果更换主板、处理器或网卡;
  • ... 如果 NIC 的 MAC 地址发生更改;
  • ...如果根卷(更具体地说,包含 的卷/etc)使用类似dd或的内容映射到替换光盘上pax
  • ... 在系统运行期间(除非系统管理员故意捣乱);
  • ...从一个引导到下一个 if/etc/machine-id有效、非空且第一次可写。

便携笔记

  • 不要/var/lib/dbus/machine-id优先使用/etc/machine-id.
    • /etc/machine-id不幸的是,生成的原始桌面总线文件不在可跨操作系统移植的固定位置。在某些系统上,可以在/var/lib/dbus/machine-id; 在其他人/var/db/dbus/machine-id
    • 在 2013 年左右的某个时候,D-Bus 被修改以利用/etc/machine-id它是否存在,取代/var.
    • 2015 年,Debian/Ubuntu 人员将 D-Bus 文件/var默认设置为 的符号链接/etc/machine-id,无论如何。
  • /etc/machine-id不限于仅在/var安装后或启动网络接口后在引导过程中可用。
  • 虽然香草的FreeBSD / TrueOS,NetBSD和OpenBSD的不提供/etc/machine-id,则NOSH工具集,用于创建它提供了便携工具(即也是在Linux上使用)也知道BSD特定场所的BSD系统指望这样的ID,并保持吐温一致。

进一步阅读


Mik*_*kel 3

通过谷歌快速搜索:

  • /etc/machine-id应该是唯一的,只有在重新安装机器时才会更改,但它是由 systemd 提供的,许多系统都没有
  • /var/lib/dbus/machine-id应该是唯一的,并且应该更广泛地可用。文档说如果硬件配置发生变化它可以改变,但实际上认为它只有在重新安装机器时才会改变
  • 你可以使用system-uuid,但你需要 root,并且如果主板改变它也会改变

/var/lib/dbus/machine-id似乎是大多数情况下的最佳方法。

进一步阅读: