Можно ли запустить LTS-версию 10.04 или 12.04 или более раннюю, контейнеризованную под LXC или Docker, на Trusty?

Можно ли запустить LTS-версию 10.04 или 12.04 или более раннюю, контейнеризованную под LXC или Docker, на Trusty?

Возможно ли иметь простую установку Ubuntu 14.04 (Trusty) и запускать внутри нее контейнеризованные старые версии Ubuntu, которые изначально поставлялись со старыми ядрами?

Например, для 12.04 я бы предположил, что ответ да, поскольку у него есть linux-imageпакеты для последующих релизов Ubuntu, таких как linux-image-generic-lts-saucyи linux-image-generic-lts-quantal. Для 10.04 это не так, поэтому я не уверен. Но есть ли доступная документация, которую я могу использовать, чтобы сделать вывод о том, что можно запускать?

Причина, по которой я спрашиваю, в том, что интерфейс ядра время от времени обновляется. Однако иногда бывает полезно запускать более новые версии дистрибутива и в то же время сохранять среду сборки на основе предшественника.

решение1

Вы можете запускать старые программы Linux на новых ядрах. Linux поддерживает обратную совместимость (по крайней мере, для всех документированных интерфейсов) для тех, кто по той или иной причине использует старые двоичные файлы (потому что они не хотят заморачиваться с перекомпиляцией, потому что они потеряли исходный код, потому что это коммерческое программное обеспечение, для которого у них нет исходного кода и т. д.).

Если вы хотите иметь среду сборки со старыми инструментами разработки или даже тестовую среду для чего-либо, что не погружается глубоко в интерфейсы ядра, то вам не нужно запускать старое ядро, просто старую среду пользовательского пространства. Для этого вам не нужно ничего сложного:chrootподойдет. Что-то более продвинутое, например LXC, Docker, … может быть полезным, если вы хотите, чтобы старый (или новый, если на то пошло) дистрибутив имел собственную сетевую конфигурацию. Если вы этого не хотите, вы можете использовать то, что Debian использует именно для сборки ПО в известной среде (например, сборка ПО для стабильной версии Debian на машине с тестовой установкой):шрут. ВидетьКак запустить 32-битные программы на 64-битной версии Debian/Ubuntu?для получения руководства по настройке альтернативной установки Debian или производной версии в chroot.

Если вы хотите запустить ядро ​​старого дистрибутива, вам понадобится настоящая виртуальная машина, например KVM или VirtualBox. Виртуализация Linux-on-Linux с LXC или чем-то подобным запускает одно и то же ядро.

решение2

➜ codetv_static# docker run ubuntu:10.04 /bin/echo 'Howdy!' Unable to find image 'ubuntu:10.04' locally 10.04: Pulling from library/ubuntu a3ed95caeb02: Pull complete 86b54f4b6a4e: Pull complete Digest: sha256:f6695b2d24dd2e1da0a79fa72459e33505da79939c13ce50e90675c32988ab64 Status: Downloaded newer image for ubuntu:10.04 Howdy!

Связанный контент