У меня есть небольшой Linux-сервер, на котором мне нужно переустановить Linux (стабильная 64-разрядная версия Debian x86).
У меня есть физический доступ к машине, но у нее нет внешних устройств, таких как компакт-диск, и, похоже, она не может загружаться по сети или с USB-накопителя.
У него есть существующая установка linux, и я могу подключиться к машине по ssh и получить root-доступ, но он сильно сломан, и я понятия не имею, в каком состоянии находится машина, поэтому хочу стереть его и выполнить полностью новую установку.
Есть ли способ сделать это, используя только удаленный доступ по ssh и что я могу загрузить на машину?
Способ достижения вашей цели без возможности загрузки с компакт-диска / сетевого / внешнего устройства - это использовать существующую установку для установки новой ОС в другую файловую систему, а затем, когда вы закончите, указать загрузчику загрузиться с новая файловая система. Это было гораздо чаще в прошлом (возможно, 10 лет или более назад), чем сейчас, и если вы поищете, вы найдете обсуждение именно этого. Я делал это в далеком прошлом с помощью slackware, gentoo, linuxfromscratch и других, но я думаю, что это можно сделать без особых усилий с большинством современных дистрибутивов linux / BSD.
Например, в настройке Slackware вы можете указать «цель», которая по умолчанию - /, но вы должны установить ее там, где вы смонтировали свою вторичную файловую систему.
В руководстве по установке Gentoo все ясно; все, о чем вам нужно будет подумать, - это разделы «Подготовка дисков» и «Настройка загрузчика».
Сказав все это, это нетривиально, и если у вас нет хорошего понимания того, как все работает, вы вряд ли поймете это правильно с первого раза. Это будет интересный образовательный опыт, но поскольку у вас есть физический доступ, вы, вероятно, получите более быстрый и лучший результат, решив, как удалить ограничение, которое означает, что вы не можете использовать более типичный процесс установки. Другими словами, добавьте компакт-диск или что-то в этом роде.
Даже если Эта статья говорит о Suse вместо Debian, процесс почти такой же. Похоже, автор устанавливает Linux удаленно через SSH во многом как вы. Взгляните на снимки экрана, и вы сможете с этим справиться.
Удачи и надеюсь, что это поможет.
Вы можете использовать debootstrap для установки в другой раздел (в сторону: надеюсь, вы уже используете lvm для гибкости разделения) и перезагрузитесь в этот раздел. Замечательный трюк для перезагрузки без смены загрузчика - это kexec.
Как только ваша система станет стабильной, вам нужно будет сообщить загрузчику о новом разделе; вы можете использовать grub-reboot для загрузки новой записи и grub-set-default для постоянного изменения новой записи.
загляните в ссылку, что мы делаем с redhat или centos для удаленной установки http://kbase.redhat.com/faq/docs/DOC-10526 если могу вам помочь
я не думаю, что это возможно. когда вы подключаетесь через ssh к своей машине, а затем стираете все, ваш ssh-сервер исчезает, а с ним ваше соединение.
Если на вашем сервере нет привода CD / DVD и он не загружается с USB / сети, как вы установили свой сервер в первый раз?
одна из возможностей - карты удаленного управления (например, rsa, ilo, ...). С их помощью вы можете прикрепить к серверу ISO-образы или локальные CD / DVD / USB диски и установить их с этих устройств.
Вы можете взглянуть на debootstrap сделать то, что предложил @dotplus.
Чтобы прояснить ваш исходный вопрос, я полагаю, вы не имеете в виду оборудование серверного класса с дополнительными функциями, которые позволяют имитировать подключенный CD-ROM или получить доступ к удаленной консоли по внеполосному каналу, верно? Это просто настольный ПК используется в качестве сервера?
Чтобы ответить, конечно, можно положить начало установка дистрибутива Linux из существующей ОС через ssh. Я проделывал подобное несколько раз, обычно с дистрибутивами, производными от Red Hat, но здесь должны применяться принципы.
Скопируйте установочное ядро и initrd в / boot старой ОС, отредактируйте конфигурацию загрузки (GRUB / LILO / что-то еще) так, чтобы по умолчанию загружалось установочное ядро вместе с аргументами из конфигурации загрузки установочного носителя (isolinux.cfg, если это традиционный CD или DVD), добавьте все необходимые аргументы, чтобы позволить системе инициализации установки найти установочный носитель (в моем случае я обычно выполнял установку NFS). После начальной загрузки процедура установки ничем не отличается от установки, запущенной с PXE / DVD / любым другим способом.
В зависимости от аргументов загрузки, переданных в ядро / init / installer, вы можете запустить интерактивную установку, которую вы каким-то образом контролируете (я использовал функцию установки Red Hat vnc [я понятия не имею, предлагает ли Debian аналогичную возможность], обычно подключающаяся для прослушивающего средства просмотра, запущенного на моем рабочем столе; в вашем случае вы можете пойти и встать перед машиной) или полностью запрограммировать установку, так что после ее загрузки из установочного ядра вам не нужно взаимодействовать с ним до тех пор, пока он перезагружается в вашу недавно установленную ОС. Имейте в виду, что с помощью этого метода, если вы удаляете старую ОС, если она выйдет из строя после повторного разбиения или mkfs'а / boot FS, у вас останется незагрузочная система, поэтому я рекомендую тщательно протестировать любую установку по сценарию первый.
В моем случае это спасло меня здорово много времени (большая часть работы по автоматической установке уже выполнена), в вашем случае, если это только для одной машины, вы можете найти меньше работы, чтобы выбрать другой подход.
Что касается загрузки по сети, вполне возможно, чтобы GRUB или LILO загрузили образ gPXE, который затем может выполнять PXE на вашей сетевой карте. Получите готовый образ .lkrn из http://rom-o-matic.net/gpxe/gpxe-1.0.0/contrib/rom-o-matic/ . Если вы не против подождать, вы можете использовать крошечный образ gPXE из http://boot.kernel.org/ для загрузки Debian Live (который, как я считаю, затем позволяет установить на жесткий диск) через Интернет.
просто загрузите Jeoss по ssh в режиме восстановления, затем вы можете смонтировать неисправный жесткий диск для его устранения http://www.vercot.com/~jeoss/
Вам необходимо обновить ISO-образ Debian.
TL; DR; Загрузите ISO отсюда Руководство Ciborski по удаленной установке Debian через SSH
Длинный ответ: Для этого вам следует прочитать Руководство по установке Debian GNU / Linux и измените параметры загрузки в / iso / isolinux и / iso / boot, чтобы он загружался с auto
параметр. Это заставит установщик пропустить конфигурацию клавиатуры, язык и т. Д.
Вам также необходимо включить файл preseed в ISO для конфигурации сети.
Пример, который работает для меня:
d-i debian-installer/locale string en_US
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i hw-detect/load_firmware boolean true
d-i anna/choose_modules string network-console
d-i preseed/early_command string anna-install network-console
d-i network-console/password password root
d-i network-console/password-again password root
Однако, если вам нужно быстрое и грязное решение, вы можете просто загрузить готовый ISO с Debian 9 x86_64 с моего сайта https://tomasz.ciborski.com/debian-installation-over-ssh/
Результат: консоль установщика ssh