Ambiente ligero aislado de Linux

15

Quiero un entorno Linux aislado (invitado) en mi computadora que pueda estropear sin preocuparme por el host. Por ejemplo, instale muchas cosas desde la fuente sin administración de paquetes, contamine las variables de entorno del entorno, etc., y luego genere otro entorno de invitado cuando el invitado anterior esté demasiado abarrotado.

Me he divertido un poco usando Virtualbox con Tinycore linux, pero al menos la forma en que lo uso, no creo que la sobrecarga de Virtualbox sea completamente necesaria. Por un lado, si es posible, me gustaría usar el mismo núcleo que mi host.

Además, al leer el tutorial de Linux From Scratch, aprendí un poco sobre lo chrootque parecía ser lo que estaba buscando. Sin embargo, para ser sincero, había muchas cosas que realmente no entendía en LFS, y que Chroot era una de ellas. Intentaría jugar chrootsi no tuviera tanto miedo de que pueda arruinar mi entorno actual.

Entonces, estoy buscando un programa de virtualización que use el hecho de que estoy en un linuxbox (estoy usando PinguyOS por cierto), para acelerar la virtualización, o una referencia sobre cómo usar chroot como un patio de juegos aislado.

math4tots
fuente

Respuestas:

16

Chroot es el entorno de peso más ligero que podría adaptarse a usted. Le permite instalar otra distribución (u otra instalación de la misma distribución), con los mismos usuarios, con la misma configuración de red, etc. Chroot solo proporciona un aislamiento bruto a nivel del sistema de archivos. Explorar este sitio en busca de chroot podría ayudar, si aún no está seguro de lo que chroot puede y no puede hacer.

Si está buscando el siguiente paso, LXC ahora está incluido en la línea principal del núcleo. Un invitado LXC (llamado contenedor) tiene su propio sistema de archivos, proceso y espacio de red. La raíz en el contenedor también es raíz en el host; LXC protege contra muchas acciones accidentales por parte de una raíz invitada pero no contra una raíz maliciosa invitada (esta es una característica planificada, observe este espacio ).

Otras tecnologías que son algo similares a LXC son VServer y OpenVZ . Una característica importante que ofrece OpenVZ pero no VServer o LXC son los puntos de control : puede tomar una instantánea de una máquina en ejecución y restaurarla más tarde. Otro candidato es Linux en modo Usuario , que ejecuta un sistema Linux completo dentro de un proceso que se ejecuta como un usuario normal en el host.

Con el fin de experimentar con otra instalación de sistema operativo, chroot está bien. Si desea ejecutar servicios en la instalación experimental o jugar con redes, elija LXC. Si desea instantáneas, use OpenVZ. Si desea un núcleo completamente separado pero poca sobrecarga de memoria, use Linux en modo Usuario. Si desea instantáneas y un núcleo separado, use VirtualBox.

Gilles 'SO- deja de ser malvado'
fuente
LXC admite instantáneas ahora.
baptx
5

Docker hace que LXC sea más fácil de usar:

Características notables

Aislamiento del sistema de archivos : cada contenedor de procesos se ejecuta en un sistema de archivos raíz completamente separado.

Aislamiento de recursos : los recursos del sistema como la CPU y la memoria se pueden asignar de manera diferente a cada contenedor de procesos, utilizando cgroups.

Aislamiento de red : cada contenedor de procesos se ejecuta en su propio espacio de nombres de red, con una interfaz virtual y una dirección IP propia.

Copia en escritura : los sistemas de archivos raíz se crean usando copia en escritura, lo que hace que el despliegue sea extremadamente rápido, con poca memoria y sin disco.

Registro : las secuencias estándar (stdout / stderr / stdin) de cada contenedor de proceso se recopilan y registran en tiempo real o recuperación por lotes.

Gestión de cambios: los cambios en el sistema de archivos de un contenedor pueden confirmarse en una nueva imagen y reutilizarse para crear más contenedores. No se requieren plantillas ni configuraciones manuales.

Shell interactivo : Docker puede asignar un pseudo-tty y adjuntarlo a la entrada estándar de cualquier contenedor, por ejemplo, para ejecutar un shell interactivo desechable.

Bajo el capó

Debajo del capó, Docker se basa en los siguientes componentes:

  • Las capacidades de cgroup y namespacing del kernel de Linux

  • AUFS, un potente sistema de archivos de unión con capacidades de copia en escritura

  • El lenguaje de programación Go

  • lxc, un conjunto de scripts de conveniencia para simplificar la creación de contenedores de linux.

Janus Troelsen
fuente
1
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación.
Anthon
@Anthon: ¿Por qué no es una respuesta? Se solicitó un "entorno Linux aislado (invitado)" que "el mismo núcleo que mi host".
Janus Troelsen
@JanusTroelsen, “Las respuestas que no responden fundamentalmente a la pregunta pueden eliminarse. Esto incluye respuestas que son ... apenas más que un enlace a un sitio externo "- Preguntas frecuentes Por favor, explique qué hace Docker y en qué se diferencia de otro software similar.
manatwork
2

Busque en OpenVZ o Linux Containers, que implementan un entorno pseudo-virtualizado liviano con tierras de usuario únicas en un núcleo común.

OpenVZ es más maduro en esta etapa.

Rodger
fuente
Sí, incluso usado en productos ... Recomiendo Xen para usos más serios.
Aki
0

Tal vez esto pueda ayudarlo: aufs : un avanzado sistema de archivos de unificación de múltiples capas

Tienes tu sistema en el nivel inferior. Además, puede montar el sistema de archivos aufs. Las modificaciones (escrituras) se realizan solo en este sistema de archivos aufs, sin cambiar el sistema de archivos 'real' que se encuentra debajo.

Luis
fuente