Generieren von zufälligen UUIDs in Linux

7

Ich stecke in einer seltsamen Situation fest. Ich muss UUIDs in meinem Linux-Programm erzeugen (das ich mit RPMs verteile). Ich möchte meiner Anwendung keine weitere Abhängigkeit hinzufügen, indem ich den Benutzer zur Installation von libuuid auffordere (anscheinend ist libuuid in den meisten Linux-Distributionen wie CentOS nicht enthalten).

Gibt es keinen Standard-Linux-Systemaufruf, der UUIDs generiert (wie zB in Windows dort CoCreateGuid)? Was benutzt der Befehl uuidgen?

    
themoondothshine 01.02.2010, 05:05
quelle

6 Antworten

5

Danke für all eure Kommentare!

Ich ging durch jeden, und hier ist, was meiner Anforderung am besten entspricht:

Was ich brauchte, waren einfach zeitbasierte UUIDs, die einmal für jeden Benutzer, der die Anwendung installiert hatte, aus Zufallszahlen generiert wurden. UUID Version 4 wie in RFC 4122 spezifiziert war genau das. Ich ging durch den vorgeschlagenen Algorithmus, und kam mit einer ziemlich einfachen Lösung, die in Linux sowie Windows funktionieren würde (Vielleicht ist es zu einfach, aber es erfüllt die Notwendigkeit!):

%Vor%     
themoondothshine 02.02.2010, 06:34
quelle
9

Vermisse ich etwas? Kannst du nicht:

%Vor%     
VMcPherron 03.04.2013 21:59
quelle
5

Ein guter Weg, den ich gefunden habe (für Linux Dev) ist #include <uuid/uuid.h> . Dann haben Sie ein paar Funktionen, die Sie anrufen können:

%Vor%     
Chef Pharaoh 12.09.2014 23:32
quelle
3

Gibt es einen Grund, warum Sie nicht einfach statisch mit libuuid verknüpfen können?

    
caf 01.02.2010 05:47
quelle
2

Vielleicht hilft ooid? Ссылка

    
Aryabhatta 01.02.2010 05:13
quelle
2

In POSIX existiert kein Systemaufruf, um UUID zu generieren, aber ich denke, Sie können irgendwo einen BSD / MIT-Code finden, um die UUID zu generieren. ooid wird unter der Boost Softwarelizenz veröffentlicht, die laut Wikipedia eine permissive Lizenz im Stil von BSD / MIT ist. Dann können Sie es einfach in Ihre Anwendung einfügen, ohne dass Abhängigkeiten hinzugefügt werden müssen.

    
Stefano Borini 01.02.2010 05:18
quelle

Tags und Links