
假設您正在一台具有以下限制的奇怪機器上工作:
- 您根本沒有實體存取權限。您將獲得一個串行控制台和一個網路。
- 您可以使用六個 Linux 安裝之一,並且
- 網路啟動的 Debian 安裝根本不涉及硬碟。
有鑑於此,假設您想要在電腦上安裝新的 unixy 作業系統。 Linux、BSD、Solaris,等等。你怎麼做呢?在 gentoo 中,你只需:
- 從恢復映像啟動,
- 根據需要對硬碟進行分割和格式化,
- 將磁碟機安裝在 /mnt/new(/mnt/new/boot、.../home 等)中,
- 將 gentoo stage-3 解壓縮到 /mnt/new 中,
- chroot /mnt/新
此時,您所處的環境與從 Gentoo CD 啟動並按照安裝說明進行操作所獲得的環境實際上相同。
Arch Linux,IIRC,可以做類似的遊戲,儘管它對此不太滿意。
那麼,您選擇的作業系統怎麼樣呢?我對 NetBSD 或 OpenBSD 並不是很感興趣,但我很想聽聽他們是否願意這麼做。
如果你能想出一個方法來安裝Windows,那你就是個變態,但我會給你點贊成票。
調頻(W)S
(這是經常提出(錯誤)的建議)
- “網路啟動某些東西的安裝程式”
- 這可行,但我們已經在網路啟動恢復磁碟了。我無法控制執行此操作的伺服器,並且我沒有任何可以贏得 BOOTP 競賽的東西。
- “告訴託管公司放入您選擇的 CD”
- 那太好了,但他們的定價模型是基於我稱之為「我們不碰你的硬體」的東西。另外,他們不太喜歡我這樣做,更喜歡我運行他們為我安裝
後門的作業系統。
編輯:我意識到這確實應該是一個社區維基,因為沒有「正確」的答案。我為所有給我答案的人點贊,謝謝!
答案1
我第二次為基於 Debian 的系統進行 debootstrap。我過去使用過一個名為 rpmstrap 的類似工具,正如您所料,它與基於 RPM 的發行版具有相同的概念。
然而我在 Ubuntu 中找不到它,而且它沒有列在 debian stable 存儲庫中 - 僅 oldstable/etch :http://packages.debian.org/search?keywords=rpmstrap
作為替代方案,有許多預先建置的 VM 或 UML 映像的儲存庫,例如stacklet.com。小心一點後,您可以將其中一個添加或解壓縮到分區。解壓縮後,您可以 chroot 並使用發行版的套件管理工具來完成它。
答案2
昨晚我用 OpenBSD 做了類似的事情(可能是同樣的事情,如果我們想到的是某個法國起源的託管公司),使用這。您可以從救援模式將其新增至硬碟,然後它會透過 ssh 存取啟動安裝程式。儘管如此,它確實需要其他地方的OpenBSD 機器來編譯,如果我們談論的是同一家公司,除非你有一個特別小的/ (我的是500MB。我知道5GB 或更大的/ 是行不通的,否則安裝將無法啟動。
答案3
Debian(可能還有 Ubuntu)有一個名為「debootstrap」的系統,可以為這些系統執行您想要的操作。有一個好的基礎文章在上面。
答案4
Linux 從頭開始。這就是系統的整體理念 - 您自己下載並安裝 Linux 軟體包,無需任何外部安裝程序,只需現有環境和網路連接。
我找不到這方面的文檔,但出於某種原因我認為斯萊克軟體也有能力做這樣的事情。
最壞的情況是?找到一些虛擬機器管理器的軟體包並將其安裝到網路啟動的 Debian 安裝中,建立一個新的 VM,將安裝程式磁碟的 ISO 作為 CD-ROM 驅動器,將實際目標安裝磁碟作為 VM 的磁碟。進行安裝,確保支援虛擬機器硬體和核心/其他需要的地方的實際硬體。現在只需在虛擬機器外部適當配置您選擇的引導程式並重新啟動即可。瞧。 (這可能如果您將其安裝為通用 PC 而不是允許其執行特定於硬體的操作,則也可以與 Windows 一起使用。 YMMV。