Bug 44571 - Попытка смонтировать не форматированный раздел ISO образа
Summary: Попытка смонтировать не форматированный раздел ISO образа
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: installer-feature-repo-add (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: jqt4@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-08 12:00 MSK by jqt4@altlinux.org
Modified: 2022-12-09 10:57 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jqt4@altlinux.org 2022-12-08 12:00:12 MSK
ISO образ с таблицей GPT, кроме разделов ISO9660 (1-й) и EFI (2-й), содержит 3-й не форматированный раздел.
Если записать такой образ за USB флешку то его 1-му и 3-му разделам будет присвоен одинаковый UUID.
См. https://github.com/util-linux/util-linux/issues/866

Предполагаю, что ядро может присылать события о том, что появился раздел, в любом порядке и udev по своим правилам создаёт симлинки в /dev/disk/by-uuid/.
Сохранится тот симлинк, который был создан последним.

При тестировании наблюдал, что это может быть симлинк на 1-й или 3-й раздел.

Скрипт 90-pkg.sh из installer-feature-repo-add прописывает в fstab UUID 1-го раздела и пытается монтировать раздел, идентифицируя его по UUID:
https://git.altlinux.org/gears/i/installer-feature-repo-add.git?p=installer-feature-repo-add.git;a=blob;f=installer-feature-repo-add/postinstall.d/90-pkg.sh;h=6eae9ec38312aa1348132993987aa317280a1bb8;hb=5202b54c845337f4fd89ac796e2f9bc4f07b9f2e#l36

Если монтируется 3-й раздел то выдаётся ошибка вида:

mount: /media/ALTLinux: wrong fs type, bad option, bad superblock on /dev/sda3, missing codepage or helper program, or other error.
       dmesg(1) may have more information after failed mount system call.
Comment 1 jqt4@altlinux.org 2022-12-08 12:02:06 MSK
Для обхода проблемы можно прописывать в fstab не UUID, а PARTUUID для идентификации раздела /media/ALTLinux
Comment 2 Антон Мидюков 2022-12-08 12:13:35 MSK
(Ответ для jqt4@altlinux.org на комментарий #1)
> Для обхода проблемы можно прописывать в fstab не UUID, а PARTUUID для
> идентификации раздела /media/ALTLinux

Да. Проблема из-за одинакового UUID у таблицы разделов и первого раздела. У таблицы разделов вместо PARTUUID идентификатор PTUUID, поэтому проблемы не будет.
Comment 3 jqt4@altlinux.org 2022-12-09 10:57:38 MSK
Тестировал исправленный пакет installer-feature-repo-add в alt-server и заметил побочный эффект исправления.
При подключении к установленной системе SSD с образом выдаётся окно с сообщением:

Не удалось присоединить ALT Server 10.1 x86_64
Error mounting /dev/sda3 at /run/media/user/ALT Server 10.1 x86_64:
wrong fs type, bad option, bad superblock on /dev/sda3, missing codepage or helper program, or other error

Это Mate попытался автоматически смонтировать не форматированный 3-й раздел образа, и это его нормальное поведение.
Раньше такого не было потому, что у 3-го раздела тот же UUID, что и у прописанного в fstab с параметром noauto 1-го.

Для того, чтобы избавится от этого сообщения прописал 3-й раздел в fstab так:
PARTUUID=a6b32b89-55ab-44bf-a11a-8a766bd6ebb0   none    ignore  noauto

После этого не только перестало выдаваться сообщение, но и 3-й раздел пропал из списка разделов в Caja.

Эта особенность не имеет непосредственного отношения к исправлению installer-feature-repo-add.
Исправленный installer-feature-repo-add-0.3-alt3 собран в Сизиф.