假设您正在使用具有以下限制的奇怪机器:
- 您根本没有物理访问权限。你得到一个串行控制台和一个网络。
- 您可以使用六个 Linux 安装中的一个,并且
- 完全不接触 HD 的网络引导 Debian 安装。
鉴于此,假设您想在机器上安装一个新的 unixy 操作系统。Linux、BSD、Solaris 等等。你怎么做呢?在 gentoo 中,你只需:
- 从恢复映像启动,
- 根据需要对 HD 进行分区和格式化,
- 将驱动器安装在 /mnt/new(/mnt/new/boot、.../home 等)中,
- 将 gentoo stage-3 解压到 /mnt/new,
- chroot /mnt/new
此时,您处于一个与从 Gentoo CD 启动并遵循安装说明的环境完全相同的环境中。
Arch Linux,IIRC,可以做一个类似的游戏,虽然它不那么高兴。
那么,您选择的操作系统呢?我对 NetBSD 或 OpenBSD 不是很感兴趣,但如果他们愿意,我很想听听。
如果你能想出一种方法来在这里安装 Windows,那你就是个变态,但我会给你点赞。
调频(W)S
(这是经常提出(错误)的建议)
- “网络引导安装程序”
- 这会起作用,但我们已经在对恢复磁盘进行网络引导。我无法控制执行此操作的服务器,也没有任何东西可以赢得 BOOTP 竞赛。
- “告诉托管公司放入您选择的 CD”
- 那太好了,但他们的定价模式是基于我称之为“我们不碰你的硬件”的东西。此外,他们并不真正喜欢我这样做,更喜欢我运行他们为我安装的
后门操作系统。
编辑:我意识到这真的应该是一个社区维基,因为没有“正确”的答案。我为所有给我答案的人投票,谢谢!
昨晚我用 OpenBSD 做了类似的事情(可能是同样的事情,如果我们正在考虑某个法国起源的托管公司),使用这个. 您可以将它从救援模式添加到硬盘,然后它会启动具有 ssh 访问权限的安装程序。虽然,它确实需要其他地方的 OpenBSD 机器来编译,如果我们谈论的是同一家公司,安装将无法启动,除非你有一个特别小的 /(我的是 500MB。我知道 5GB 和更大的都行不通。 )。
Debian(可能还有 Ubuntu)有一个名为“debootstrap”的系统,可以为这些系统执行您想要的操作。有一篇很好的基础文章。
Linux 从零开始。这是系统的整体理念——您自己下载和安装 Linux 软件包,无需任何外部安装程序,只需现有环境和网络连接。
我找不到这方面的文档,但出于某种原因,我认为Slackware也有能力做这样的事情。
最坏的情况是?查找某些虚拟机管理器的软件包并将其安装到您的网络引导 Debian 安装中,使用安装程序磁盘的 ISO 作为您的 CD-ROM 驱动器和实际的目标安装磁盘作为您的虚拟机磁盘创建一个新的虚拟机。进行安装,确保在内核/其他需要的地方同时支持 VM 硬件和实际硬件。现在只需根据需要在 VM 外部配置您选择的引导加载程序并重新启动。瞧。(这也可能适用于 Windows,如果您将其安装为通用 PC,而不是允许它执行特定于硬件的事情。YMMV。)
我对基于 debian 的系统进行了第二次 debootstrap。我过去使用过一个类似的工具,称为 rpmstrap,正如您所期望的,它与基于 RPM 的发行版的概念相同。
但是我在 Ubuntu 中找不到它,并且它没有在 debian 稳定存储库中列出 - 仅限 oldstable/etch:http ://packages.debian.org/search?keywords=rpmstrap
作为替代方案,有许多预构建 VM 或 UML 映像的存储库,例如stacklet.com。稍加小心,您可以将其中一个 dd 或 untar 到一个分区。解压后,您可以 chroot 进入并使用发行版的包管理工具来完成它。