Мне нужно установить систему 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
и вы сможете удаленно войти в систему.