Я пытаюсь создать образ диска как результат моей системы сборки (в настоящее время SCons). Создать образы дисков из структуры каталогов очень просто, например, с помощью genext2fs (http://genext2fs.sourceforge.net/).
Но я бы хотел создать образ, содержащий несколько разделов из нескольких каталогов. В настоящее время мне приходится делать это, склеивая dd, losetup, kpartx, монтировать и копируя файлы. Для этого требуется root-доступ.
Есть ли какой-нибудь удобный способ сделать это как пользователь без полномочий root? Есть ли какое-нибудь приложение, подходящее для включения в систему сборки, которое может эффективно выполнять эту задачу?
Ненавижу это говорить, но я не знаю легко способ сделать это.
Вполне вероятно, что вы могли бы заставить что-то работать, создав файл образа с помощью dd, затем разделив его с помощью fdisk, затем создав второй файл образа с помощью dd и отформатировав его напрямую (или используя что-то вроде genext2fs), а затем dd'ing второй файловой системы image в первый разделенный файл образа с правильным смещением. . . однако это будет сложно и сложно.
Боюсь, что я не знаю ни одного хорошего способа сделать это без корневого доступа.
В зависимости от того, почему вы хотите избежать корневого доступа, решением может быть sudo.
Напишите сценарий, который выполняет все необходимое для выполнения задачи, убедившись, что пользователи не могут злоупотреблять им с помощью «творческого» ввода, а затем предоставьте пользователю права sudo именно на этот сценарий и ни на что другое.
вы можете попробовать с mkisofs ...
mkisofs -l -iso-level 4 -o папка file.iso
Я не пробовал, а вы пробовали fakeroot? Он обычно используется в дистрибутивах на основе Debian для начальной загрузки начального набора файлов, необходимых для установки (или, в случае 64-битной системы, chroot с 32-битными файлами). Вы не сказали, какую ОС используете, fakeroot может не сработать.
Я видел, как эта проблема решается другим способом - используйте виртуальную машину в системе сборки. В виртуальной машине вы можете получить root-доступ, не нарушая работу ОС на вашей реальной машине сборки, вы можете сделать ее снимок, чтобы каждый раз, когда она включается, она находилась в одном и том же чистом состоянии.
Известны ли размеры различных создаваемых вами разделов?
Вы можете обойти проблему, создав шаблонный образ диска с разделами с известными байтовыми смещениями, а затем вставьте реальные файловые системы в этот образ, используя dd
.