Ambiente Linux isolato leggero


15

Voglio un ambiente Linux (guest) isolato sul mio computer che possa rovinare senza preoccuparmi dell'host. Ad esempio, installare un sacco di materiale dalla sorgente senza gestione dei pacchetti, inquinare le variabili di ambiente dell'ambiente ecc., Quindi generare un altro ambiente ospite quando il vecchio ospite diventa troppo ingombrante.

Mi sono divertito un po 'ad usare Virtualbox con Tinycore Linux, ma almeno il modo in cui lo uso, non penso che l'overhead di Virtualbox sia del tutto necessario. Per prima cosa, se possibile, vorrei usare lo stesso kernel del mio host.

Inoltre, mentre ho seguito il tutorial di Linux From Scratch, ho imparato un po 'su chroot, che sembrava che potesse essere quello che sto cercando. Ad essere sincero, in LFS ce n'erano molte che non capivo, di cui Chroot era una. Proverei a giocarci chrootse non avessi paura che possa rovinare il mio ambiente attuale.

Quindi sto cercando un programma di virtualizzazione che utilizzi il fatto che mi trovo su una linuxbox (sto usando PinguyOS btw), per accelerare la virtualizzazione o un riferimento su come usare chroot come parco giochi isolato.

Risposte:


16

Chroot è l'ambiente con il peso più leggero adatto a te. Ti permette di installare un'altra distribuzione (o un'altra installazione della stessa distribuzione), con gli stessi utenti, con la stessa configurazione di rete, ecc. Chroot fornisce solo un certo isolamento a livello di filesystem. Navigare su questo sito per chroot potrebbe essere d'aiuto, se non sei ancora sicuro di cosa chroot possa e non possa fare.

Se stai cercando il passaggio successivo, LXC è ora incluso nella linea principale del kernel. Un guest LXC (chiamato container) ha il proprio filesystem, processo e spazio di rete. Anche la radice nel contenitore è root sull'host; LXC protegge da molte azioni accidentali di una radice ospite ma non da una radice ospite dannosa (questa è una funzionalità pianificata, guarda questo spazio ).

Altre tecnologie che sono in qualche modo simili a LXC sono VServer e OpenVZ . Una caratteristica importante che OpenVZ fornisce ma non VServer o LXC sono i checkpoint : è possibile scattare un'istantanea di una macchina in esecuzione e ripristinarla in un secondo momento. Un altro candidato è User-mode Linux , che esegue un sistema Linux completo all'interno di un processo che viene eseguito come un normale utente nell'host.

Ai fini della sperimentazione con un'altra installazione del sistema operativo, chroot va bene. Se vuoi eseguire servizi nell'installazione sperimentale o giocare con la rete, scegli LXC. Se vuoi istantanee, usa OpenVZ. Se si desidera un kernel completamente separato ma un sovraccarico di memoria, utilizzare Linux in modalità utente. Se vuoi snapshot e un kernel separato, usa VirtualBox.


LXC ora supporta le istantanee.
battezzare il

5

Docker rende LXC più facile da usare:

Caratteristiche notevoli

Isolamento del filesystem : ogni container di processo viene eseguito in un filesystem di root completamente separato.

Isolamento delle risorse : le risorse di sistema come CPU e memoria possono essere allocate in modo diverso a ciascun contenitore di processo, utilizzando i cgroups.

Isolamento di rete : ogni contenitore di processo viene eseguito nel proprio spazio dei nomi di rete, con un'interfaccia virtuale e un indirizzo IP propri.

Copy-on-write : i filesystem di root vengono creati usando copy-on-write, il che rende la distribuzione estremamente veloce, economica in termini di memoria e economica del disco.

Registrazione : i flussi standard (stdout / stderr / stdin) di ciascun contenitore di processo vengono raccolti e registrati per il recupero in tempo reale o in batch.

Gestione delle modifiche: le modifiche al filesystem di un container possono essere inserite in una nuova immagine e riutilizzate per creare più container. Non è richiesta la configurazione manuale o del modello.

Shell interattiva : la finestra mobile può allocare una pseudo-tty e collegarsi all'input standard di qualsiasi contenitore, ad esempio per eseguire una shell interattiva usa e getta.

Sotto il cappuccio

Sotto il cofano, Docker è costruito sui seguenti componenti:

  • Le funzionalità di cgroup e spazio dei nomi del kernel Linux

  • AUFS, un potente filesystem sindacale con funzionalità di copia su scrittura

  • Il linguaggio di programmazione Go

  • lxc, un set di script di convenienza per semplificare la creazione di container linux.


1
Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti a un autore, lascia un commento sotto il suo post.
Anthon,

@Anthon: perché non è una risposta? Richiesto era un "ambiente Linux isolato (guest)" quello "stesso kernel del mio host".
Janus Troelsen,

@JanusTroelsen, “Le risposte che non rispondono sostanzialmente alla domanda potrebbero essere rimosse. Questo include risposte che sono ... a malapena più di un collegamento a un sito esterno ”- FAQ Spiegare cosa fa Docker e in cosa differisce da altri software simili.
arte

2

Guarda in OpenVZ o Linux Containers, entrambi i quali implementano un ambiente pseudo-virtualizzato leggero con userland uniche su un kernel comune.

OpenVZ è più maturo in questa fase.


Sì, anche usato in prod ... Raccomando Xen per usi più seri.
Aki,

0

Forse questo può aiutarti: aufs : un filesystem unificato avanzato a più livelli

Hai il tuo sistema al livello inferiore. Inoltre puoi montare il filesystem aufs. Le modifiche (scritture) sono fatte solo su questo filesystem aufs, senza cambiare il filesystem "reale" sottostante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.