Вопрос Как создать образ ext2 без прав суперпользователя?


Мне нужно создать несколько изображений ext2. Очевидный способ сделать это - создать изображение, смонтировать его и скопировать содержимое. Но для этого требуются права на root (дважды для файлов и монтирования изображения). Также я нашел два инструмента для генерации изображений: e2fsimage & genext2fs.

  • genext2fs помещает изображение в ОЗУ во время генерации, но размер одного из моих изображений составляет ~ 30GiB.

  • e2fsimage падает с некоторыми значениями размера изображения.

Итак, как я могу сгенерировать мои изображения? Было бы неплохо, если бы инструмент вычислил сам размер изображения.


2
2018-06-08 08:49


происхождения




ответы:


Выяснил, почему e2fsimage сбои. Это вызвано переполнением int32, когда размер изображения больше 4GiB. Таким образом, решение состоит в том, чтобы подсчитать необходимые блоки и индексы, создать файл цикла (truncate & mke2fs), а затем использовать e2fsimage с -n аргумент (поэтому он не будет создавать файл цикла, но использует уже созданный)


1
2018-06-08 14:21



Вы отправили отчет об ошибке и / или патч для этого? - Toby Speight
Я сомневаюсь, что сделал. Сожалею. - Equidamoid


Создание образа не требует прав root. Вот пример создания образа ext2:

dd if=/dev/zero of=./MyDisk.ext2 bs=512 count=20480
mkfs.ext2 ./MyDisk.ext2

но привилегия root необходима для установки устройства:

mkdir MyDisk
sudo mount ./MyDisk.ext2 MyDisk

1
2017-09-29 06:14