Lingkungan linux terisolasi yang ringan

15

Saya ingin lingkungan Linux (tamu) yang terisolasi di komputer saya sehingga saya dapat mengacaukannya tanpa mengkhawatirkan tuan rumah. Misalnya menginstal banyak hal dari sumber tanpa manajemen paket, mencemari variabel lingkungan lingkungan dll, lalu menelurkan lingkungan tamu lain ketika tamu lama menjadi terlalu berantakan.

Saya sudah bersenang-senang menggunakan Virtualbox dengan linux Tinycore, tapi setidaknya cara saya menggunakannya, saya tidak berpikir overhead Virtualbox sepenuhnya diperlukan. Untuk satu hal, jika memungkinkan, saya ingin menggunakan kernel yang sama dengan host saya.

Juga, karena saya sudah menjalankan tutorial Linux From Scratch, saya belajar sedikit tentangnya chroot, yang sepertinya adalah yang saya cari. Sejujurnya, ada banyak hal yang tidak saya mengerti di LFS, chroot menjadi salah satunya. Saya akan mencoba bermain-main dengan chrootjika saya tidak begitu takut itu akan mengacaukan lingkungan saya saat ini.

Jadi saya mencari program virtualisasi yang menggunakan fakta bahwa saya menggunakan linuxbox (saya menggunakan PinguyOS btw), untuk mempercepat virtualisasi, atau referensi tentang cara menggunakan chroot sebagai taman bermain yang terisolasi.

math4tots
sumber

Jawaban:

16

Chroot adalah lingkungan yang paling ringan yang cocok untuk Anda. Ini memungkinkan Anda untuk menginstal distribusi lain (atau instalasi lain dari distribusi yang sama), dengan pengguna yang sama, dengan konfigurasi jaringan yang sama, dll. Chroot hanya menyediakan beberapa isolasi mentah pada tingkat sistem file. Menjelajahi situs ini untuk chroot mungkin membantu, jika Anda masih tidak yakin apa yang bisa dan tidak bisa dilakukan chroot.

Jika Anda mencari langkah selanjutnya, LXC sekarang termasuk dalam kernel utama. Tamu LXC (disebut wadah) memiliki sistem file, proses, dan ruang jaringan sendiri. Root di wadah juga root pada host; LXC melindungi terhadap banyak tindakan tidak disengaja oleh root tamu tetapi tidak terhadap root tamu jahat (ini adalah fitur yang direncanakan, perhatikan ruang ini ).

Teknologi lain yang agak mirip dengan LXC adalah VServer dan OpenVZ . Fitur penting yang disediakan OpenVZ tetapi tidak VServer atau LXC adalah pos pemeriksaan : Anda dapat mengambil snapshot dari mesin yang sedang berjalan dan mengembalikannya nanti. Namun kandidat lain adalah User-mode Linux , yang menjalankan sistem Linux lengkap di dalam proses yang berjalan sebagai pengguna biasa di host.

Untuk keperluan percobaan dengan instalasi OS lain, chroot baik-baik saja. Jika Anda ingin menjalankan layanan di instalasi eksperimental atau bermain dengan jaringan, pilih LXC. Jika Anda ingin snapshot, gunakan OpenVZ. Jika Anda ingin kernel yang benar-benar terpisah tetapi sedikit memori, pengguna-mode Linux. Jika Anda ingin snapshot dan kernel terpisah, gunakan VirtualBox.

Gilles 'SO- berhenti menjadi jahat'
sumber
LXC mendukung snapshot sekarang.
baptx
5

Docker membuat LXC lebih mudah digunakan:

Fitur-fitur penting

Isolasi sistem berkas: setiap wadah proses berjalan di sistem berkas root yang benar-benar terpisah.

Sumber daya isolasi : sumber daya sistem seperti cpu dan memori dapat dialokasikan secara berbeda untuk setiap wadah proses, menggunakan cgroups.

Isolasi jaringan : setiap wadah proses berjalan di namespace jaringan sendiri, dengan antarmuka virtual dan alamat IP-nya sendiri.

Copy-on-write : filesystem root dibuat menggunakan copy-on-write, yang membuat penyebaran sangat cepat, murah memori dan murah disk.

Logging : stream standar (stdout / stderr / stdin) dari setiap kontainer proses dikumpulkan dan dicatat untuk pengambilan waktu-nyata atau batch.

Ubah manajemen : perubahan pada sistem file wadah dapat dilakukan menjadi gambar baru dan digunakan kembali untuk membuat lebih banyak wadah. Tidak diperlukan konfigurasi templating atau manual.

Shell interaktif : buruh pelabuhan dapat mengalokasikan pseudo-tty dan menempel pada input standar dari wadah apa pun, misalnya untuk menjalankan shell interaktif sekali pakai.

Dibawah tenda

Di bawah kap, Docker dibangun di atas komponen-komponen berikut:

  • Kemampuan cgroup dan namespacing dari kernel Linux

  • AUFS, sistem file gabungan yang kuat dengan kemampuan copy-on-write

  • Bahasa pemrograman Go

  • lxc, satu set skrip kenyamanan untuk menyederhanakan pembuatan wadah linux.

Janus Troelsen
sumber
1
Ini tidak memberikan jawaban untuk pertanyaan itu. Untuk mengkritik atau meminta klarifikasi dari penulis, tinggalkan komentar di bawah posting mereka.
Anthon
@Anthon: Mengapa itu bukan jawaban? Diminta adalah "lingkungan Linux terisolasi (tamu)" yang "kernel yang sama dengan host saya".
Janus Troelsen
@JanusTroelsen, “Jawaban yang tidak secara mendasar menjawab pertanyaan dapat dihapus. Ini termasuk jawaban yang… hampir tidak lebih dari tautan ke situs eksternal ”- FAQ Tolong jelaskan apa yang dilakukan Docker dan apa bedanya dengan perangkat lunak serupa lainnya.
manatwork
2

Lihat ke OpenVZ atau Linux Containers, yang keduanya mengimplementasikan lingkungan pseudo-tervirtualisasi ringan dengan userlands unik pada kernel umum.

OpenVZ lebih matang pada tahap ini.

Rodger
sumber
Ya, bahkan digunakan dalam prod ... Saya merekomendasikan Xen untuk penggunaan yang lebih serius.
Aki
0

Mungkin ini dapat membantu Anda: aufs : sistem file unifikasi multi-layer canggih

Anda memiliki sistem Anda di level yang lebih rendah. Di atasnya Anda dapat memasang sistem file aufs. Modifikasi (tulis) dibuat pada sistem file aufs ini saja, tanpa mengubah sistem file 'nyata' di bawahnya.

Luis
sumber