Допустим, вы работаете на странной машине со следующими ограничениями:
Учитывая это, скажите, что вы хотите установить на машину новую ОС unixy. Linux, BSD, Solaris, что угодно. Как ты это делаешь? В gentoo вам нужно просто:
В этот момент вы находитесь в среде, практически идентичной той, в которой вы загрузитесь с компакт-диска Gentoo и следуете инструкциям по установке.
Arch Linux, IIRC, может сделать похожую игру, хотя и не в восторге от этого.
Итак, как насчет выбранной вами ОС? Меня не особо интересуют NetBSD или OpenBSD, но я бы хотел их услышать, если они это сделают.
Если вы можете придумать способ установить здесь Windows, вы извращенец, но я дам вам за это баллы.
(Это часто сделанные (неправильные) предложения)
Редактировать: Я понял, что это действительно должна быть вики сообщества, поскольку нет "правильного" ответа. Я поддержал всех, кто дал мне ответ, спасибо!
Я сделал что-то подобное с OpenBSD вчера вечером (возможно, то же самое, если мы думаем об определенной хостинговой компании французского происхождения), используя этот. Вы можете скопировать его на жесткий диск из режима восстановления, а затем он загрузит установщик с доступом по ssh. Хотя для компиляции требуется машина OpenBSD в другом месте, и если мы говорим об одной и той же компании, установка не загрузится, если у вас нет особенно маленького / (у меня 500 МБ. Я знаю, что 5 ГБ и больше не подойдут. ).
В Debian (и, вероятно, Ubuntu) есть система под названием debootstrap, которая будет делать с этими системами то, что вы хотите. Есть хороший основная статья в теме.
Linux с нуля. В этом вся идея системы - вы загружаете и устанавливаете пакеты Linux самостоятельно, без каких-либо внешних установщиков, только в существующей среде и сетевом подключении.
Я не могу найти для этого документацию, но почему-то подумал, что Slackware тоже мог делать что-то подобное.
Худший вариант развития событий? Найдите и установите пакеты для некоторого диспетчера виртуальных машин в вашу установку Debian с сетевой загрузкой, создайте новую виртуальную машину с ISO установочного диска в качестве привода CD-ROM и фактическим целевым установочным диском в качестве диска вашей виртуальной машины. Выполните установку, убедившись, что поддерживает как оборудование виртуальной машины, так и фактическое оборудование в ядре / там, где еще необходимо. Теперь просто настройте нужный загрузчик за пределами виртуальной машины и перезагрузитесь. Вуаля. (Это может также работают с Windows, если вы устанавливаете его как обычный компьютер, а не позволяете ему выполнять свои аппаратные функции. YMMV.)
Я второй debootstrap для систем на базе debian. В прошлом я использовал похожий инструмент под названием rpmstrap, который, как и следовало ожидать, является той же концепцией для дистрибутивов на основе RPM.
Однако я не могу найти его в Ubuntu, и он не указан в стабильном репозитории debian - только oldstable / etch: http://packages.debian.org/search?keywords=rpmstrap
В качестве альтернативы существует ряд репозиториев готовых образов виртуальных машин или UML, например stacklet.com. С некоторой осторожностью вы можете создать или распаковать один из них в раздел. После того, как вы распаковали его, вы можете выполнить chroot и использовать инструменты управления пакетами дистрибутива, чтобы завершить его.