通过 UUID 或 LABEL 挂载

Wax*_*ead 3 linux debian mount label uuid

在 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. 什么更有可能被损坏。标签或 UUID
  7. 例如,如果磁盘获得固件升级,那可以更改 UUID 吗?!

des*_*ess 5

答案

  • Q1-4:不是。正确的工具应该用于特定目的。见下文。
  • Q5 : 使用 systemd 的系统已经足够开发,没有区别。
  • Q6:在常见情况下 - 两者都不是。它们都存储在同一个地方(格式化标题左右)并通过相同的机制进行更改。
  • Q7 : 不能。分区 UUID 只能直接更改(见下文)或通过重新格式化(即创建新格式)分区。

实际上

假设我们正在谈论分区格式(例如文件系统)UUIDLabel

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

无论UUID标签使用特定的工具对分区格式化管理使用:

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

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

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

  • UUID用于较低级别
    • 自动创建(始终存在)
    • 自动管理
    • 保证是唯一的(在大多数情况下)
    • 不友好
  • 标签用于更高级别
    • 应该明确地创建
    • 手动管理
    • 人性化(易于记忆和输入)

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

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

/media/<user>/<label>如果Label退出,Udev 规则也会将可移动媒体挂载到。如果不是 -/media/<user>/<UUID>改为使用。