Zusammenfassung:
Anstatt zu versuchen, UUIDs auf diese Weise zu "hacken", schlage ich vor, dass Sie stattdessen Dateisystembezeichnungen, Partitionsbezeichnungen, logische Datenträgernamen oder Skriptvariablen verwenden, da diese Tools alle für die von Ihnen vorgeschlagenen Vorschläge ausgelegt sind. Welche Details am besten funktionieren, hängt von Ihren speziellen Bedürfnissen ab, die sich aus Ihrer Frage nicht zu 100% ergeben.
Erweiterte Empfehlung:
Eine universell eindeutige Kennung (UUID) ist eine 128-Bit- Zahl (16 Byte) , die normalerweise in einer hexadezimalen Zeichenfolge ausgedrückt wird und bei "-" Zeichen zwischen bestimmten Elementen 36 Zeichen ergibt. Dies sind jedoch keine alphanumerischen Zeichen. Sie sind Hexadezimalzahlen. Sie können also keine Buchstaben eingeben, sondern nur Hexadezimalwerte. Abgesehen von der Tatsache, dass Sie den Geist der UUIDs durch das, was Sie vorschlagen, in Frage stellen würde, ist die Beschränkung der Verwendung nur der ersten sechs Buchstaben des lateinischen Alphabets ein großes Problem bei Ihrer Idee.
Global eindeutige Bezeichner (GUIDs) sind im Wesentlichen die gleichen wie UUIDs, aber unterschiedliche Standards verwenden unterschiedliche Namen, und es gibt Varianten von beiden. udev
Wenn Sie sich auf Regeln beziehen, denke ich, dass Sie Linux verwenden, in dem UUIDs normalerweise Dateisystemen zugewiesen werden, wohingegen GUIDs Partitionen zugeordnet sind (bei Verwendung des GPT-Partitionierungsschemas). In Linux wird auf Partitions-GUIDs häufig (in /etc/fstab
usw.) unter Verwendung der PARTUUID
Kennung verwiesen .
Sowohl Dateisysteme als auch GPT-Partitionen können zusätzlich zu UUIDs / GUIDs Beschriftungen aufweisen. Da es sich anscheinend so anhört, als würden Sie Ihre Identifikatoren für Sie als Mensch verständlich machen, empfiehlt es sich, Etiketten anstelle von UUIDs / GUIDs zu verwenden. In vielen Linux-Tools wird auf Dateisystem-Labels mit dem LABEL
Bezeichner verwiesen, und Partitions-Labels verwenden den PARTLABEL
Bezeichner.
Es ist aus Ihrer Frage nicht klar, wo genau Sie den Bezeichner verwenden möchten (Sie implizieren dies in einem Skript, sagen aber nicht, was das Skript macht), daher weiß ich nicht, ob die Verwendung des LABEL
oder des Bezeichners PARTLABEL
für Sie funktionieren würde, aber Vielleicht möchten Sie sich das genauer ansehen. Außerdem würde ich das Schreiben von udev
Regeln nicht ausschließen, um Symlinks zu Geräten zu erhalten, die Labels verwenden. udev
Regeln sind nicht so schwer zu schreiben, und wenn sie Ihr Problem lösen, wäre das Schreiben solcher Regeln besser als das Hacken von UUID / GUID-Werten, die den einschlägigen Standards widersprechen.
Beachten Sie jedoch, dass Partitionsbezeichnungen eine Funktion von GPT sind, nicht jedoch von MBR. Wenn Sie MBR verwenden, sind Partitionsbezeichnungen daher keine Option. Sie können zu GPT wechseln (auch ohne erneute Installation des Betriebssystems, obwohl Sie Ihren Bootloader neu installieren müssten), wenn dies hilfreich wäre.
Eine andere Möglichkeit könnte sein, Ihr System für die Verwendung von LVM neu zu konfigurieren. Als Beispiel verwende ich LVM auf einem meiner Computer und habe bestimmte LVs in meinem LVM verschlüsselt. In dieser Konfiguration kann sich eine verschlüsselte LV befinden /dev/mapper/myvg-home
und die entschlüsselte Version ist /dev/mapper/myvg-home_crypt
. Da LVs benannt werden und normalerweise auf diese Weise bezeichnet werden, erhalten Sie sozusagen eine verständlichere Referenz für "kostenlos".
Eine andere Möglichkeit: Sie beziehen sich auf Skripte. Wenn Sie Skripts schreiben, die sich auf Partitionen über UUID / GUID-Werte beziehen, können Sie diese Werte Variablen zuweisen, wie in:
HOME_PART="c5424f69-5016-48bd-adf4-76bd95b1f6bc"
Syntaxdetails hängen natürlich von Ihrer Skriptsprache ab, aber das ist der Kern der Idee. Sie können dann auf HOME_PART
andere Stellen im Skript verweisen . Wenn das Skript auf mehreren Systemen ausgeführt werden sollte, können Sie möglicherweise einen Weg finden, um bestimmte Partitionen zu identifizieren und ihre UUID / GUID-Werte zuzuordnen, z. B. durch Analysieren /etc/fstab
, um die relevanten Daten anhand von Einhängepunkten zu extrahieren. Dies kann je nach Ihren Anforderungen äußerst flexibel sein.
Unabhängig davon, ob Sie Dateisystembezeichnungen, Partitionsbeschriftungen, LV-Namen oder Skriptvariablen verwenden, können Sie den (mehr oder weniger) vollständigen Satz alphanumerischer Zeichen nutzen, und Sie müssen nicht einmal mit einer teilweisen hexadezimalen UUID umgehen / GUID-Wert Einige Zeichen sind aufgrund praktischer Grenzen der jeweiligen Standards möglicherweise nicht zulässig, aber Sie können zumindest die ASCII-Zahlen und Buchstaben verwenden, die Sie möchten.