Ich habe Schüler mit Mac und Windows. In jedem Semester gibt es viele Fragen zur Installation des Tools „X“. Ich möchte eine einzelne virtuelle Linux-Maschine erstellen (ich habe VirtualBox ausprobiert) und das Image verteilen. Auf diese Weise sind alle Tools vorinstalliert und alle verwenden Linux.
Die Frage ist, wie dies funktioniert, wenn die Leute unterschiedliche Grafikhardware haben. Oder geht das? Und wenn ja, wie verteile ich es? Müssen sie VirtualBox installieren und dann eine Datei laden, die ich ihnen gebe, oder kann ich einfach ein einzelnes Installationsprogramm erstellen?
virtualbox
Dov
quelle
quelle
Antworten:
Ich mag die Vagrant-zentrierte Antwort von mperrin , aber wie Sie aus den Kommentaren dort ersehen können, ist meine persönliche Meinung, „es einfach zu halten“, und ich würde einen einfachen Export einer VirtualBox-OVA empfehlen, wie Sie sie konfiguriert haben und an Ihre Schüler weitergeben .
Das heißt, Sie fragen dies:
DevOps werden
Ich bin mir nicht sicher, was Sie unterrichten oder tun oder was Sie von Ihren Schülern erwarten, um aus dieser ganzen Übung herauszukommen, aber viele der Bedenken, die Sie äußern, kehren in den Bereich von DevOps (Entwicklung und Betrieb) zurück und möchten vielleicht zu erwägen, dieses Konzept in Ihre Lehren zu mischen.
Jetzt glaube ich nicht, dass das gesamte Konzept von DevOps vermittelt werden muss, aber in meinen Augen würde Ihre Schaffung einer stabilen VirtualBox-OVA, die Sie dann an die Schüler weitergeben und sie zur Verwendung auf ihren Heim- / Schulmaschinen auffordern, definitiv eine Tür öffnen Fragen, wie man mit verschiedenen Hardware- / System-Setups umgeht und wie man sie anpassen könnte.
Ich empfehle Ihnen daher dringend , den Schülern die Verwendung der von Ihnen eingerichteten VirtualBox OVA zu empfehlen. Sie können den Schülern jedoch auch die Möglichkeit geben, Tools einfach selbst zu installieren. Mein Bauch sagt mir, dass 95% - oder mehr - der Schüler die VirtualBox OVA-Methode gerne und problemlos verwenden würden, aber Sie können nicht erwarten, dass sie zu 100% perfekt ist.
Vielleicht sollten Sie am Ende nur einige grundlegende Anforderungen für die Verwendung der Kurstools haben und flexibel in deren Implementierung sein.
Seien Sie flexibel in Bezug auf die Verwendung von Werkzeugen
Zum Beispiel mache ich viel PHP-Entwicklung und mache Systemadministration / DevOps im Zusammenhang mit PHP-Entwicklung. Und da ich auf einem Mac bin, bevorzuge ich die lokale Entwicklung mit MAMP . Aber ich arbeite mit Entwicklern zusammen, die Linux oder Windows für ihre Entwicklung verwenden. Zum Teufel, manche nutzen Vagrant in Verbindung mit VirtualBox für ihre LAMP-Entwicklungsanforderungen. Und meine Einstellung ist mir egal, wie ihr Basis-Betriebssystem eingerichtet ist. Solange ihre PHP-Version mit den Versionen übereinstimmt, die meine Kunden verwenden, bin ich mit allem in Ordnung.
Gelegentlich gibt ein Entwickler an, dass ein Fehler verursacht wurde, weil beispielsweise Code, den ich auf MAMP getestet habe, "nicht der gleiche" ist wie bei einem Linux-LAMP-Setup. Und ich sage mit 100% iger Sicherheit, dass ich immer bewiesen habe, dass es nicht um das Basis-Betriebssystem, sondern um die PHP-Codierung selbst geht.
Das alles soll im Grunde Folgendes vermitteln: Erklären Sie den Schülern flexibel, wie ein VirtualBox-Setup verwendet wird, und rechnen Sie nicht damit, dass das Füttern eines Betriebssystems alle Probleme einfach beendet. Es könnte 95% Ihrer Probleme aus dem Park werfen, aber die verbleibenden 5% müssen immer auf irgendeine Weise angegangen werden. Betrachten Sie ein VirtualBox-Setup - und vielleicht ein Vagrant-Skript - als ein Tool, das in einem Arsenal verwendet werden kann, um einigen das Leben zu erleichtern, aber nicht unbedingt die endgültige Lösung für alle Probleme.
quelle
Sie sollten einen Blick auf Vagrant werfen .
Vagrant unterstützt VirtualBox und ermöglicht Ihnen Folgendes:
Es ist viel einfacher, einzelne oder mehrere Textdateien gemeinsam zu nutzen, als ein umfangreicher Export von VirtualBox-Bildern. Vor allem, wenn Sie Updates verwalten möchten.
Sobald VirtualBox und Vagrant installiert sind, haben Sie folgende Möglichkeiten:
Wille:
vagrant ssh
.Eine einzelne Vagrant-Datei kann auch Besonderheiten von Windows- oder Mac-Hosts verarbeiten.
quelle
Es spielt überhaupt keine Rolle - virtualbox (und jede andere Virtualisierungssoftware) emuliert einen eigenen Videoadapter (IIRC Cirrus Logic). Während die herkömmliche VirtualBox-Datei für Einstellungen und Speicherung in verschiedene Dateien aufgeteilt ist, können Sie sie wie vorgeschlagen in eine OVF-Datei exportieren. Wenn Ihre Schüler virtualbox oder vmware installieren können, sollte dies trivial sein. Wenn nicht, müssen sie lernen.
Die Installation von virtualbox ist ziemlich einfach (vorausgesetzt, Sie haben Hardware-Unterstützung).
Ich würde ein paar Vorschläge machen: Behalten Sie die 32-Bit-Version der VM bei (Sie müssen sich also keine Gedanken über die VT-X-Unterstützung auf dem Host machen) und erstellen Sie eine Anleitung für die Installation von virtualbox auf den beiden großen Betriebssystemen (Windows ist unkompliziert). Linux benötigt ein paar zusätzliche Schritte) und das Importieren der OVF-Datei. Dies bedeutet auch, dass die Schüler VMware Player oder ähnliches verwenden möchten, was sie können. Verwenden Sie NAT für das Netzwerk, es sei denn, Sie müssen einen Server ausführen, auf den von außen zugegriffen werden kann.
Wenn die Leistung kein Problem darstellt, können Sie wahrscheinlich alles in einer QEMU-Instanz (die eigenständig ausgeführt werden kann) und geeigneten Startskripten bündeln. Ich würde das als letzten Ausweg betrachten.
Ich möchte darauf hinweisen, dass viele Universitäten tatsächlich eine VM mit geeigneten Tools ausstatten ( IIRC Stanfords CS 50 ist ein frei verfügbarer Kurs von edx), sodass es sich lohnen könnte, sich anzusehen, wie sie dies tun.
quelle
Als Alternative zu den meisten Virtualisierungstechnologien kann Linux (z. B. Ubuntu) auf einem Thumbdrive installiert werden. Nahezu jeder Computer bootet mit einem USB-Stick, und die meisten modernen Installationsprogramme erkennen Grafikkarten / Netzwerkkarten beim Booten. Wenn Sie ein 32-Bit-Ubuntu installieren, läuft es auf fast der gesamten Hardware, die die Leute wahrscheinlich zu Hause haben.
Sie sind einfach zu verteilen und erfordern keine zusätzliche installierte Software. Sie können auch problemlos von Maschine zu Maschine transportiert werden - ziehen Sie den Netzstecker aus der Steckdose und stecken Sie ihn in die Tasche. Wenn Sie nach Hause kommen, schließen Sie es einfach an.
Sie sind relativ billig zu haben (mir ist klar, dass das Schulbudget sehr begrenzt ist!); Je nachdem, welche Anwendung auf dem Computer ausgeführt werden soll, sollten 4 GB, möglicherweise 8 GB, ausreichen.
quelle
Eine weitere Option zu prüfen. Wenn Sie nicht wirklich besorgt sind, dass sie eine GUI haben, können Sie etwas wie terminal.com verwenden .
Sie können Ihren eigenen öffentlichen Schnappschuss erstellen und diesen einfach für Ihre Schüler verfügbar halten. Es ähnelt dem VirtualBox-Ansatz, aber anstatt die VMs auf ihrem eigenen Computer zu installieren, befindet es sich auf
demComputer eines anderenCloud-Benutzers.Dann brauchen sie nur noch einen ausreichend modernen Webbrowser. Und wenn sie interessiert sind, können sie es so einrichten, dass sie SSH / Putty / etc verwenden können.
Wenn die Schüler die Mikroinstanz (256 MB RAM, ein paar GB Speicherplatz) verwenden und die VM pausieren, wenn sie sie nicht verwenden, würde dies sie 9 US-Dollar pro Jahr kosten. Tag. Ich kann nicht für terminal.com sprechen, aber ich vermute, wenn Sie mit ihnen Kontakt aufnehmen, können sie Ihnen möglicherweise eine Art Bildungsrabatt gewähren.
quelle