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