如何通过SSH远程安装Linux?

我需要在运行RHEL 3.4(x86)的服务器上远程安装Ubuntu Server 10.04(x86)。 我必须非常小心,因为如果出现任何问题,没有人可以按下重启button。

你有没有远程安装Linux? 你会推荐哪种方式? 任何build议要注意的事情?


更新:

谢谢你的帮助。 我设法“开车时换胎”

我的方法的主要组件是从HOWTO – 将Debian安装到远程Linux系统 , grub legacy:引导一次 , grub单启动和内核panic重启 ,以及Ubuntu社区文档:InstallationFromKnoppix

以下是我所做的概要:

  1. 现有的 Ubuntu服务器上运行debootstrap
  2. 将文件传输到RHEL 3.4服务器的交换分区
  3. 启动到交换分区(debootstrap系统)
  4. 将文件传输到原始根分区
  5. 启动到新的Ubuntu系统,并用tasksel,apt-get等完成安装

我在一个VM中testing了这个方法,然后应用到了服务器上。 我很幸运,一切顺利:)

我同意这里的其他答案:虽然可能在RHEL 3.4上远程安装Ubuntu,但是您很可能会在一些非常薄弱的环境中执行操作。

我认为你可能遇到的最大的问题是现有系统上内核和libc的时代。 这是一个2.4.x系列内核? 如果是这样的话,我不确定你能否做到这一点,因为在安装过程中的某个时候,你需要运行编译后运行在Ubuntu内核和libc中的工具,否则它们可能无法正常工作(或根本)在一个较旧的运行时环境。 如果你没有在远程服务器上运行2.6.x系列内核,我认为你没有太大的成功机会。

如果你仍然认为你可能想尝试这个,有几个我知道的指南:

  • 使用debootstrap安装新的Debian系统 ,位于debian-administration.org。 虽然它是Debian特有的,但它也适用于Ubuntu。

  • 从Debian GNU / Linux安装指南,从Unix / Linux系统安装Debian GNU / Linux。 再次,Debian特定的,但大多适用。

这两个指南都是旧的,所以都不能被视为甚至接近剪贴指南。 我强烈build议遵循这里的其他人的build议,并在本地服务器或虚拟机上进行一些干运行,因为在真正实现之前,肯定会出现一些扭曲和问题。

远程安装任何操作系统的最佳做法是购买带外pipe理的服务器硬件(HP ilo,Dell drac),可让您远程重新启动电源并查看服务器的控制台。 甚至不要尝试,否则。

可以安装一个新的发行版,但是非常具有挑战性。 这是你几乎肯定不会第一次正确的事情。 事实上,如果你第三次或第四次正确的话,你会很幸运的。

另外,这里没有人能够给你一个清单,你可以关注,这将会发生。 您将不得不根据您的确切磁盘分区和文件系统布局,硬件configuration等尝试不同的替代scheme。

这就是说,如果我不得不这样做,我会怎么做呢?

  • 将机器configuration为尽可能与现有机器相似:硬盘驱动器,网卡,光盘适配器,RAM,然后将其命名。
  • 设置此机器以模仿该主机上的当前设置。
  • 尝试在这个testing系统上做你需要做的事情。
  • 仔细记下它,以便您可以在“实时”系统上进行复制。
  • 在进行最终迁移之前,请在testing系统上再次运行这些注释。

一些技术可以帮助你:

  • 决定是否要安装到新的分区,或尝试安装在现有的文件系统上。 如果你做一个新的分区,你可以通过引导旧的分区来退出。 但是,这可能意味着您需要缩小当前的文件系统,这个文件系统必须离线完成。 我在2007年写了一些笔记,当我这样做 。
  • 您可能能够在testing机器上的一个小分区上进行安装,然后进行相应的更改(如IP地址和“dd”),以使用此文件系统映像来填充新分区上的基本安装。 这只会是如果你正在使用一个单独的分区进行新的安装。
  • 你可以把根文件系统放在一个子目录中,然后在initrd中执行一些操作:“cd / target; mv * oldroot; mv oldroot / newos / *”。 将所有的旧目录移动到原来的位置,并将新的目录放置到位。 这必须在initrd执行“pivotroot”之前完成,可能在安装文件系统之后。
  • 在initrd脚本中添加一些代码可以让你在系统启动的时候做各种奇妙的事情。 有关更多详细信息,请参阅上面我参考的博文。
  • 预计你会在这个失败。 这是一个非常冒险的努力。 当我做我的文件系统resize(上面提到)时,我很震惊,当它正确地重新启动。
  • 你将不得不决定你想要做什么引导扇区,运行LILO还是GRUB? 你想尝试保持当前的启动加载器,或切换到10.04的? 可能理想的情况是使用现有的加载程序启动到新的操作系统,然后从该操作系统运行“grub-install”来安装新的操作系统。

祝你好运! 你需要它。 🙂

如果您有不同的分区,则可以使用该分区安装在可以看到整个磁盘的虚拟机中。 只要你不在虚拟机和主机上安装相同的分区,或者使用分区表,你都是安全的。 另一种方法是从networking启动,并使用preseed或kickstart进行安装。 在远程播放之前先试用本地环境。

  1. 祝你好运。

  2. 在某些情况下(这可能不适用于您/您),这可想而知是可行的。

  3. 这很难; 我build议你在本地(虚拟如果有必要)机器上练习。 很多。

如果只能访问一次服务器,则可以通过IP端口向系统添加KVM。 我在CDWfind了一个价值310美元的Lantronix Spider 1端口 。 尽pipe可以在重启时进入BIOS并更改引导顺序,从而忽略CD,但它并不能帮助“重启button”或获取介质popup。

我之前做过,作为一个testing。 不过,如果没有后备计划,我不会推荐这么做。

事实certificate,如果所有需要的应用程序都已经加载,那么系统是相当可靠的。 我成功地运行dd并用默认的Ubuntu安装覆盖了目标服务器的第一个8GB左右,然后将服务器重新启动到Ubuntu。 您可以从那里扩展分区,以填充驱动器的其余部分。

你也可以build立一个新的分区,放入一个新的安装,并修改你的引导程序来引导到这个新的分区。 再一次,期待失败和成功的希望。