GNU/Linux
アーキテクチャ用のi386
で一意のマシンIDを取得するための最良の方法は何ですか?
mac
アドレス以外の良い方法はありますか?
カーネルによっては、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
...
Lshalを使用できます。これを最初にインストールするためにhal(apt-get install halまたはyum install hal)が必要です。これにより、ルート権限なしでdmidecodeのすべての情報にアクセスできます。
非ルートに相当
# dmidecode | grep -i uuid
となります
$ lshal |grep -i system.hardware.uuid
そして、あなたのニーズに応じて同様に他の情報。
独自のsysidを計算する簡単で移植可能な方法は、uname()、gethostid()、および/ homeやアプリケーションhomedir(stat()で取得)などのiノードを文字列でハッシュ化し、それをハッシュすることです。