id_linux.go 369 B

123456789101112131415161718192021222324
  1. //go:build linux
  2. // +build linux
  3. package machineid
  4. import "io/ioutil"
  5. func getMachineID() (s string, err error) {
  6. paths := []string{
  7. "/var/lib/dbus/machine-id",
  8. "/etc/machine-id",
  9. "/proc/sys/kernel/random/uuid",
  10. }
  11. var (
  12. buf []byte
  13. )
  14. for _, p := range paths {
  15. if buf, err = ioutil.ReadFile(p); err == nil {
  16. s = string(buf)
  17. break
  18. }
  19. }
  20. return
  21. }