GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Wie lege ich das Label einer Festplatte (nicht Partition) fest?

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.

Verwandte:Linux – Shebang-Zeile mit `#!/usr/bin/env command –argument` schlägt unter Linux fehl?

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


Linux
  1. So partitionieren Sie eine Festplatte unter Linux

  2. So legen Sie die Schreibberechtigung für die ext4-Partition in Ubuntu Linux fest

  3. So verwalten Sie eine Swap-Partition unter Linux

  4. So setzen Sie die $Path-Variable in Linux

  5. Wie setze ich eine Datei als NICHT ausführbar?

So löschen Sie eine Partition unter Linux

So erstellen Sie Partitionen unter Linux

Linux-Set-Befehl und seine Verwendung {9 Beispiele}

So legen Sie den Hostnamen unter Linux fest oder ändern ihn

So verschlüsseln Sie eine Partition unter Linux

So verschlüsseln Sie Blockgeräte mit LUKS unter Linux