GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:come impostare l'etichetta di un disco (non di partizione)?

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.

Correlati:Linux – La riga Shebang con il comando `#!/usr/bin/env –argument` non riesce su Linux?

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).


Linux
  1. Come partizionare un disco in Linux

  2. Come impostare un file come NON eseguibile?

  3. Come spostare una partizione in GNU/Linux?

  4. Come abilitare la partizione di swap Linux?

  5. Come posso determinare la dimensione del blocco di una partizione ext3 su Linux?

Come eliminare la partizione in Linux

Come creare partizioni in Linux

Comando Linux set e come usarlo {9 esempi}

Come impostare o modificare il nome host su Linux

Come crittografare la partizione su Linux

Come crittografare i dispositivi a blocchi utilizzando LUKS su Linux