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

19 linux gnu unique uniqueidentifier

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

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

c00*_*ter 34

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

# cat /sys/class/dmi/id/board_serial
xxxxxxxxxxxxxxx
# cat /sys/class/dmi/id/product_uuid
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

或使用工具

# dmidecode -s baseboard-serial-number
...
# dmidecode -s system-uuid
...
Run Code Online (Sandbox Code Playgroud)

  • 在谷歌搜索`/ sys/class/dmi/id/board_serial`可用性时,我找到了http://0pointer.de/blog/projects/ids.html (11认同)
  • 所以,实际上,我将使用`/ var/lib/dbus/machine-id`. (4认同)
  • 这似乎不那么便携,取决于dbus和所有. (4认同)
  • `/var/lib/dbus/machine-id` 可以使用 sudo 更改 (2认同)

Kam*_*Cuk 14

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

cat /etc/machine-id
Run Code Online (Sandbox Code Playgroud)


adn*_*ili 5

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

非根等效的

# dmidecode | grep -i uuid
Run Code Online (Sandbox Code Playgroud)

将会

$ lshal |grep -i system.hardware.uuid
Run Code Online (Sandbox Code Playgroud)

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

  • @malat很明显,用户想要生成一个永久性且不会改变的uuid."dbus/machine-id"甚至可以在每次重启后更改. (5认同)
  • 如果在所述系统上有"lshal",则表示安装了"hal",这意味着安装了"dbus".因此它只是`cat/var/lib/dbus/machine-id` (4认同)