通过SSH远程重新安装Linux

我有一个小的Linux服务器,我需要重新安装Linux(Debian稳定的64位x86)。

我有机器的物理访问权限,但没有任何外部设备,如光驱,也不能从networking或U盘启动。

它确实有一个现有的Linux安装,我可以ssh的机器,并具有root权限,但它是严重破碎,我不知道什么状态的机器是在希望消灭它,并做一个全新的安装。

有没有什么办法可以做到这一点,只使用SSH远程访问,我可以下载到机器?

无法从CD /networking/外部设备启动的方式来实现您的目标的方法是使用现有的安装将新的操作系统安装到另一个文件系统,然后,一旦完成,告诉引导加载程序启动新的文件系统。 在过去(也许是10年或更久)以前,这种情况比现在要普遍得多,如果你search,你会发现这个问题的讨论。 我在遥远的过去用slackware,gentoo,linuxfromscratch等等做了这个,但我认为可以用最现代的linux / BSD发行版来完成,而不需要太多的努力。

例如,在Slackware的设置中,你可以指定一个默认为“/ target”的目标,但是你可以把它设置到你已经安装了辅助文件系统的地方。

Gentoo的安装手册说得很清楚, 所有你需要考虑的将是“准备你的磁盘”和“configuration你的引导程序”部分。

说了这么多,这不是微不足道的,如果你对事物的工作原理不了解的话,你不可能在第一时间做对。 这将是一个有趣的教育体验,但是由于您有物理访问权限,您可能会得到更快,更好的结果,通过解决如何删除约束,意味着您不能使用更典型的安装过程。 换句话说,添加一个CD驱动器或东西。

在链接我们做什么用红帽或centos安装在远程http://kbase.redhat.com/faq/docs/DOC-10526如果可以帮助你

尽pipe这篇文章谈到了Suse而不是Debian,但是这个过程也是一样的。 看来作者正在通过SSH远程安装Linux,正如你所谈论的那样。 看看屏幕截图,你应该能够通过这个工作。

祝你好运,希望这有助于一些。

您可以使用debootstrap安装到另一个分区(不要:希望您已经使用lvm来实现分区灵活性),然后重新启动到该分区。 kexec是一个巧妙的技巧,可以在不改变bootloader的情况下重新启动。

一旦你的系统稳定,你必须告诉bootloader关于新的分区; 你可以使用grub-reboot来启动新的入口,grub-set-default永久地改变到新的入口。

我不认为这是可能的。 当你通过SSH连接到你的机器,然后消除一切,你的SSH服务器不见了,并与他连接。

当你的服务器没有CD / DVD驱动器,并不从USB /networking启动,你是如何安装你的服务器第一次?

一种可能性是远程pipe理卡(例如rsa,ilo,…)。 与他们你可以将ISO映像或本地CD / DVD / USB驱动器附加到服务器,并从这些设备安装。

你可能想看看debootstrap来做什么@dotplusbuild议。

为了澄清你的原始问题,“小型服务器”,我猜你不是指具有附加function的服务器级硬件,可以模拟附带的CD-ROM或带外远程控制台访问,正确吗? 这只是一个台式电脑被用作服务器?

回答是,通过ssh从现有的操作系​​统开始安装Linux发行版肯定是可能的。 我做了很多次类似的事情,通常是由红帽派生的发行版,但这些原则应该适用于此。

将安装内核和initrd复制到旧操作系统的/ boot,编辑启动configuration(GRUB / LILO / whatever),以便默认启动安装内核,以及来自安装介质启动configuration的参数(isolinux.cfg if这是一个传统的CD或DVD),添加你需要的任何参数,让安装init系统find安装介质(在我的情况下,我通常做一个NFS安装)。 一旦安装例程被引导,从PXE / DVD /任何其他方法启动的安装没有什么不同。

根据传递给内核/ init / installer的启动参数,你可以启动一个交互式安装,以某种方式控制(我已经使用了Red Hat的vnc安装function[我不知道Debian是否提供类似的function],通常连接到在我的桌面上运行的监听器;在你的情况下,你可以直接走到机器的前面)或者安装完整的脚本,这样一旦从安装内核启动,你就不需要直接进行交互它重新启动到您新安装的操作系统。 要注意的是,用这种方法,如果你正在清除旧的操作系统,如果在重新分区或mkfs化了/ boot FS之后失败了,你将剩下一个不可启动的系统,所以我build议彻底testing任何脚本安装第一。

在我的情况下,这为我节省了大量的时间(大多数无人值守安装的工作已经完成),对于您的情况,如果只是一台机器,您可能会发现采取另一种方法的工作量会减less。

关于networking启动,GRUB或LILO很可能启动一个gPXE映像,然后在您的网卡上执行PXE。 从http://rom-o-matic.net/gpxe/gpxe-1.0.0/contrib/rom-o-matic/获取一个预编译的.lkrn图像。 如果您不介意等待,可以使用http://boot.kernel.org/中的小型gPXE映像通过Internet启动Debian Live(我相信这会让您安装到硬盘上)。

只需在救援模式下通过ssh启动Jeoss,然后安装错误的硬盘来修复它http://www.vercot.com/~jeoss/