Linux ';sudo-dmidecode | grep-UUID';和'/sys/devices/virtual/dmi/id/product#uuid';。它们是一样的吗?

Linux ';sudo-dmidecode | grep-UUID';和'/sys/devices/virtual/dmi/id/product#uuid';。它们是一样的吗?,linux,virtual-machine,uuid,iaas,Linux,Virtual Machine,Uuid,Iaas,我需要注册用于监控运行在真实硬件以及虚拟机、AWS、Azure等上的Linux服务器,。。通过发送他们唯一的身份证,我发现 sudo dmidecode | grep UUID 是最佳选择,因为即使您克隆了虚拟机而没有重新初始化MAC地址,其结果也是不同的 但并非所有地方都安装了dmidecode。因此,我试图理解文件/sys/devices/virtual/dmi/id/product_uuid是否总是包含与dmidecode给定的uuid相同的uuid?dmidecode>grep uui

我需要注册用于监控运行在真实硬件以及虚拟机、AWS、Azure等上的Linux服务器,。。通过发送他们唯一的身份证,我发现

sudo dmidecode | grep UUID
是最佳选择,因为即使您克隆了虚拟机而没有重新初始化MAC地址,其结果也是不同的


但并非所有地方都安装了dmidecode。因此,我试图理解文件/sys/devices/virtual/dmi/id/product_uuid是否总是包含与dmidecode给定的uuid相同的uuid?

dmidecode>grep uuid
/sys/devices/virtual/dmi/id/product_uuid
应该相等,但根据您的系统,输出可能不同

从DMI解码:

另见:


我注意到也会先尝试/sys,然后返回到dmidecode executable以收集与dmi相关的事实。

它看起来像
/sys/class/dmi/id/product\u uuid
也包含uuid(在我的机器上也是一样),我不知道它与
/sys/devices/virtual/dmi/id/product\u uuid
有什么区别,
/sys/class/dmi/id
是指向
的符号链接。/../devices/virtual/dmi/id
至少在我的系统中是这样。
/*
 * As of version 2.6 of the SMBIOS specification, the first 3
 * fields of the UUID are supposed to be encoded on little-endian.
 * The specification says that this is the defacto standard,
 * however I've seen systems following RFC 4122 instead and use
 * network byte order, so I am reluctant to apply the byte-swapping
 * for older versions.
 */