通过 UUID 或 LABEL 挂载

通过 UUID 或 LABEL 挂载

在 Linux 中,可以通过 UUID 或标签安装设备(磁盘)。我使用 UUID 有一段时间了,主要是因为我在 IRC 上看到一个讨论,说通过标签安装是一个非常糟糕的想法。

如果选择一个非常独特的标签名称(如 6581_var、6502_root、8580_home、DFF180_usr、68030_boot、BFEC01_WD_Disk05 等),我不明白为什么通过标签安装会是一个坏主意。;)

我的问题是:

  1. 为什么总是使用 UUID 挂载是个好主意?
  2. 为什么总是使用 UUID 挂载是个坏主意?
  3. 为什么总是使用 LABEL 进行安装是个好主意?
  4. 为什么总是使用 LABEL 进行安装是个坏主意?
  5. 对于使用 systemd 的系统来说,选择其中一个比另一个更有好处吗?
  6. 哪个更容易损坏。LABEL 还是 UUID
  7. 例如,如果磁盘获得固件升级,那么 UUID 会改变吗?!

答案1

答案

  • Q1-4: 不是。正确的工具应该用于特定的目的。见下文。
  • 问5:使用 systemd 的系统已经足够发达,不会显示出任何差异。
  • 问6:一般情况下 - 都不是。它们都存储在同一个位置(格式化标题等)并通过相同的机制进行更改。
  • 问7:不可以。分区 UUID 只能直接更改(见下文)或通过重新格式化(即创建新格式)分区来更改。

实际上

假设我们正在讨论分区格式化(例如文件系统)唯一唯一标识符标签

还有分区 UUID 和标签 - 通常称为部件UUID部分标签- 如果磁盘分区方案支持它们:例如 GPT,但不支持 MBR。它们也可用于识别分区,在某些情况下(见下文),这可能是唯一的方法。

两个都唯一唯一标识符标签使用特定于分区格式化的工具进行管理:

  • 扩展 2/3/4:tune2fs
  • 胖的:mlabel
  • 交换:swaplabel
  • 卢克斯:cryptsetup luksUUID
  • ...

请注意,两者唯一唯一标识符标签仅当分区格式化存在(并且内核支持)并且格式化支持时才存在唯一唯一标识符和/或标签属性。例如,使用不带 LUKS 扩展的 dm-crypt 加密的分区没有唯一唯一标识符标签因为它不使用任何标头(但加密容器内的文件系统可以同时拥有它们)。FAT 系列文件系统不支持唯一唯一标识符(它们有序列号),但支持标签

使用Label和UUID的主要区别是:

  • 唯一唯一标识符适用于较低级别
    • 自动创建(始终存在)
    • 自动管理
    • 保证唯一(大多数情况下)
    • 对人类不友好
  • 标签是为了更高层次
    • 应该明确创建
    • 手动管理
    • 人性化(容易记忆和输入)

因此,如果您不打算管理分区的标签,那么选择显而易见 - UUID。如果您需要系统配置具有更大的灵活性和/或可读性 - 您可以使用标签。

例如,对于克隆或自动管理使用标签的系统可能更合适:系统克隆后 UUID 可能会发生变化。如果不是针对 ext2/3/4(取决于克隆方法),它肯定会针对 LUKS 加密分区发生变化(我们luksFormat至少需要创建新的加密密钥)。因此使用标签在这种情况下可能会很方便。

此外,Udev 规则还会将可移动媒体挂载/media/<user>/<label>标签退出。如果没有 -/media/<user>/<UUID>则使用。

相关内容