Saya seorang TA untuk kursus pemrograman dan ditugaskan untuk membuat gambar mesin virtual berdasarkan Ubuntu 14.04 LTS dengan semua perangkat lunak yang diperlukan (untuk pengembangan C ++ dan Python) telah terinstal sedemikian rupa sehingga para siswa semua memiliki sistem virtual yang sama yang berjalan dan kami menghindari kesulitan untuk membuat semuanya bekerja pada berbagai mesin dan sistem operasi yang berbeda. Kami bermaksud untuk menggunakan Virtual Box sebagai perangkat lunak host VM karena itu gratis dan tersedia lintas platform.
Naif, saya hanya akan menggunakan image disk Ubuntu 14,04 LTS, jalankan di Virtual Box saya, instal ke virtual hard disk (VDI), buat akun "pelajar" dengan kata sandi yang telah ditentukan, instal semua perangkat lunak yang diperlukan, tutup semua ke mesin virtual dan mendistribusikan file VDI. Kami akan meminta setiap siswa untuk mengimpor VDI ke Virtual Box, menjalankannya dan mengatur akun pribadi mereka (atau cukup gunakan akun siswa default).
- Apakah prosedur di atas layak?
- Apa perangkap yang harus diwaspadai? Kita perlu ini menjadi bukti yang sangat bodoh. Kami mengharapkan lebih dari 80 siswa dan hanya empat TA, sehingga kami tidak dapat memberikan dukungan individu.
- Apakah ada kerugian menggunakan HDD virtual tipe VDI yang dialokasikan secara dinamis?
- Apakah saya boleh menginstal Penambahan Tamu Kotak Virtual langsung dari kelelawar atau apakah melakukan sesuatu yang khusus untuk host?
- Apakah ada cara yang lebih elegan untuk menangani pembuatan akun pengguna? Idealnya, Ubuntu akan menempatkan mereka melalui panduan pembuatan akun dan meminta mereka mengatur kata sandi mereka (serta menambahkannya ke file sudoers) saat pertama kali mereka mem-boot gambar. Ini bukan prioritas. Saya kira memiliki akun default baik-baik saja.
sumber
Jawaban:
Sementara pertanyaan ini agaknya berdasarkan opini:
Ya, prosedur ini layak - saya percaya ini akan mencapai apa yang Anda cari dan ini adalah sesuatu yang telah saya lakukan di masa lalu dengan distribusi linux lainnya.
Satu-satunya perangkap nyata adalah sekitar jarak disk ... pastikan bahwa mesin siswa Anda memiliki ruang disk yang cukup untuk menangani ukuran Disk Virtual. Selain itu, pastikan Anda menyimpan salinan secara offline di setidaknya satu mesin sehingga Anda dapat menggunakan disk templat / referensi untuk membuat ulang disk dengan cepat ketika seorang siswa membunuh mesin mereka.
Kerugian dari disk dinamis adalah bahwa OS host harus terus mengalokasikan semakin banyak ruang disk sebagai VM tumbuh dengan data / pembaruan. Ini memiliki overhead kinerja yang dapat menjadi sakit kepala di kali - terutama jika Anda menjalankan pada VM bertenaga rendah (daya mesin Host dikurangi daya yang digunakan untuk memperluas disk cenderung membuat VM sedikit ketinggalan) .. itu juga berpotensi membuat lalu tidak dapat dibawa-bawa (tidak semua mesin di lab Anda mungkin memiliki 100GB + setelah seorang siswa mengacaukan VM mereka)
Addons tamu bukan mesin khusus. Mereka cukup banyak driver. Ketika Anda mengimpor VM ke host baru, driver VM akan mendeteksi dan men-tweak perangkat keras Anda untuk bekerja pada host baru.
Pembuatan pengguna yang elegan - tidak yakin, mungkin skrip yang berjalan pada peluncuran pertama dan meminta pengguna untuk membuat akun baru sebelum skrip dirusak sendiri? Saya akan melakukan penggalian dan kembali kepada Anda ketika saya punya waktu 5 menit.
Semoga ini setidaknya sebagian membantu.
sumber
Menjawab pertanyaan Anda dengan tepat, jika Anda perlu menyesuaikan VM dan memberikan VM VirtualBox yang dapat dikirimkan, saya sarankan menggunakan Packer untuk mengemas VM dengan semua dependensi yang diperlukan. Itu dibangun hanya untuk tujuan ini dan memungkinkan Anda untuk memutar gambar dari ISO , melakukan ketentuan apa pun yang Anda inginkan terhadap gambar itu, dan kemudian membuat gambar VM VirtualBox yang dapat disampaikan. Ini juga baik untuk Anda karena ia mendokumentasikan dengan tepat apa yang dilakukan pada hasil jika Anda ingin mereproduksi / menambahkan sesuatu ke dalamnya. Selain itu, Anda dapat memeriksa proyek ke sistem kontrol sumber dan membuat perubahan. Berikut ini contoh yang dilakukan untuk membantu Anda memulai.
Namun, jika Anda ingin mereka berjalan dengan cepat, saya sarankan menggunakan Vagrant dan mendistribusikan kepada siswa Anda sebuah Vagrantfile yang melakukan penyediaan yang diinginkan yang Anda butuhkan pada gambar Ubuntu standar . Ini memiliki beberapa keunggulan:
Berikut ini adalah contoh Vagrantfile yang menunjukkan bagaimana melakukan beberapa penyediaan pada gambar Ubuntu 14.04.
sumber
Sangat layak. Alternatifnya adalah Vagrant, Wayang, Koki atau sesuatu yang serupa untuk membangun VM dari awal tapi itu banyak pekerjaan untuk pengaturan.
Tim pengembang di salah satu situs saya melakukan hal yang sama untuk membuat pengembang baru cepat dan berjalan.
1 akun yang sudah ditentukan sebelumnya (dengan sudo-hak) pada gambar dan dokumen instruksi singkat dengan langkah-langkah yang harus mereka ambil untuk membuat akun pribadi mereka.
Harap dicatat: Anda kemungkinan besar membutuhkan akses jaringan / internet di dalam VM. Itu bisa dijembatani atau disatukan ke host. Apa pun yang Anda pilih, Anda harus menginstruksikan siswa Anda cara mengonfigurasi sisi host ini. Atur saja NIC di dalam VM sebagai perangkat DHCP. Itu adalah titik awal yang aman untuk sebagian besar konfigurasi, bahkan jika pengguna nanti harus secara manual mengkonfigurasi alamat IP statis.
Memasukkan alamat IP statis di VM benar-benar meminta masalah. Sudah pasti sedang digunakan oleh VM lain untuk online pada LAN yang sama ...
sumber