33

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

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

4

4 回答 4

49

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

# 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
...
于 2012-04-14T10:14:35.080 回答
23

在具有 systemd 的现代机器上:机器 ID 由systemd-machine-id-setup创建。机器 ID 的位置记录在案 - 在freedesktop machine-idman machine-id中,并且机器 ID 具有更标准化的格式 -请参阅 RFC4122。只是:

cat /etc/machine-id
于 2020-07-29T07:30:01.033 回答
6

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

非根等价物

# dmidecode | grep -i uuid

将会

$ lshal |grep -i system.hardware.uuid

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

于 2014-03-15T08:32:53.007 回答
0

计算您自己的 sysid 的一种简单且可移植的方法可能是在字符串中序列化 uname()、gethostid() 和一些 inode,例如 /home 或您的应用程序 homedir(通过 stat() 获得)等,然后对其进行哈希处理。

于 2018-10-06T02:44:47.967 回答