Saya memiliki siswa yang menjalankan Mac dan Windows. Setiap semester, selalu ada banyak pertanyaan tentang cara menginstal alat "X". Saya ingin membuat mesin virtual Linux tunggal (saya sudah mencoba VirtualBox) dan mendistribusikan gambar. Dengan begitu, semua alat sudah diinstal sebelumnya, dan semua orang menggunakan Linux.
Pertanyaannya adalah, mengingat orang memiliki perangkat keras grafis yang berbeda, bagaimana cara kerjanya? Atau apakah itu berhasil? Dan jika ya, bagaimana cara saya mendistribusikannya? Apakah mereka harus menginstal VirtualBox, kemudian memuat beberapa file yang saya berikan kepada mereka, atau dapatkah saya membuat satu installer dengan mudah?
virtualbox
Dov
sumber
sumber
Jawaban:
Saya suka jawaban mperrin Vagrant-centric , tetapi seperti yang Anda lihat dari komentar di sana, pendapat pribadi saya adalah untuk “tetap sederhana” dan saya akan merekomendasikan ekspor sederhana dari VirtualBox OVA karena Anda telah mengkonfigurasi dan meneruskannya kepada siswa Anda .
Yang mengatakan, Anda bertanya:
Beralih ke DevOps
Saya tidak terlalu yakin apa yang Anda ajarkan atau lakukan atau apa yang Anda harapkan siswa dapatkan dari seluruh latihan ini, tetapi banyak kekhawatiran Anda yang menyimpang ke ranah DevOps (pengembangan dan operasi) dan Anda mungkin ingin untuk mempertimbangkan mencampur konsep itu ke dalam ajaran Anda.
Sekarang saya tidak berpikir seluruh konsep DevOps perlu disampaikan, tetapi dalam pikiran saya kreasi Anda dari VirtualBox OVA yang stabil yang kemudian Anda sampaikan kepada siswa dan meminta mereka untuk digunakan di mesin rumah / sekolah mereka pasti akan membuka pintu untuk pertanyaan tentang bagaimana seseorang harus berurusan dengan pengaturan perangkat keras / sistem yang berbeda dan bagaimana seseorang dapat beradaptasi.
Jadi rekomendasi saya untuk Anda adalah sangat merekomendasikan agar siswa menggunakan VirtualBox OVA yang akan Anda siapkan, tetapi juga terbuka untuk memungkinkan siswa untuk hanya menginstal alat sendiri. Naluri saya memberi tahu saya 95% —atau lebih banyak — para siswa akan dengan senang hati dan mudah menggunakan metode VirtualBox OVA, tetapi Anda tidak dapat mengharapkannya 100% sempurna.
Mungkin pada akhirnya Anda hanya perlu memiliki beberapa persyaratan dasar untuk penggunaan alat kursus dan fleksibel dalam implementasinya.
Bersikaplah Fleksibel Mengenai Cara Menggunakan Alat
Sebagai contoh, saya melakukan banyak pengembangan PHP dan melakukan administrasi sistem / DevOps terkait dengan pengembangan PHP. Dan karena saya menggunakan Mac, saya lebih suka menggunakan MAMP untuk pengembangan lokal. Tapi saya bekerja dengan pengembang yang menggunakan Linux atau Windows untuk pengembangan mereka. Heck, beberapa suka menggunakan Vagrant ditambah dengan VirtualBox untuk kebutuhan pengembangan LAMP mereka. Dan sikap saya adalah saya tidak peduli apa pengaturan OS dasar mereka. Selama versi PHP mereka sejalan dengan versi yang digunakan klien saya, saya baik-baik saja dengan apa pun.
Kadang-kadang pengembang akan menyatakan bug disebabkan karena — misalnya — kode yang saya uji pada MAMP adalah “tidak sama” dengan apa yang akan ada pada pengaturan Linux LAMP. Dan saya katakan dengan keyakinan 100%, bahwa saya selalu membuktikan bahwa masalahnya bukan basis OS melainkan coding PHP itu sendiri.
Jadi semua ini hanya untuk menyampaikan hal-hal berikut: Bersikaplah fleksibel dalam penjelasan Anda tentang penggunaan pengaturan VirtualBox kepada siswa dan jangan berharap memberi makan sendok OS untuk hanya mengakhiri semua masalah. Ini mungkin mengetuk 95% masalah Anda di luar taman, tetapi 5% sisanya harus selalu ditangani dengan cara tertentu. Jadi, lihat pengaturan VirtualBox - dan mungkin skrip Vagrant - sebagai alat yang dapat digunakan dalam gudang senjata untuk membuat hidup lebih mudah bagi sebagian orang, tetapi belum tentu solusi akhir untuk semua masalah.
sumber
Anda harus melihat ke Vagrant .
Vagrant mendukung VirtualBox dan memungkinkan Anda untuk:
Akan lebih mudah untuk berbagi satu atau banyak file teks daripada ekspor besar gambar VirtualBox. Apalagi jika Anda ingin mengelola pembaruan.
Setelah VirtualBox dan Vagrant diinstal sederhana:
Akan:
vagrant ssh
.Vagrantfile tunggal juga dapat menangani kekhususan host Windows atau Mac.
sumber
Sama sekali tidak masalah - virtualbox (dan juga setiap perangkat lunak virtualisasi lainnya ) mengemulasi adapter video sendiri (logika cirrus IIRC). Sementara file kotak virtual tradisional dibagi menjadi file yang berbeda untuk pengaturan dan penyimpanan, Anda dapat mengekspornya ke file ovf seperti yang disarankan. Jika siswa Anda dapat menginstal virtualbox atau vmware, itu seharusnya sepele. Jika tidak, mereka perlu belajar.
Menginstal virtualbox cukup sepele (dengan asumsi Anda memiliki dukungan perangkat keras).
Ada beberapa hal yang saya sarankan - pertahankan VM menjadi 32 bit (jadi Anda tidak perlu khawatir tentang dukungan VT-X pada host), menciptakan cara untuk menginstal virtualbox di 2 OS besar (windows sangat mudah, linux memerlukan beberapa langkah tambahan), dan mengimpor file OVF. Ini juga berarti jika siswa ingin menggunakan pemutar vmware atau yang sejenisnya. Gunakan NAT untuk jaringan kecuali Anda perlu menjalankan server yang dapat diakses dari luar.
Jika kinerja bukan masalah, Anda mungkin bisa menggabungkan semuanya menjadi instance QEMU (mereka dapat diatur untuk menjalankan mandiri) dan skrip startup yang sesuai. Saya akan menganggap ini sebagai pilihan terakhir .
Saya perhatikan banyak universitas benar-benar menyediakan VM dengan alat yang sesuai ( stanfords IIRC CS 50 per ini, dan merupakan kursus yang tersedia secara gratis dari edx), jadi mungkin layak untuk melihat bagaimana mereka melakukannya.
sumber
Sebagai alternatif dari sebagian besar teknologi virtualisasi, Linux (misalnya Ubuntu) dapat diinstal pada thumbdrive. Hampir setiap komputer akan mem-boot thumbdrive, dan sebagian besar penginstal modern akan mendeteksi kartu grafis / kartu jaringan pada saat boot. Jika Anda menginstal Ubuntu 32-bit, itu akan berjalan di hampir semua perangkat keras yang kemungkinan orang miliki di rumah.
Mereka mudah dibagikan, dan tidak memerlukan perangkat lunak tambahan APAPUN yang diinstal. Mereka juga dapat dengan mudah dipindahkan dari mesin ke mesin - cabut dari komputer sekolah, taruh di saku Anda. Saat Anda tiba di rumah, cukup colokkan.
Mereka dapat diperoleh dengan cukup murah (saya menyadari bahwa anggaran sekolah sangat terbatas!); tergantung pada aplikasi apa yang akan dijalankan pada mesin, 4gb harus cukup, mungkin 8gb.
sumber
Opsi lain untuk dipertimbangkan. Jika Anda tidak benar-benar khawatir mereka memiliki GUI, Anda bisa menggunakan sesuatu seperti terminal.com .
Anda dapat membuat snapshot publik Anda sendiri dan tetap menyediakannya untuk siswa Anda. Ini mirip dengan pendekatan VirtualBox, tetapi daripada menginstal VM di mesin mereka sendiri, itu di
cloudmesin orang lain.Maka yang mereka butuhkan adalah browser web yang cukup modern. Dan jika mereka tertarik, mereka dapat mengaturnya sehingga mereka dapat menggunakan SSH / Putty / etc.
Menurut angka mereka, jika siswa menggunakan instance mikro (256 MB RAM, beberapa ruang disk GB), jika mereka menjeda VM ketika mereka tidak menggunakannya akan dikenakan biaya $ 9 / tahun menjalankannya selama 8 jam / hari. Saya tidak dapat berbicara untuk terminal.com, tetapi saya curiga jika Anda menghubungi mereka, mereka mungkin dapat memberi Anda semacam diskon pendidikan.
sumber