私はプログラミングコースのTAであり、Ubuntu 14.04 LTSに基づいて仮想マシンイメージを作成し、必要なすべてのソフトウェア(C++およびPython開発用)がプリインストールされている)を使用して、学生全員が同じ仮想システムが実行されており、さまざまな異なるマシンやオペレーティングシステムですべてを機能させるのに苦労することはありません。VirtualBoxをホストとして使用するつもりですVMソフトウェアは無料で利用できるためクロスプラットフォーム。
単純に、私はUbuntu 14.04 LTSディスクイメージを使用し、それを仮想ボックスで実行し、仮想ハードディスク(VDI)にインストールし、事前定義されたパスワードで「学生」アカウントを設定し、必要なすべてのソフトウェアをインストールし、シャットダウンします。仮想マシンを停止し、VDIファイルを配布します。各学生にVDIをVirtual Boxにインポートして実行し、個人アカウントをセットアップするよう依頼します(またはデフォルトの学生アカウントを使用します)。
この質問はある程度の意見に基づいていますが、
はい、この手順は実行可能です-あなたが探しているものを達成するだろうと私は信じています。これは、他のLinuxディストリビューションで過去に私が行ったことです。
実際の唯一の落とし穴は、ディスクの間隔にあります...生徒のマシンに仮想ディスクのサイズを処理するのに十分なディスク領域があることを確認してください。また、テンプレート/参照ディスクを使用して、生徒がマシンを殺したときにディスクをすばやく再作成できるように、少なくとも1台のマシンでコピーをオフラインにしておいてください。
ダイナミックディスクの欠点は、VMがデータ/更新に伴って増大するにつれて、ホストOSがますます多くのディスク領域を割り当て続ける必要があることです。これには、時々頭痛の種となるパフォーマンスオーバーヘッドがあります。 -特に低電力で実行している場合VM(ホストマシンの電力からディスクを拡張するために使用される電力を差し引いたものは、VMが少し遅れる傾向があります)。学生がVMをいじったら、ラボのすべてのマシンが100GB以上になるとは限りません)
ゲストアドオンはマシン固有ではありません。これらは、ほとんどドライバーセットです。 VMを新しいホストにインポートすると、VMドライバがハードウェアを検出して調整し、新しいホストで動作するようにします。
エレガントなユーザー作成-確かに、最初の起動時に実行され、スクリプトが自動的に破棄される前にユーザーに新しいアカウントを作成するように求めるスクリプトですか? 5分空けたら、掘り返してご連絡します。
これが少なくとも部分的に役立つことを願っています。
VMを調整して配信可能なVirtualBox VMを渡す必要がある場合は、質問に正確に答えて、 Packer を使用してVMと必要な依存関係。これは、この目的のためだけに構築されており、 ISOからのイメージ を起動し、そのイメージに対して必要なプロビジョニングを実行して、成果物のVirtualBox VMイメージを作成できます。これは、成果物を複製したり、何かを追加したりする場合に備えて、成果物に対して何が行われたかを正確に文書化するため、あなたにとっても良いことです。また、プロジェクトをソース管理システムにチェックインして、変更を加えることもできます。 ここに例があります 開始するために行われていることの==。
ただし、すぐに実行したい場合は、 Vagrant を使用して、 標準のUbuntuイメージ で必要なプロビジョニングを実行するVagrantfileを生徒に配布することをお勧めします。これにはいくつかの利点があります。
これが Vagrantfileの例 であり、Ubuntu 14.04イメージでプロビジョニングを行う方法を示しています。
完全に実現可能です。代わりの方法は、Vagrant、Puppet、Chef、またはVMをゼロから構築するための同様のものですが、これはセットアップするのに多くの作業です。
私のサイトの1つにある開発チームも同じようにして、新しい開発者をすばやく稼働させています。
画像内の1つの事前設定済みアカウント(Sudo権限付き)、および個人用アカウントを作成するために実行する必要のある手順が記載された短い説明文書。
注意:ほとんどの場合、VM内でネットワーク/インターネットアクセスが必要です。これは、ホストにブリッジするか、NATすることができます。どちらを選択するかにかかわらず、ホスト側の構成方法を生徒に指示する必要があります。 NIC内部にVM DHCPデバイスとして設定します。これは、ユーザーが後で静的IPを手動で構成する必要がある場合でも、ほとんどの構成にとって安全な出発点です。住所。
VMに静的IPアドレスを入力すると、本当に問題が発生します。他のVM同じLAN上...