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