web-dev-qa-db-ja.com

LinuxでマシンIDを取得する最良の方法は?

GNU/Linuxアーキテクチャ用のi386で一意のマシンIDを取得するための最良の方法は何ですか?

macアドレス以外の良い方法はありますか?

18
user663896

カーネルによっては、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
...
30
c00kiemon5ter

Lshalを使用できます。これを最初にインストールするためにhal(apt-get install halまたはyum install hal)が必要です。これにより、ルート権限なしでdmidecodeのすべての情報にアクセスできます。

非ルートに相当

# dmidecode | grep -i uuid

となります

$ lshal |grep -i system.hardware.uuid

そして、あなたのニーズに応じて同様に他の情報。

5
adnan kamili

独自のsysidを計算する簡単で移植可能な方法は、una​​me()、gethostid()、および/ homeやアプリケーションhomedir(stat()で取得)などのiノードを文字列でハッシュ化し、それをハッシュすることです。

0
andrelsm