Ho cercato in giro e non riesco a trovare una risposta chiara, oppure trovo che la risposta sia "no" quando il mio sistema mi mostra il contrario.
Sto eseguendo Arch Linux e durante il collegamento di un nuovo HDD in un pool ZFS ho notato che il mio disco di sistema SSD principale ha un LABEL
attributo/proprietà (non sono sicuro di quale sia la terminologia).
NOTA: Sto parlando della unità , non le partizioni all'interno di tale unità.
Mi piacerebbe davvero che gli altri miei dischi avessero un LABEL
così, ma non riesco a capire come farlo.
Qualcuno ha idea di come raggiungere questo obiettivo?
Di seguito è riportato un output ripulito di lsblk
per illustrare cosa sto cercando.
Nel mio sistema <#LABEL1#>
è impostato come mostrato nell'output, voglio impostare/modificare <#WANTTHIS#>
.
NAME SIZE TYPE LABEL PTTYPE PTUUID MODEL SUBSYSTEMS
loop0 ###.#M loop block
loop1 ###.#M loop block
loop2 ###.#M loop block
loop3 ###.#M loop block
sda ###.#G disk <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa SomeModelString1 block:scsi:pci
├─sda1 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda2 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda3 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda4 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda5 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda6 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda7 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda8 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda9 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
├─sda10 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
└─sda11 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci
.
.
.
sdg ###.#G disk dos xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SomeModelString2 block:scsi:pci
└─sdg1 ###.#G part <#LABEL2#> dos xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx block:scsi:pci
sdh ###.#T disk <#WANTTHIS#> gpt bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb SomeModelString3 block:scsi:usb:pci
sdi ###.#T disk <#WANTTHIS#> gpt cccccccc-cccc-cccc-cccc-cccccccccccc SomeModelString3 block:scsi:usb:pci
├─sdi1 ###.#T part some-part gpt cccccccc-cccc-cccc-cccc-cccccccccccc block:scsi:usb:pci
└─sdi9 ###.#M part gpt cccccccc-cccc-cccc-cccc-cccccccccccc block:scsi:usb:pci
.
.
.
Modifica:dopo aver accettato la risposta
Per @frostschutz Nel mio esempio sopra, il FSTYPE
nel mio caso era zfs_member
, e l'etichetta era in realtà il nome del pool zfs (che era chiamato esattamente come il nome del mio sistema, quindi ho pensato che avrei potuto nominarlo manualmente in passato, ma non l'ho fatto).
L'unico identificatore univoco rilevante che si lega al disco fisico è il WWN
e quello che si lega alla tabella delle partizioni GPT è il PTUUID
.
Quindi, come per tutte le altre risposte che ho trovato prima, la risposta è "NO".
Non c'è modo di assegnare un nome a un dispositivo disco.
D'ora in poi il mio lsblk
le opzioni di comando scelte per elencare gli ID pertinenti sarebbero:
$ lsblk --output=NAME,SIZE,RO,TYPE,WWN,PTTYPE,PTUUID,MODEL,SUBSYSTEMS,LABEL,PARTLABEL,PARTUUID,MOUNTPOINT
Risposta accettata:
Dipende dal contenuto del dispositivo. Più specificamente, dipende dalla presenza o meno di un superblocco noto che fornisce un'etichetta.
Può essere un superblocco del filesystem (come ext4, xfs, fat, iso9660, …), un dispositivo di scambio, un superblocco raid (mdadm) o anche un contenitore crypt (LUKS2).
Di conseguenza puoi specificare un'etichetta quando mkfs
un filesystem, o forse cambiarlo in seguito con uno strumento specifico per il filesystem (per ext4, sarebbe tune2fs -L
), in caso di mdadm è il --name
dell'array e in caso di LUKS2 il cryptsetup --label
opzione.
Per quanto ne so, non c'è modo di impostare etichette arbitrariamente senza averlo collegato a qualche filesystem o altri provider di superblocchi. Il più vicino che puoi ottenere è con PARTLABEL in una tabella delle partizioni GPT (parted name ...
), quindi viene allegata alla tabella delle partizioni stessa, ma poi un PARTLABEL non è un LABEL. Non sovrascrive né sostituisce le etichette del filesystem.
Non esiste uno standard generico per le etichette, è tutto lavorato a mano, vedi ad esempio questa implementazione dei formati dei superblocchi in util-linux. Se domani inventi un nuovo filesystem, anche se ha un'etichetta, non verrà visualizzato finché non verrà aggiunto il supporto.
Nel tuo lsblk
output, se aggiungi il FSTYPE
colonna, potresti avere un'idea di cosa potrebbe aver fornito le etichette che stai vedendo. Quindi, se vuoi fornire un'etichetta su un altro dispositivo allo stesso modo, devi solo... inserire lo stesso filesystem (o superblock raid, o qualunque cosa fosse...) anche su quel dispositivo. In questo modo rimuoverai naturalmente tutto ciò che c'era prima (non puoi avere due filesystem su un dispositivo, non senza prima creare nuovi dispositivi).