Bien que cette question soit quelque peu basée sur une opinion dans une certaine mesure :
Oui, cette procédure est viable - je pense qu'elle accomplirait ce que vous recherchez et c'est quelque chose que j'ai fait dans le passé avec d'autres distributions Linux.
Le seul véritable écueil concerne l'espacement des disques... assurez-vous que les ordinateurs de vos élèves disposent de suffisamment d'espace disque pour gérer la taille du disque virtuel. Assurez-vous également de conserver une copie hors ligne sur au moins une machine afin de pouvoir utiliser le modèle/disque de référence pour recréer rapidement un disque lorsqu'un élève tue sa machine.
Les inconvénients d'un disque dynamique sont que le système d'exploitation hôte doit continuer à allouer de plus en plus d'espace disque à mesure que la machine virtuelle grandit avec les données/mises à jour. Cela a une surcharge de performances qui peut parfois être un casse-tête - surtout si vous utilisez une machine virtuelle à faible puissance (la puissance de la machine hôte moins la puissance utilisée pour étendre un disque a tendance à retarder un peu les machines virtuelles). puis non portable (toutes les machines de votre laboratoire n'ont peut-être pas plus de 100 Go une fois qu'un étudiant a modifié sa machine virtuelle)
Les addons invités ne sont pas spécifiques à la machine... ils sont à peu près un ensemble de pilotes. Lorsque vous importez la machine virtuelle dans un nouvel hôte, les pilotes de la machine virtuelle détectent et modifient votre matériel pour qu'il fonctionne sur le nouvel hôte.
Création d'utilisateur élégante - pas sûr, peut-être un script qui s'exécute au premier lancement et demande à un utilisateur de créer un nouveau compte avant que le script ne s'autodétruise ? Je vais creuser un peu et je reviens vers vous quand j'ai 5 minutes à perdre.
J'espère que cela aide au moins en partie.
Pour répondre exactement à votre question, si vous devez personnaliser la machine virtuelle et leur remettre une machine virtuelle VirtualBox livrable, je vous recommande d'utiliser Packer pour préemballer la machine virtuelle avec toutes les dépendances requises. Il est conçu uniquement dans ce but et vous permet de créer une image à partir d'un ISO, d'effectuer tout provisionnement que vous souhaitez par rapport à cette image, puis de créer une image de machine virtuelle VirtualBox livrable. C'est bon pour vous aussi car cela documente exactement ce qui a été fait pour le livrable au cas où vous voudriez le reproduire/y ajouter quelque chose. En outre, vous pouvez archiver le projet dans un système de contrôle de code source et apporter des modifications. Voici un exemple de ce qui est fait pour vous aider à démarrer.
Cependant, si vous voulez qu'ils fonctionnent rapidement, je vous recommande d'utiliser Vagrant et de distribuer à vos étudiants un Vagrantfile qui effectue le provisionnement souhaité dont vous avez besoin sur une image Ubuntu standard. Cela présente plusieurs avantages :
- Vagrant est prêt à l'emploi avec VirtualBox et s'occupera de toutes les parties difficiles pour les étudiants, telles que la configuration de dossiers partagés afin qu'ils puissent facilement copier des fichiers entre la machine virtuelle et la machine hôte, la configuration du réseau afin de permettre l'accès Internet à la box pour eux, etc. Cela vous évite également de devoir documenter/déboguer les problèmes de configuration de VirtualBox pour eux.
- Un Vagrantfile est beaucoup plus petit qu'une VM livrable. Si vous souhaitez modifier/ajouter quelque chose à la VM à mi-parcours du cours, vous n'avez pas besoin de reconstruire une nouvelle VM, donnez-leur simplement un Vagrantfile mis à jour.
- S'ils gâchent quelque chose au-delà de leur capacité à le réparer, ils peuvent à nouveau détruire/redéployer la VM sans douleur
- Un Vagrantfile montrera à vos élèves exactement ce qui a été fait à la VM afin que lorsqu'ils en viendront au point où ils comprendront suffisamment, ils pourront voir ce qui se passe sous le capot et éventuellement en tirer des leçons également.
Voici un exemple de Vagrantfile montrant comment effectuer un provisionnement sur une image Ubuntu 14.04.
Parfaitement faisable. L'alternative serait Vagrant, Puppet, Chef ou quelque chose de similaire pour construire les machines virtuelles à partir de zéro, mais c'est beaucoup de travail à configurer.
L'équipe de développement de l'un de mes sites fait de même pour que les nouveaux développeurs soient rapidement opérationnels.
1 compte prédéfini (avec droits sudo) dans l'image et un court document d'instructions avec les étapes à suivre pour créer leur compte personnel.
Remarque :vous avez probablement besoin d'un accès réseau/internet à l'intérieur de la VM. Cela peut être ponté ou NAT sur l'hôte. Quel que soit votre choix, vous devrez indiquer à vos étudiants comment configurer le côté hôte de celui-ci. Configurez simplement la carte réseau à l'intérieur de la machine virtuelle en tant que périphérique DHCP. C'est un point de départ sûr pour la plupart des configurations, même si l'utilisateur doit ensuite configurer manuellement une adresse IP statique.
Mettre une adresse IP statique dans la VM pose vraiment problème. Il est lié qu'il est déjà utilisé par une autre machine virtuelle se connectant sur le même réseau local...