Ich habe mich umgesehen und kann keine eindeutige Antwort finden, oder ich finde, dass die Antwort "nein" ist, wenn mein System mir etwas anderes anzeigt.
Ich verwende Arch Linux und als ich eine neue Festplatte in einen ZFS-Pool einfügte, bemerkte ich, dass mein Haupt-SSD-Systemlaufwerk ein LABEL
hat Attribut/Eigenschaft (nicht sicher, was die Terminologie ist).
HINWEIS: Ich rede vom Laufwerk , nicht die Partitionen innerhalb dieses Laufwerks.
Ich würde gerne meine anderen Festplatten mit einem LABEL
versehen so, kann aber nicht herausfinden, wie man das hinbekommt.
Hat jemand eine Idee, wie man das erreicht?
Unten ist eine bereinigte Ausgabe von lsblk
um zu veranschaulichen, wonach ich suche.
In meinem System <#LABEL1#>
wie in der Ausgabe zu sehen gesetzt ist, möchte ich <#WANTTHIS#>
setzen/ändern .
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
.
.
.
Bearbeiten:Nach dem Akzeptieren der Antwort
Per @frostschutz In meinem obigen Beispiel der FSTYPE
in meinem Fall war es zfs_member
, und das Label war eigentlich der Name des zfs-Pools (der genau wie mein Systemname benannt war, also dachte ich, ich hätte ihn in der Vergangenheit vielleicht manuell benannt – das habe ich nicht).
Der einzige relevante eindeutige Bezeichner, der mit der physischen Festplatte verknüpft ist, ist der WWN
, und derjenige, der mit der GPT-Partitionstabelle verknüpft ist, ist die PTUUID
.
Wie bei allen anderen Antworten, die ich zuvor gefunden habe, lautet die Antwort also „NEIN“.
Es gibt keine Möglichkeit, einem Festplattengerät einen Namen zuzuweisen.
Ab jetzt mein lsblk
Befehlsoptionen der Wahl zum Auflisten relevanter IDs wären:
$ lsblk --output=NAME,SIZE,RO,TYPE,WWN,PTTYPE,PTUUID,MODEL,SUBSYSTEMS,LABEL,PARTLABEL,PARTUUID,MOUNTPOINT
Akzeptierte Antwort:
Das hängt vom Inhalt des Geräts ab. Genauer gesagt hängt es davon ab, ob es einen bekannten Superblock gibt, der ein Label bereitstellt.
Dies kann ein Dateisystem-Superblock (wie ext4, xfs, fat, iso9660, …), ein Swap-Gerät, ein Raid-Superblock (mdadm) oder sogar ein Crypt-Container (LUKS2) sein.
Dementsprechend können Sie beim mkfs
ein Label angeben ein Dateisystem, oder ändern Sie es vielleicht später mit einem dateisystemspezifischen Tool (für ext4 wäre das tune2fs -L
), im Fall von mdadm ist es der --name
des Arrays und im Fall von LUKS2 das cryptsetup --label
Option.
Meines Wissens gibt es keine Möglichkeit, Labels willkürlich festzulegen, ohne dass sie an ein Dateisystem oder andere Superblock-Anbieter angehängt werden. Am nächsten kommt man mit PARTLABEL in einer GPT-Partitionstabelle (parted name ...
), dann wird es an die Partitionstabelle selbst angehängt, aber dann ist ein PARTLABEL kein LABEL. Es überschreibt oder ersetzt die Dateisystembezeichnungen nicht.
Es gibt keinen generischen Standard für Labels, alles ist handgestrickt, siehe zum Beispiel diese Implementierung von Superblocks-Formaten in util-linux. Wenn Sie morgen ein neues Dateisystem erfinden, wird es, selbst wenn es ein Label hat, nicht angezeigt, bis die Unterstützung hinzugefügt wird.
In Ihrem lsblk
Ausgabe, wenn Sie den FSTYPE
hinzufügen Spalte erhalten Sie möglicherweise eine Vorstellung davon, was die angezeigten Beschriftungen bereitgestellt haben könnte. Wenn Sie dann ein Label auf die gleiche Weise auf einem anderen Gerät bereitstellen möchten, müssen Sie nur … dasselbe Dateisystem (oder Raid-Superblock oder was auch immer es war …) auch auf diesem Gerät platzieren. Dadurch wird natürlich alles andere entfernt, was zuvor darauf war (Sie können nicht zwei Dateisysteme auf einem Gerät haben, nicht ohne zuerst neue Geräte zu erstellen).