/dev/disk 中的不可变名称

Immutable names in /dev/disk

/dev/disk中有四个条目我感兴趣。

  1. 按id
  2. 按标签
  3. 按路径
  4. 按uuid

哪些条目包含物理驱动器的不可变名称?通过不可变,我的意思是如果我

,名字不应该改变
  1. 更改用于连接驱动器的 usb/pci 端口。
  2. 销毁和创建分区 (GPT)。
  3. 从一台计算机移动到另一台(外部硬盘驱动器)。

例如,如果连接了不同的闪存驱动器,/dev/sda 可以更改为 /dev/sdb。但 UUID 保持不变。我不介意分区的路径是否更改(我认为如果您销毁然后重新创建分区,UUID 会更改),但完整的物理驱动器必须保持在同一位置(/dev/sdX 可能会更改,但 UUID 不会'当 USB 端口更改时)。

请推荐相关标签。

编辑 -
你能对 partlabel 和 partuuid 说同样的话吗?

简而言之:您可以使用 by-labelby-uuid 来保持名称不可变。

详细:
磁盘名称 (/dev/sdX) 由 kernel 基于 controller 优先级 (master/slave) 磁盘附加。如果您要将磁盘从一个 USB 端口移动到另一个 USB 端口,对于 kernel 就像切换控制器一样。这就是名称从 /dev/sda 更改为 /dev/sdb 的原因。
目录 /dev/disk 与磁盘上的 filesystem 相关。 Labeluuidfilesystem 属性,它们在 filesystem 创建时给出,之后可以更改。
它们是不可变的并且可以存活:

  • 从一台计算机到另一台计算机的磁盘迁移。
  • 同一台计算机上从一个控制器到另一个控制器的磁盘迁移。

然而by-labelby-uuid如果你摧毁partition将无法生存,但同样labeluuid 名称可以在 filesystem 创建时给出。因此新创建的 filesystem 将安装在相同的 mount point.
我个人更喜欢使用 by-label,因为它受到许多 filesystems 的支持,简短且具有描述性。

有关 persistent block device naming 的更多信息。