获取系统的唯一标识符(不是 MAC-地址)?
Get unique identifier of a system (not the MAC-address)?
出于某些原因,我需要获得 Linux 系统的唯一标识符,该标识符在系统重新启动时不会更改(但在用户更换可命名数量的硬件或格式化硬盘时可能会更改)。
以下解决方案不可能:
- 使用 MAC-地址(这已被使用但在某些系统上失败
因为没有网络接口)
- 使用 blkid 获取分区的 UUID - 此命令不是
在所有系统上都可用,但有点困难
自动找出要用于那个的分区
那么...还有其他关于如何唯一标识系统的想法吗?
谢谢!
我认为您问题的答案将取决于您认为什么是系统的 "permanent" 部分。假设您从应用程序的角度决定硬盘驱动器分区是半永久性的,然后计算 /proc/paritions
内容的某种哈希值。
在 bash 中,类似于:
#!/bin/sh
cat /proc/partitions |sha1sum|cut "-d " -f1
出于某些原因,我需要获得 Linux 系统的唯一标识符,该标识符在系统重新启动时不会更改(但在用户更换可命名数量的硬件或格式化硬盘时可能会更改)。
以下解决方案不可能:
- 使用 MAC-地址(这已被使用但在某些系统上失败 因为没有网络接口)
- 使用 blkid 获取分区的 UUID - 此命令不是 在所有系统上都可用,但有点困难 自动找出要用于那个的分区
那么...还有其他关于如何唯一标识系统的想法吗?
谢谢!
我认为您问题的答案将取决于您认为什么是系统的 "permanent" 部分。假设您从应用程序的角度决定硬盘驱动器分区是半永久性的,然后计算 /proc/paritions
内容的某种哈希值。
在 bash 中,类似于:
#!/bin/sh
cat /proc/partitions |sha1sum|cut "-d " -f1