Hochschule Darmstadt - Fachbereich Informatik Fachschaft des Fachbereiches Verwendung der bereitgestellten Virtuellen Maschinen »Einrichten einer Virtuellen Maschine mittels VirtualBox, Einführung in Netbeans, sowie Zugriff auf UServ zur zentralen Daten-Speicherung« erstellt von Jeróme Weißmüller, B.Sc. Maximilian Madl, B.Sc. unter Verwendung von Unterlagen von Marcel Schreeck, M.Sc. Bei Fragen oder Anregungen: {jerome.weissmueller,maximilian.madl}@stud.h-da.de Link zur virtuellen Maschine und zur aktuellsten Version dieser Anleitung: http://images.fbihome.de/ Inhaltsverzeichnis 1 VirtualBox 1.1 Einführung und Voraussetzungen . . . . . . . 1.1.1 Was ist eine Virtuelle Maschine ? . . . 1.1.2 Was sind die Voraussetzungen für eine 1.2 Beziehen von VirtualBox . . . . . . . . . . . . 1.3 Installation auf Windows Clients . . . . . . . 1.4 Installation auf MAC OS X Clients . . . . . . 1.5 Installation auf Linux Clients . . . . . . . . . 1.6 Nutzen des Images der Fachschaft . . . . . . . . . . . . . . 3 3 3 3 4 4 5 5 5 2 Netbeans 2.1 Erstellung eines C++ Projektes in Netbeans . . . . . . . . . . . . . . . . . . . . . . 8 8 3 UServ 3.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 2 . . . . . . . . . . . . . . . . . . . . . . . . Virtuelle Maschine ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 VirtualBox Einführung und Voraussetzungen In diesem Abschnitt soll eine kurze Einführung in Virtuelle Maschinen stattfinden, außerdem werden die Voraussetzungen genannt die benötigt werden um das Beispiel Gastsystem »Xubuntu 14.04 LTS« auf dem eigenen Rechner betreiben zu können. 1.1.1 Was ist eine Virtuelle Maschine ? In der Virtualisierung kompletter Rechnersysteme wird vereinfacht ausgedrückt zwischen zwischen zwei Systemen unterschieden. Dem »Host System« und dem »Gast System«, das Host System ist das Computer System, welches auf dem Lokalen Computer installiert ist. Das Gast System ist das Computer System, welches vom Host System »Emuliert« wird. Der Software, welche auf dem Gast System ausgeführt wird, kann so vorgetäuscht werden, dass ein mit der Software Kompatibles System benutzt wird. Dabei kann das Host System in der Lage sein, Hardware zu Emulieren, welche nicht vorhanden ist. Als Software für diese Hardware Emulation wird in diesem Fall das Tool »VirtualBox« von Oracle verwendet. 1.1.2 Was sind die Voraussetzungen für eine Virtuelle Maschine ? Ihr Host System (gemeint ist der PC oder MAC den Sie verwenden) sollte eine gewisse Leistung aufbringen um eine Virtuelle Maschine starten zu können. Bedenken Sie, dass die Virtuelle Maschine zusätzlich zu Ihren bereits installierten Betriebssystem ausgeführt wird. Es empfiehlt sich wenn ihr Host System über einen Zwei- oder Mehrkern Prozessor verfügt, zudem sollte der Verfügbare Arbeitsspeicher mindestens 2 Gigabyte groß sein. Zudem muss eine Virtuelle Festplatte auf dem Host System angelegt werden, diese wurde auf eine Größe von 10 Gigabyte festgelegt. Da Sie auf dem Gast System Programmieren möchten, sollte zudem die Bildschirmgröße beachtet werden, zwar kann auf einem 10 Zoll Netbook/Tablet ein solches System betrieben werden, jedoch leidet die Bedienung und die Übersicht auf kleinen Monitoren erheblich. 3 1.2 Beziehen von VirtualBox Unter der Internet Adresse https://www.virtualbox.org/wiki/Downloads kann die Software bezogen werden. Wählen Sie die aktuelle Version von VirtualBox für das von Ihnen verwendete Host System aus. Auf das sogenannte Extension Pack kann verzichtet werden. Sollte das von Ihnen verwendete System eine Linux Maschine sein, muss die Software von https://www.virtualbox.org/wiki/Linux_Downloads bezogen werden. Hier können Sie die entsprechende Linux Distribution auswählen. 1.3 Installation auf Windows Clients Nachdem der Download abgeschlossen ist führen Sie die Anwendung aus und folgen Sie dem Installationsassistenten. Die Installation muss als Administrator durchgeführt werden, zudem kann es vorkommen, dass zusätzliche Treiber installiert werden. Der Installation jener Treiber sollten Sie zustimmen. Während der Installation wird kurz Ihre Netzwerkverbindung unterbrochen. Es 4 empfiehlt sich, nach der Installation von VirtualBox das Host System neuzustarten, damit die benötigten Programme korrekt geladen werden können. 1.4 Installation auf MAC OS X Clients Nachdem der Download abgeschlossen ist führen Sie die Anwendung aus und ziehen das VirtualboxSymbol in den Ordner „Applications“. Nun können Sie das Programm über das Launchpad oder den Programme-Ordner starten. 1.5 Installation auf Linux Clients Am beispiel von Ubuntu wird nun die Installation von VirtualBox durchgeführt. Nachdem Sie die Anwendung für Ihre Distribution heruntergeladen haben, können Sie die Datei ausführen. Es erscheint nun der Systemeigene Paketmanager der Distribution. Jener installiert die Anwendung und verwaltet die Abhängigkeiten der Anwendung. Es ist zudem möglich das Image mittels KVM1 und QEMU zu laden. 1.6 Nutzen des Images der Fachschaft Nach der Installation von VirtualBox kann nun die Anwendung gestartet werden. Auf dem Menübildschirm werden, neben diversen Informationen, auch die Schaltflächen zur Erstellung einer neuen Virtuellen Maschine angezeigt. 1 Wenn »Kernel Virtual Maschine« installiert ist, kann mit dem Befehl »kvm -hda [Pfad zum Image] -m [Größe des Arbeitsspeichers im Megabyte] -vga vmware das Image gestartet werden 5 Mit drücken der Schaltfläche »Neu« kann mittels eines Assistenten eine neue Virtuelle Maschine erstellt werden. Im nun erscheinenden Fenster wählen Sie sich einen Namen für die Maschine und geben an, welches Betriebssystem genutzt wird. In diesem Fall ist unsere Maschine vom Typ »Linux« und die Version ist »Ubuntu (32-Bit)«. Im nachfolgenden Bildschirm wird bestimmt, wieviel Arbeitsspeicher die Virtuelle Maschine bekommen soll. Hierbei gilt, dass Maximal die Hälfte des zu Verfügung stehenden Arbeitsspeichers verwendet werden sollte. Minimal sollte das Programmieren Image 512 MB zugeteilt bekommen. Im nächsten Schritt soll eine Festplatte zum Speichern der Daten erstellt werden. Hier kann unter »Vorhandene Festplatte wählen« die bereitgestellte Festplatte verwendet werden. Mit einem Klick auf erzeugen ist die Virtuelle Maschine Erstellt. 6 Im Anschluss erscheint die VM in der linken Leiste von VirtualBox und steht zur Auswahl bereit. Ist die VM durch eine Auswahl blau hinterlegt, kann Sie durch einen Klick auf die »Start« Schaltfläche gestartet werden. Die Virtuelle Maschine ist einsatzbereit, sobald der Login-Bildschirm angezeigt wird. Hier ist es wichtig nicht den Gastbenutzer auszuwählen, sondern der Benutzer pg. Das Passwort dieses Benutzers lautet ebenfalls pg. 7 2 Netbeans Die hier verwendete Entwicklungsumgebung ist Netbeans in der Version 8. Netbeans steht unter einer Open Source Lizenz und lässt sich über ein Plugin-System um beliebige Funktionalitäten erweitern. 2.1 Erstellung eines C++ Projektes in Netbeans Nachdem Sie Netbeans das erste mal in der Virtuellen Maschine gestartet haben erscheint folgendes Fenster auf Ihrem System. Um ein neues Projekt zu beginnen gehen Sie auf »File« → »New Project«. Im nun folgenden Assistenten wählen Sie nun zuerst um welche Art von Projekt es sich handelt. Es ist möglich in diversen Programmiersprachen wie z.B. Java ein Projekt zu erstellen. In unseren Konkreten Fall wählen Sie als Kategorie C++ und als Project eine »C/C++ Application«. 8 Als nächsten Schritt wählen Sie einen Namen für das Projekt und geben an wo das Projekt gespeichert werden soll. Wenn Sie die Virtuelle Maschine verwenden wird Standardmäßig das Projekt im Ordner »/home/pg/NetbeansProjects/PROJEKTNAME« gespeichert Mit dem Klick auf »Finish« beenden Sie den Projekterstellungsassistenten und es wird das Projekt geöffnet. 9 Nun kann mit dem Programmieren von Anwendungen begonnen werden. Als wichtigste Werkzeuge zu beginn der Entwicklung dienen folgende Schaltflächen. Der erste Schalter lässt das geschriebene Programm übersetzen. Etwaige Syntax Fehler werden direkt im Output Feld der Entwicklungsumgebung angezeigt. Die Zweite Schaltfläche Übersetzt das Programm und löscht vorher die bereits erstellten Objektdateien (Weitere Informationen zu Objektdateien erhalten Sie in der Programmieren Vorlesung). Die dritte Schaltfläche übersetzt das Programm und führt es - sofern es Erfolgreich übersetzt wurde - direkt aus. Die Ausgabe der Anwendung erhalten Sie im Output Feld. Die Vierte und letzte Schaltfläche ist der sog. Debugger. Jener übersetzt das Programm, führt es in einer Debug Version aus und es kann dadurch Schrittweise durch die Anwendung geschaltet, Werte von Variablen zur Laufzeit geändert oder die Befehlsreihenfolge verändert werden. Hierzu muss das Projekt im Debug-Modus gestartet werden. Um an zu beobachtenden Stellen automatisch anzuhalten werden Breakpoints gesetzt. Dazu muss die entsprechende Codezeile angewählt werden und links daneben auf die Zeilennummerierung geklickt werden. Nun sollte ein rotes Viereck erscheinen. Wenn diese Stelle im Code aufgerufen wird, wird das Programm pausiert und der Entwickler kann die Befehle per Hand durch gehen. Die Debug-Leiste bietet dafür einige Funktionen. Sie muss über den Menüpunkt »View« den Unterpunkt »Toolsbars« aufrufen, um die Debug-Leiste zu aktivieren. Das Rote Viereck stoppt die Ausführung des Programms, der Kreispfeil startet das Programm erneut. Auch im laufenden Code 10 kann Beispielsweise bei Endlosschleifen mit dem Pause-Knopf pausiert werden; auch gibt es die Möglichkeit das Programm weiter normal auszuführen; das 5. Symbol führt einzelne Codezeilen aus, springt aber in keine der Funktionen rein; um in die Funktion einzutauchen gibt es das 6. Symbol. Hier können dann tieferliegende Funktionen debuggt werden; Stepout beendet die gerade aktive Funktion und pausiert eine Ebene höher, also nach dem Aufruf der aktuellen Funktion; Run to Cursor führt den Code bis zur Position des Cursors im Texteditor aus. 11 3 UServ 3.1 Einführung UServ stellt die Zentrale Authentifizierung der Labor-Benutzerkonten im Fachbereich Informatik dar. Über UServ wird die Anmeldung an Laborrechnern abgewickelt, und über UServ sind die eigenen Dateien an jedem Labor PC im Fachbereich verfügbar. Innerhalb der hier verwendeten Maschine wurde ebenfalls eine UServ-Anbindung realisiert, sodass es möglich ist seine Dateien direkt von der VM aus auf dem Benutzeraccount zu speichern, der später im Labor verwendet wird. Außerdem ist es über die UServ-Anbindung möglich auf bereits erstelle Dateien zuzugreifen. Der UServ Account beginnt im Falle von z.B. Max Mustermann mit istmamust. Es handelt sich hier um den sogenannten „ist“Account, dessen Passwort über das OBS2 festgelegt wird. 3.2 Verwendung Um Daten auf bzw. von der Userv zu kopieren führen Sie die Anwendung »Userv« auf dem Desktop ihrer Ubuntu Maschine aus. Sie bekommen ein kleines Fenster mit der Aufforderung ihren „ist“Account einzugeben. Nachdem auf »Connect« gedrückt wurde, erscheint ein neues Fenster, welches Verlangt das Passwort einzugeben. Es wird empfohlen das Passwort nicht zu speichern. Wenn der Benutzername und das Passwort richtig eingeben wurde, erscheint ein Dateibrowser mit Ihren Daten aus dem Userv. 2 Online Belegsystem des Fachbereiches Informatik : https://obs.fbi.h-da.de/ 12 Nun können Sie Ihre Daten mit der Userv austauschen. Beachten Sie, dass Sie nur Temporär mit dem Userv Verbunden sind, das Arbeitsverzeichnis von Netbeans oder anderen Programmen sollte auf der Virtuellen Maschine liegen und die Userv Verbindung lediglich zum Datenaustausch verwendet werden. 13