É possível executar um LTS 10.04 ou 12.04 ou anterior contido no LXC ou Docker no Trusty?

7

É possível ter uma instalação baunilha do Ubuntu 14.04 (Trusty) e rodar em seu interior versões antigas do Ubuntu que originalmente vieram com kernels mais antigos?

Por exemplo, para 12.04, eu diria que a resposta é sim, pois tem linux-image pacotes para versões subsequentes do Ubuntu, como linux-image-generic-lts-saucy e linux-image-generic-lts-quantal . Para o 10.04, esse não é o caso, então estou inseguro. Mas há documentação disponível que eu possa usar para deduzir o que há de bom em executar?

A razão pela qual estou perguntando é porque a interface do kernel sofre atualizações de vez em quando. No entanto, às vezes é vantajoso executar versões mais novas da distro e, ao mesmo tempo, manter um ambiente de compilação baseado em um predecessor.

    
por 0xC0000022L 13.06.2014 / 14:52

2 respostas

7

Você pode executar programas Linux mais antigos em novos kernels. O Linux mantém compatibilidade com versões anteriores (pelo menos para todas as interfaces documentadas), para o benefício de pessoas que executam binários antigos por uma razão ou outra (porque não querem incomodar a recompilação, porque perderam a origem, porque isso é software comercial para o qual eles não têm a fonte, etc.).

Se você quer ter um ambiente de desenvolvimento com ferramentas de desenvolvimento mais antigas, ou mesmo um ambiente de teste para qualquer coisa que não se aprofunde nas interfaces do kernel, então você não precisa rodar um kernel antigo, apenas um ambiente de usuário antigo. . Para isso, você não precisa de nada complexo: um chroot serve. Algo mais avançado como LXC, Docker,… pode ser útil se você quiser que a distribuição mais antiga (ou mais recente) tenha sua própria configuração de rede. Se você não quer isso, você pode usar o que o Debian usa precisamente para construir software em um ambiente conhecido (por exemplo, construir software para o Debian estável em uma máquina com uma instalação de teste): schroot . Veja Como executo programas de 32 bits em um Debian / Ubuntu de 64 bits? para um guia sobre como configurar uma instalação alternativa do Debian ou um derivado em um chroot.

Se você deseja executar o kernel da distribuição mais antiga, precisará de uma máquina virtual real para isso, como o KVM ou o VirtualBox. A virtualização Linux-on-Linux com o LXC ou algo semelhante executa o mesmo kernel por toda parte.

    
por 16.06.2014 / 00:00
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!

    
por 23.04.2016 / 01:43