如何从libblkid获​​取UUID的设备?

时间:2016-10-04 22:31:15

标签: c linux-kernel linux-device-driver uuid

我知道如何通过libblkid获​​取设备的UUID ...我该怎么做呢?

鉴于UUID,我想找到设备路径。

2 个答案:

答案 0 :(得分:1)

我想要一种程序化的方法来做到这一点,以下工作。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <err.h>
#include <blkid/blkid.h>
char *get_disk(char *disk) {
   const char *uuid;
   char query[4096];

   snprintf(query, sizeof(query), "UUID=%s", disk);

   uuid = blkid_evaluate_tag(query, NULL, NULL);

   if (uuid == NULL) {
       uuid = "";
   }

   return strdup(uuid);
}

int main(int argc, char **argv)
{
    fprintf(stderr, "%s\n", get_disk(argv[1]));
}

答案 1 :(得分:0)

它就像/dev/disk/by-uuid/{your-uuid}一样简单。不需要C代码或库。