是否可以在 LXC 或 Docker on Trusty 下執行 10.04 或 12.04 或更早的 LTS 容器化?
是否可以安裝 Ubuntu 14.04 (Trusty) 的普通安裝並在其中執行容器化的舊版 Ubuntu,這些舊版最初帶有舊核心?
例如,對於 12.04,我假設答案是肯定的,因為它包含
linux-image
用於後續 Ubuntu 版本的軟體包,例如linux-image-generic-lts-saucy
和linux-image-generic-lts-quantal
. 但是,對於 10.04,情況並非如此,所以我不確定。但是是否有可用的文件可以用來推斷可以執行的內容?我問的原因是因為核心介面時不時地進行更新。但是,有時執行較新版本的發行版並同時保持基於前身的建構環境是有益的。
您可以在較新的核心上執行較舊的 Linux 程序。Linux 保持向後兼容性(至少對於所有記錄在案的介面),這有利於出於某種原因執行舊二進製文件的人(因為他們不想費心重新編譯,因為他們已經失去了原始碼,因為這是他們沒有來源的商業軟體等)。
如果你想擁有一個使用舊開發工具的建構環境,甚至是一個測試環境,用於任何不深入核心介面的東西,那麼你不需要執行舊核心,只需要執行舊使用者空間環境。為此,您不需要任何復雜的東西:一個chroot就可以了。如果您希望較舊的(或較新的)發行版擁有自己的網路配置,則諸如 LXC、Docker 等更高級的東西可能會很有用。如果你不想這樣,你可以使用 Debian 在已知環境中建構軟體(例如在具有測試安裝的機器上為 Debian stable 建構軟體)精確使用的東西:schroot。請參閱如何在 64 位 Debian/Ubuntu 上執行 32 位程序?有關在 chroot 中設置 Debian 或衍生版本的替代安裝的指南。
如果你想執行舊發行版的核心,你需要一個真正的虛擬機,比如 KVM 或 VirtualBox。使用 LXC 等的 Linux-on-Linux 虛擬化始終執行相同的核心。