Ambiente linux isolado e leve

14

Eu quero um ambiente Linux isolado (convidado) no meu computador que eu possa atrapalhar sem me preocupar com o host. Por exemplo. instale muita coisa a partir do código-fonte sem o gerenciamento de pacotes, polua as variáveis de ambiente do ambiente, etc., e então crie outro ambiente de convidado quando o antigo convidado ficar muito confuso.

Eu me diverti usando o Virtualbox com o Tinycore Linux, mas pelo menos do jeito que eu uso, eu não acho que a sobrecarga do Virtualbox é totalmente necessária. Por um lado, se possível, gostaria de usar o mesmo kernel do meu host.

Além disso, enquanto eu corria pelo tutorial Linux From Scratch, eu aprendi um pouco sobre chroot , que parecia ser o que eu estava procurando. Para ser honesto, havia muita coisa que eu realmente não entendia no LFS, mas o chroot era um deles. Eu tentaria brincar com chroot se não estivesse com tanto medo de estragar meu ambiente atual.

Estou procurando um programa de virtualização que use o fato de que estou em um linuxbox (estou usando o PinguyOS btw), para acelerar a virtualização ou uma referência sobre como usar o chroot como um playground isolado.

    
por math4tots 07.02.2012 / 22:28

4 respostas

15

O Chroot é o ambiente de peso mais leve que pode se adequar a você. Ele permite que você instale outra distribuição (ou outra instalação da mesma distribuição), com os mesmos usuários, com a mesma configuração de rede, etc. O Chroot fornece apenas algum isolamento bruto no nível do sistema de arquivos. Navegar este site para chroot pode ajudar, se você ainda não tiver certeza do que o chroot pode e não pode fazer.

Se você está procurando o próximo passo, o LXC está agora incluído na linha principal do kernel. Um convidado LXC (chamado de container) possui seu próprio sistema de arquivos, processo e espaço de rede. Raiz no contêiner também é raiz no host; O LXC protege contra muitas ações acidentais por um guest root, mas não contra um guest root malicioso (esse é um recurso planejado, veja este espaço ).

Outras tecnologias similares ao LXC são VServer e OpenVZ . Um recurso importante que o OpenVZ oferece, mas não o VServer ou o LXC, é pontos de verificação : você pode tirar um instantâneo de um computador em execução e restaurá-lo mais tarde. Ainda outro candidato é Linux no modo de usuário , que executa um sistema Linux completo dentro de um processo que é executado como um usuário comum no host.

Para o propósito de experimentar outra instalação do sistema operacional, o chroot é bom. Se você deseja executar serviços na instalação experimental ou jogar com a rede, vá para LXC. Se você quiser instantâneos, use o OpenVZ. Se você quer um kernel completamente separado, mas pouca sobrecarga de memória, use o User-mode Linux. Se você quiser instantâneos e um kernel separado, use o VirtualBox.

    
por 08.02.2012 / 01:22
5
O

Docker torna o LXC mais fácil de usar:

Notable features

Filesystem isolation: each process container runs in a completely separate root filesystem.

Resource isolation: system resources like cpu and memory can be allocated differently to each process container, using cgroups.

Network isolation: each process container runs in its own network namespace, with a virtual interface and IP address of its own.

Copy-on-write: root filesystems are created using copy-on-write, which makes deployment extremely fast, memory-cheap and disk-cheap.

Logging: the standard streams (stdout/stderr/stdin) of each process container is collected and logged for real-time or batch retrieval.

Change management: changes to a container's filesystem can be committed into a new image and re-used to create more containers. No templating or manual configuration required.

Interactive shell: docker can allocate a pseudo-tty and attach to the standard input of any container, for example to run a throwaway interactive shell.

Under the hood

Under the hood, Docker is built on the following components:

  • The cgroup and namespacing capabilities of the Linux kernel

  • AUFS, a powerful union filesystem with copy-on-write capabilities

  • The Go programming language

  • lxc, a set of convenience scripts to simplify the creation of linux containers.

    
por 19.05.2013 / 14:04
2

Examine os containers OpenVZ ou Linux, que implementam um ambiente pseudo-virtualizado leve com userlands exclusivos em um kernel comum.

O OpenVZ está mais maduro neste estágio.

    
por 07.02.2012 / 23:06
0

Talvez isso possa ajudá-lo: aufs : um avançado sistema de arquivos de unificação em várias camadas

Você tem seu sistema no nível inferior. Além disso, você pode montar o sistema de arquivos aufs. Modificações (escritas) são feitas apenas neste sistema de arquivos aufs, sem alterar o sistema de arquivos 'real' abaixo.

    
por 08.02.2012 / 01:46