Назад | Перейти на главную страницу

Установка Debian из Rescue System с PreSeed (полностью автоматизирована)?

Мне нужно установить систему debian удаленно на полностью автоматизированном сервере.

Если бы у меня был доступ к образу ОС Debian на этом сервере (имея DVD-привод или USB-накопитель с образом ОС Debian), это было бы очень просто: мне нужно было бы только ввести в приглашении «загрузка / установка» URL-адрес файла PreSeed. Но у меня нет доступа к DVD-диску или USB-накопителю на сервере.

В моем случае у меня есть доступ к серверу только через систему аварийного восстановления (с минимальным запуском debian). Я знаю, что могу использовать debootstrap. Но проблема в том, что использование debootstrap НЕ автоматизировано, мне нужно сначала отформатировать диски, смонтировать их, выполнить debootstrap и так далее.

Что я хочу сделать, так это войти в систему спасения и вызвать «программу», например debootstrap или установщик debian с файлом preseed, и все должно выполняться автоматически. Но debootstrap не поддерживает файл preseed. И я не знаю, как в таком окружении системы спасения вызвать установщик.

Как я могу этого добиться? Можно ли загрузить в спасательную систему полный ISO-образ Debian, извлечь его в память и затем каким-то образом вызвать установщик этого компакт-диска? Но как? Какую команду я должен там выполнить?

ИЛИ есть какой-то небольшой инструмент, который делает именно это, и мне нужно вызвать его с URL-адресом изображения и предварительной информацией, а затем выполнить установку? Как указано выше, с debootstrap все в порядке, но я хочу использовать файл preseed из установщика debian без какого-либо ручного вмешательства. debootstrap требует много ручной работы.

Большое спасибо за любую помощь !! Йенс

Если возможно, я предлагаю вам самому собрать новый компакт-диск и отправить его по почте или загрузить тому, кто может положить его в лоток для вас. Используйте виртуальную машину, чтобы создать и протестировать образ, пока он не станет на 100% не интерактивным. Помните, вам нужен только самый простой функции. Достаточно работающей системы с SSH и одного пользователя. Остальное вы можете делать (осторожно) удаленно.

Я еще не делал этого с Squeeze, но предполагаю, что процесс похож. В худшем случае вы можете автоматически установить Lenny и перейти на Squeeze.

В качестве предварительного условия вам понадобится файл preseed. Использовать debconf-get-selections чтобы создать это. Начните с вывода этой команды и при необходимости отредактируйте. Видеть Официальная документация Debian по предварительной загрузке установщика для получения любой необходимой информации о содержимом пресида.

1) Загрузите ISO из Debian.
2) Смонтируйте и скопируйте содержимое компакт-диска

mount -o loop debian-508-amd64-netinst.iso /mnt
mkdir ~/autoinstall
rsync -a -H --exclude=TRANS.TBL /mnt/ ~/autoinstall/

3) Редактировать isolinux/isolinux.cfg и заменить все содержимое со следующим:

default install

LABEL install
   kernel /install.amd/vmlinuz
   append vga=normal initrd=/install.amd/initrd.gz preseed/file=/cdrom/preseed.txt debian-installer/locale=en_US console-keymaps-at/keymap=us --
LABEL linux
   kernel /install.amd/vmlinuz
   append vga=normal initrd=/install.amd/initrd.gz preseed/file=/cdrom/preseed.txt debian-installer/locale=en_US console-keymaps-at/keymap=us --

prompt 0
timeout 0

4) Поместите ваши данные preseed в корень образа компакт-диска (в данном случае ~/autoinstall) названный preseed.txt.
5) Создайте образ.

cd ~/autoinstall/
mkisofs -o ~/autoinstall.iso -r -J -no-emul-boot -boot-load-size 4  -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ~/autoinstall/

Теперь вы можете использовать образ для загрузки с виртуальной машины. В любом месте, где установщик задаст вам вопрос, добавьте этот ответ в файл press.txt и повторите шаги 4 и 5.

Продолжайте делать это, пока не получите жизнеспособный установщик. Вы, вероятно, создадите 20-30 изображений, настраивая свой файл preseed, пока не получите все правильно. Убедитесь, что вы включили openssh-server в pkgsel/include и вы сможете удаленно войти в систему.