Почему UUID Linux / etc/fstab чувствительны к регистру?

Я недавно добавил строку для карты памяти USB в /etc/fstab, чтобы быть в состоянии установить его автоматически, используя UUID для идентификации устройства.

прежде чем у меня уже есть несколько внешних ext4 дисков, которые имеют свои UUID, написанные в нижнем регистре шестнадцатеричных символов [0-9a-f] такой:

UUID=3eeaaa43-dead-beef-cafe-243bcaaad475 /media/external_2TB ext4 rw,user,noexec,nosuid,nodev,noatime 0 2

Я проверил UUID моего USB палку с blkid, получил верхний шестнадцатеричный UUID и ввел его в /etc/fstab так же, как строки ext4, в нижнем регистре шестнадцатеричный, как это:

UUID=125c-a3eb  /media/usb_8GB vfat defaults,users,umask=0  0 0

mount: special device UUID=125c-a3eb does not exist

тогда у меня появилась идея попробовать в верхнем регистре (gU3w в Vim) и он работал без проблем. Чтобы подтвердить это, я размонтировал и изменил UUID обратно на нижний регистр, mount failed и back to uppercase, и смонтировал успешно.

насколько я понял, UUID-это шестнадцатеричное число, а не строка, поэтому регистр букв не имеет значения. Но очевидно, что это не так. RFC4122 определяет UUID как " регистронезависимый на вход." Что-то я пропустил или это mount/umount поведение ошибкой?

я использую Debian GNU / Linux 7.0 Wheezy с пользовательской версией ядра 3.6.8, если это имеет значение.

14
задан nrz
21.12.2022 0:19 Количество просмотров материала 3125
Распечатать страницу

2 ответа

Примечание: это домыслы, основанные на том, как устройства обычно доступны в Unix/Linux и тот факт, что имена файлов чувствительны к регистру.

Linux использует UUID для создания объектов в /dev/disk/by-uuid. Как и любой "файл" в Linux, имя чувствительно к регистру. Следовательно, когда речь идет о дисках по UUID, сравнение выполняется как сравнение имен файлов на шестнадцатеричных строках, а не бинарное сравнение данных, представленных указанными строками.

6
отвечен Mark K Cowan 2022-12-22 08:07

в случае vfat мы фактически не видим полноценного UUID. Вместо этого это идентификатор Тома (серийный номер). Они, конечно, не подлежат RFC, упомянутому выше.

1
отвечен sparkie 2022-12-22 10:24

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

fstab
linux
mount
umount
uuid
Вверх