Используйте ассоциативный массив. Нет никакого серьезного основания генерировать имена переменной как это.
Я не совсем уверен в том, что вы имеете в виду с «Предвестным». Если вы говорите о kickstart или без присмотра установки, один хороший инструмент для этого AnaConda .
Я широко использовал его для без присмотра установки Redhatlinux. Согласно Debian Wiki также поддерживается у Debian. Быть убунтуренным производным Debian, это должно быть полезным.
Вы управляете разделами с помощью команды .
Основная идея без присмотра установки состоит в том, что вы предоставляете файл конфигурации KickStart , и AnaConda делает всю работу.
Проблема заключается в значении -1 для максимального размера раздела xfs, хотя на самом деле этого быть не должно.
Существует ошибка (называемая ограничением алгоритма) в partman-auto, которая требует очень большого количества для максимального размера одного из ваших разделов.
`
Из-за ограничения алгоритмов в partman-auto должно быть при по крайней мере один раздел с высоким максимальным размером, так что весь свободный может использоваться пространство. Обычно можно задать раздел, содержащий / home максимальный размер 1000000000 который достаточно высок для настоящего Место хранения устройства. Если большой/дом не является опцией для вас, вы можете также определить в рецепте один дополнительный раздел с размером 1000000000, метод «держать» и оставить его размонтированным. Когда установка завершена, ее можно удалить.
Не используйте более 1000000000 числа, поскольку арифметика оболочки ограничен 31 битом (на i386). '
http://ftp.dc.volia.com/pub/debian/preseed/partman-auto-recipe.txt
-121--74192-Здесь есть сценарии: https://github.com/dotzero/vagrant-debian-wheezy-64 , чтобы взять netinst iso и перенастроить его с предварительными опциями. Это может быть хорошей отправной точкой.
В preseed есть опция задержки, которая позволит выполнить команду непосредственно перед завершением установки. Если функция latecmd не может выполнять все операции в среде chroot, можно использовать функцию latecmd для вставки сценария, который будет вызван при следующей загрузке.
-121--88028-Я не нашел такого инструмента и не хочу его писать. То, что я сделал, чтобы рассматривать экспертные рецепты как стандартные текстовые файлы, которые я редактирую онлайн с помощью редактора ACE. Перед отправкой рецепта в предварительный файл в шаблоне mako я использую эту функцию, чтобы преобразовать текст в форму, готовую для debconf.
https://github.com/umeboshi2/paella/blob/master/src/paella/paella/managers/util.py#L25
Эта функция может быть расширена, чтобы вы могли поместить комментарии в рецепт, если это достаточно сложно, чтобы это было необходимо.
Вы можете использовать KickStart. Отрывок из https://gist.github.com/ludo/3652811 Пример:
bootloader --location=mbr
zerombr yes
clearpart --all --initlabel
part /boot --fstype=ext2 --size=64
part swap --size=1024
part / --fstype=ext4 --size=1 --grow