Sommario:
Invece di provare a "hackerare" gli UUID in questo modo, suggerisco di utilizzare invece etichette di filesystem, etichette di partizione, nomi di volume logici o variabili di script, poiché questi strumenti sono tutti progettati per il tipo di cose che stai suggerendo. I dettagli di ciò che funzionerebbe meglio dipendono dalle tue esigenze particolari, che non sono chiare al 100% dalla tua domanda.
Raccomandazione estesa:
Un identificatore univoco universale (UUID) è un numero a 128 bit (16 byte) , tipicamente espresso in una stringa esadecimale che, con caratteri "-" tra determinati elementi, arriva a 36 caratteri. Questi non sono caratteri alfanumerici, comunque; sono numeri esadecimali. Pertanto, non puoi inserire le lettere che ti piacciono, solo valori esadecimali. Anche a parte il fatto che sfideresti lo spirito degli UUID facendo come suggerisci, il limite di usare solo le prime sei lettere dell'alfabeto latino è un grosso problema con la tua idea.
Gli identificatori univoci globali (GUID) sono essenzialmente gli stessi degli UUID, ma standard diversi usano nomi diversi e ci sono varianti di entrambi. Il tuo riferimento alle udev
regole mi fa pensare che stai usando Linux, in cui gli UUID sono in genere assegnati ai filesystem mentre i GUID sono associati alle partizioni (quando si utilizza lo schema di partizionamento GPT). In Linux, i GUID delle partizioni vengono spesso definiti (in /etc/fstab
, ecc.) Utilizzando l' PARTUUID
identificatore.
Sia i filesystem che le partizioni GPT possono avere etichette oltre a UUID / GUID. Poiché sembra che tu voglia rendere i tuoi identificatori comprensibili a te come essere umano, ti consiglio di utilizzare le etichette anziché gli UUID / GUID. In molti strumenti di Linux, le etichette del filesystem sono indicate usando l' LABEL
identificatore e le etichette di partizione usano l' PARTLABEL
identificatore.
Non è chiaro dalla tua domanda esattamente dove vuoi usare l'identificatore (tu insinui in uno script, ma non dici cosa fa quello script), quindi non so se usare LABEL
o lo PARTLABEL
avrebbe funzionato per te, ma potresti voler esaminare questo. Inoltre, non escluderei la scrittura di udev
regole, se necessario, per ottenere collegamenti simbolici a dispositivi che usano etichette; udev
le regole non sono così difficili da scrivere e se risolvono il tuo problema, scrivere tali regole sarebbe meglio che hackerare i valori UUID / GUID in violazione degli standard pertinenti.
Si noti, tuttavia, che le etichette delle partizioni sono una funzionalità di GPT, ma non di MBR. Pertanto, se si utilizza l'MBR, le etichette delle partizioni non saranno un'opzione. È possibile passare a GPT (anche senza reinstallare il sistema operativo, anche se sarebbe necessario reinstallare il caricatore di avvio) se ciò sarebbe utile, però.
Un'altra possibilità potrebbe essere quella di riconfigurare il sistema per utilizzare LVM. Ad esempio, utilizzo LVM su uno dei miei computer e ho LV specifici crittografati all'interno di LVM. In questa configurazione, potrebbe essere un LV crittografato /dev/mapper/myvg-home
e la versione decrittografata è /dev/mapper/myvg-home_crypt
. Poiché i LV sono denominati e generalmente indicati in questo modo, otterrai un riferimento più comprensibile per "libero", per così dire.
Un'altra opzione: fai riferimento agli script. Se stai scrivendo script che fanno riferimento a partizioni in base ai valori UUID / GUID, puoi assegnare tali valori alle variabili, come in:
HOME_PART="c5424f69-5016-48bd-adf4-76bd95b1f6bc"
I dettagli della sintassi dipenderebbero ovviamente dal tuo linguaggio di scripting, ma questo è il nocciolo dell'idea. Saresti quindi in grado di fare riferimento ad HOME_PART
altrove nello script. Se lo script doveva essere eseguito su più sistemi, potresti essere in grado di trovare un modo per identificare partizioni specifiche e mappare i loro valori UUID / GUID - diciamo, analizzando /etc/fstab
per estrarre i dati rilevanti dai punti di montaggio. Questo potrebbe essere un approccio estremamente flessibile, a seconda delle tue esigenze specifiche.
Sia che tu usi etichette di filesystem, etichette di partizione, nomi LV o variabili di script, otterrai i vantaggi del set completo (più o meno) di caratteri alfanumerici e non dovrai occuparti nemmeno di un UUID esadecimale parziale / Valore GUID. Alcuni personaggi potrebbero essere vietati a causa dei limiti pratici degli standard in questione, ma almeno potresti usare qualsiasi numero ASCII e lettere che ti piacciono.
nights
è impossibile perché queste lettere non sono cifre esadecimali. Puoi andare conbad-1dea
però.