Лучший способ получить идентификатор машины в Linux?
Каков наилучший способ получить уникальный идентификатор машины в GNU/Linux
для архитектуры i386
?
Есть ли хорошие способы, кроме адреса mac
?
Ответы
Ответ 1
В зависимости от вашего ядра информация 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
...
Ответ 2
Вы можете использовать lshal. Для этого необходимо установить hal (apt-get install hal или yum install hal). Таким образом, вы можете получить доступ ко всей информации о dmidecode без прав root.
Некорневой эквивалент
# dmidecode | grep -i uuid
будет
$ lshal |grep -i system.hardware.uuid
И аналогично другая информация в соответствии с вашими потребностями.
Ответ 3
Простой и переносимый способ вычисления вашего собственного sysid может заключаться в сериализации uname(), gethostid() и некоторых инодов, таких как /home или homedir вашего приложения (получаемых с помощью stat()) и т.д., В строку и хэширование.