获取系统的唯一标识符(而不是MAC地址)

Get unique identifier of a system (not the MAC-address)?

本文关键字:MAC 地址 系统 唯一 标识符 获取      更新时间:2023-10-16

由于某些原因,我需要获得Linux系统的唯一标识符,该标识符在系统重新启动时不会更改(但在用户更换可命名数量的硬件或格式化硬盘时可能会更改)。

以下解决方案是不可能的:

  • 使用MAC地址(已使用,但在某些系统上失败因为没有网络接口)
  • 使用blkid获取分区的UUID-此命令不是在所有系统上都可用,而且要自动找出要使用哪个分区

所以。。。还有其他关于如何唯一地识别系统的想法吗?

谢谢!

我认为你的问题的答案将取决于你认为什么是系统的"永久"部分。假设您从应用程序的角度决定硬盘驱动器分区是半永久性的,然后计算/proc/paritions内容的某种散列。

在bash中,类似于:

#!/bin/sh
cat /proc/partitions |sha1sum|cut "-d " -f1