주변을 둘러보았지만 명확한 답변을 찾을 수 없거나 시스템에서 다른 정보를 표시할 때 대답이 '아니요'라는 것을 알게 되었습니다.
저는 Arch Linux를 실행 중이고 새 HDD를 ZFS 풀에 연결하는 동안 기본 SSD 시스템 드라이브에 LABEL
속성/속성이 있다는 것을 발견했습니다(용어가 무엇인지 확실하지 않음).
노트:내가 말한 건운전하다, 해당 드라이브 내의 파티션이 아닙니다.
다른 디스크 LABEL
에도 이 기능을 적용하고 싶지만 어떻게 해야 할지 모르겠습니다.
누구든지 이것을 달성하는 방법을 알고 있습니까?
lsblk
아래는 내가 찾고 있는 것을 설명하기 위해 정리된 출력입니다 . 내 시스템에서는 <#LABEL1#>
출력에 표시된 대로 설정되어 있으며 이를 설정/변경하고 싶습니다 <#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
.
.
.
편집: 답변을 수락한 후
모든@프로스트슈츠위의 예에서 FSTYPE
제 경우에는 zfs_member
레이블이 실제로 zfs-pool의 이름이었습니다(내 시스템과 이름이 똑같기 때문에 과거에 수동으로 이름을 지정했을 수도 있다고 생각했지만 그렇지 않았습니다).
물리적 디스크와 연관된 유일한 관련 식별자는 이고 WWN
, GPT 파티션 테이블과 연관된 고유 식별자는 입니다 PTUUID
.
따라서 이전에 찾은 다른 모든 답변과 마찬가지로 대답은 '아니오'입니다.
디스크 장치에 이름을 할당할 수 없습니다.
이제부터 lsblk
관련 ID를 나열하기 위해 선택하는 명령 옵션은 다음과 같습니다.
$ lsblk --output=NAME,SIZE,RO,TYPE,WWN,PTTYPE,PTUUID,MODEL,SUBSYSTEMS,LABEL,PARTLABEL,PARTUUID,MOUNTPOINT
답변1
장치의 내용에 따라 다릅니다. 보다 구체적으로 말하면 레이블을 제공하는 알려진 슈퍼블록이 있는지 여부에 따라 달라집니다.
이는 파일 시스템 슈퍼블록(예: ext4, xfs, fat, iso9660 등), 스왑 장치, raid 슈퍼블록(mdadm) 또는 심지어 crypt 컨테이너(LUKS2)일 수 있습니다.
따라서 파일 시스템 시간에 레이블을 지정 mkfs
하거나 나중에 파일 시스템별 도구를 사용하여 변경할 수 있습니다(ext4의 경우 tune2fs -L
). mdadm의 경우 --name
배열의 레이블이고 LUKS2의 경우 cryptsetup --label
옵션입니다.
내가 아는 한, 일부 파일 시스템이나 다른 슈퍼블록 제공자에 라벨을 첨부하지 않고 임의로 라벨을 설정할 수 있는 방법은 없습니다. 가장 가까운 것은 GPT 파티션 테이블( )의 PARTLABEL이며 parted name ...
, 이는 파티션 테이블 자체에 추가되지만 PARTLABEL은 LABEL이 아닙니다. 파일 시스템 레이블을 덮어쓰거나 바꾸지 않습니다.
라벨에 대한 보편적인 표준은 없으며 모두 손으로 짠 것입니다. 예를 참조하세요.util-linux에서 슈퍼 블록 형식 구현. 내일 새로운 파일 시스템을 개발한다면 레이블이 있더라도 지원이 추가될 때까지 표시되지 않습니다.
lsblk
출력 에 해당 FSTYPE
열을 추가하면 현재 표시되는 레이블을 제공하는 항목에 대한 아이디어를 얻을 수 있습니다. 그런 다음 다른 장치에서 동일한 방식으로 태그를 제공하려면... 해당 장치에도 동일한 파일 시스템(또는 raid 슈퍼 블록 등...)을 배치해야 합니다... . 그렇게 하면 이전에 존재했던 다른 모든 항목이 자연스럽게 삭제됩니다(먼저 새 파일 시스템을 만들지 않으면 한 장치에 두 개의 파일 시스템을 가질 수 없습니다).