在linux上获取机器ID的最佳方法是什么?

时间:2012-04-14 10:10:08

标签: linux unique gnu uniqueidentifier

GNU/Linux架构i386中获取唯一机器ID的最佳实践方法是什么?

除了mac地址之外还有什么好方法吗?

4 个答案:

答案 0 :(得分:29)

根据您的内核,可以通过sysfs获取DMI信息。 试试那些:

# cat /sys/class/dmi/id/board_serial
xxxxxxxxxxxxxxx
# cat /sys/class/dmi/id/product_uuid
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

或使用工具

# dmidecode -s baseboard-serial-number
...
# dmidecode -s system-uuid
...

答案 1 :(得分:5)

你可以使用lshal。这需要首先安装hal(apt-get install hal或yum install hal)。这样,您就可以访问没有root权限的dmidecode的所有信息。

非根等效

# dmidecode | grep -i uuid

$ lshal |grep -i system.hardware.uuid

同样根据您的需要提供其他信息。

答案 2 :(得分:4)

在具有系统机器ID的现代机器上,systemd-machine-id-setup创建了它,其位置是more standard并使用标准化的format。只是:

cat /etc/machine-id

答案 3 :(得分:0)

一种简单而可移植的计算自己的sysid的方法可能是将uname(),gethostid()以及一些inode(例如/ home或应用程序homedir(通过stat()获得)等)序列化为字符串并进行哈希处理。