GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Comment définir l'étiquette d'un disque (pas de partition) ?

J'ai cherché partout et je n'ai pas trouvé de réponse claire, ou je trouve que la réponse est "non" alors que mon système m'indique le contraire.

J'utilise Arch Linux et, lors de la connexion d'un nouveau disque dur à un pool ZFS, j'ai remarqué que mon lecteur système SSD principal avait un LABEL attribut/propriété (je ne sais pas quelle est la terminologie).

REMARQUE : Je parle du lecteur , pas les partitions de ce lecteur.

J'aimerais vraiment que mes autres disques aient un LABEL comme ça, mais je ne sais pas comment y parvenir.

Quelqu'un a une idée de comment y parvenir ?

Vous trouverez ci-dessous une sortie nettoyée de lsblk pour illustrer ce que je recherche.
Dans mon système <#LABEL1#> est défini comme indiqué dans la sortie, je veux définir/modifier <#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
.
.
.

Modifier :après avoir accepté la réponse

Par @frostschutz Dans mon exemple ci-dessus, le FSTYPE dans mon cas était zfs_member , et l'étiquette était en fait le nom du pool zfs (qui était nommé exactement comme le nom de mon système, donc j'ai pensé que je l'aurais peut-être nommé manuellement dans le passé - je ne l'ai pas fait).

Le seul identifiant unique pertinent lié au disque physique est le WWN , et celui qui est lié à la table de partition GPT est le PTUUID .

Donc, comme pour toutes les autres réponses que j'ai trouvées auparavant, la réponse est "NON".
Il n'y a aucun moyen d'attribuer un nom à un périphérique de disque.

A partir de maintenant mon lsblk les options de commande de choix pour lister les ID pertinents seraient :

$ lsblk --output=NAME,SIZE,RO,TYPE,WWN,PTTYPE,PTUUID,MODEL,SUBSYSTEMS,LABEL,PARTLABEL,PARTUUID,MOUNTPOINT

Réponse acceptée :

Cela dépend du contenu de l'appareil. Plus précisément, cela dépend de l'existence ou non d'un superbloc connu qui fournit une étiquette.

Il peut s'agir d'un superbloc de système de fichiers (comme ext4, xfs, fat, iso9660, …), d'un périphérique d'échange, d'un superbloc de raid (mdadm) ou même d'un conteneur de cryptage (LUKS2).

En conséquence, vous pouvez spécifier une étiquette lorsque vous mkfs un système de fichiers, ou peut-être le modifier plus tard avec un outil spécifique au système de fichiers (pour ext4, ce serait tune2fs -L ), dans le cas de mdadm c'est le --name du tableau et dans le cas de LUKS2 le cryptsetup --label option.

Connexe :Linux - La ligne Shebang avec la commande `#!/usr/bin/env –argument` échoue sous Linux ?

À ma connaissance, il n'y a aucun moyen de définir des étiquettes arbitrairement sans les attacher à un système de fichiers ou à d'autres fournisseurs de superblocs. Le plus proche que vous puissiez obtenir est avec PARTLABEL dans une table de partition GPT (parted name ... ), alors il est attaché à la table de partition elle-même, mais alors, un PARTLABEL n'est pas un LABEL. Il n'écrase ni ne remplace les étiquettes du système de fichiers.

Il n'y a pas de standard générique pour les étiquettes, tout est tricoté à la main, voir par exemple cette implémentation des formats superblocs dans util-linux. Si vous inventez un nouveau système de fichiers demain, même s'il a une étiquette, il n'apparaîtra pas tant que la prise en charge ne sera pas ajoutée.

Dans votre lsblk sortie, si vous ajoutez le FSTYPE colonne, vous pourriez avoir une idée de ce qui a pu fournir les étiquettes que vous voyez. Ensuite, si vous souhaitez fournir une étiquette sur un autre appareil de la même manière, il vous suffit de… mettre le même système de fichiers (ou raid superbloc, ou quoi que ce soit…) sur cet appareil également. Cela supprimera naturellement tout ce qui s'y trouvait auparavant (vous ne pouvez pas avoir deux systèmes de fichiers sur un seul appareil, pas sans créer d'abord de nouveaux appareils).


Linux
  1. Comment partitionner un disque sous Linux

  2. Comment définir l'autorisation d'écriture sur la partition ext4 dans Ubuntu Linux

  3. Comment définir la variable $Path sous Linux

  4. Comment activer la partition d'échange Linux?

  5. Comment déterminer la taille de bloc d'une partition ext3 sous Linux ?

Comment supprimer une partition sous Linux

Comment créer des partitions sous Linux

Commande set Linux et comment l'utiliser {9 exemples}

Comment définir ou modifier le nom d'hôte sous Linux

Comment chiffrer une partition sous Linux

Comment chiffrer les périphériques de bloc à l'aide de LUKS sous Linux