2 回答

TA貢獻(xiàn)1878條經(jīng)驗 獲得超4個贊
您可能想要machine-id。
http://man7.org/linux/man-pages/man5/machine-id.5.html說:
機器 ID 通常在系統(tǒng)安裝期間從隨機源生成,并在所有后續(xù)引導(dǎo)中保持不變??蛇x地,對于無狀態(tài)系統(tǒng),如果發(fā)現(xiàn)它為空,則在運行時在早期啟動時生成它。
機器 ID 不會根據(jù)本地或網(wǎng)絡(luò)配置或更換硬件時更改。由于這一點及其更長的長度,它是 POSIX 指定的 gethostid(3) 調(diào)用的更有用的替代。
您可以通過以下方式獲取machine-id(最近的)Linux 系統(tǒng):
cat /etc/machine-id
# or
cat /var/lib/dbus/machine-id
大多數(shù)主要操作系統(tǒng)都有唯一的主機標(biāo)識符。盡管如此,仍可能存在非唯一的主機 ID(由映像/克隆/備份-恢復(fù)引起)。
您還可以看看我的golang包裝設(shè)備ID的執(zhí)行細(xì)節(jié),這適用于BSD,Linux和OS X和Windows,無需管理員權(quán)限。

TA貢獻(xiàn)1817條經(jīng)驗 獲得超6個贊
gethostid(3) 是一個 UNIX/BSD 特定的 libc 函數(shù)。從 /etc/hostid 讀取在非 UNIX 系統(tǒng)上不起作用,并且與平臺無關(guān)。
既然 go 沒有提供像 gethostid() 這樣的東西,為什么不像其他平臺獨立語言(如 JAVA)那樣實現(xiàn)它,
- 2 回答
- 0 關(guān)注
- 1498 瀏覽
添加回答
舉報