.. VM-DA documentation master file, created by sphinx-quickstart on Fri Aug 22 17:20:40 2014. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. .. meta:: :description lang=en: VM-DA - a virtual machine for VirtualBox, based on Kubuntu 20.04 LTS, with basic software packages for computer applications in physics education. :robots: index, follow Virtuelle Maschine **VM-DA** ============================= Abstract: In der Physikausbildung werden an vielen Stellen Software-Pakete benötigt, die den Studierenden entweder in den Rechnerpools der Universität zur Verfügung gestellt werden oder die zur Installation auf eigenen Rechnern bereit stehen. Da die Rechnerausstattung der Studierenden recht inhomogen ist, bereiten Installation und Betrieb von Softwarepaketen immer wieder Probleme. Vor allem in fortgeschrittenen Kursen werden darüber hinaus Entwicklungsumgebungen benötigt, die u.\,U. vom verwendeten Betriebssystem abhängen und daher nicht allgemein zur Verfügung stehen. Einen Ausweg bieten hier Virtualisierungslösungen, die einen kompletten PC samt Betriebssystem auf einem Gastsystem als sog. "Virtuelle Maschine" emulieren. Solche Virtualisierungslösungen sind für alle aktuellen Plattformen kostenlos erhältlich. Mit Hilfe von virtuellen Maschinen kann man ohne große Eingriffe ins eigene System Erfahrungen mit anderen Betriebssystemen sammlen und neue Umgebungen testen. Außerdem können in einer virtuellen Maschine mit aller notwendigen Software Aufgaben mit dem Rechner in einer genau definierten Umgebung bearbeitet werden. In der hier beschriebenen virtuellen Maschine werden Programpakete bereit gestellt, die in den Veranstaltungen zur Rechnernutzung und Datenanalyse sowie in den physikalischen Praktika angewendet werden. .. toctree:: :maxdepth: 2 Virtuelle Maschine mit (K)ubuntu-Linux und Root ----------------------------------------------- G. Quast, April 2015, aktualisiert April 2022 Die hier vorgestellte Virtuelle Maschine basiert auf der Linux-Distribution *Ubuntu* (http://www.ubuntu.com) Vers. 22.04 mit der Desktop-Umgebung *KDE* (`kubuntu`, http://www.kubuntu.org/). Dies ist eine 64-Bit-Version, die auf aktuellen Betriebssystemen lauffähig ist. Enthalten ist eine Auswahl an Programmpaketen zur Computerausbildung und Datenanalyse, die über die Distributionsverwaltung sehr leicht erweiterbar ist. Mit dieser Virtuellen Maschine steht Studierenden eine Grundauswahl an Programmen zur Verfügung, die in den Veranstaltungen `Einführung in die Rechnernutzung in der Physik`, `Computerbasierte Datenauswertung`, `Programmieren für Physiker`, `Rechneranwendungen in der Physik`, `Moderne Methoden der Datenanalyse` und in den physikalischen Praktika zur Visualisierung und Auswertung von Messdaten benötigt werden. Damit ist eine Minimalausstattung vorhanden, die es auch erlaubt, Aufgaben in Übungen einzubinden, zu deren Lösung Softwareunterstützung benötigt wird. Insbesondere seien hier numerische Methoden in der theoretischen Physik oder Simulationen von Teilchenreaktionen und Teilchenwechselwirkungen in der Teilchenphysik genannt. Installation ------------ Die Datei *VM-DA20.7z* enthält das komprimierte Festplattenabbild einer sogenannten `virtuellen Maschine`, die nach dem Import in die unter *Windows*, *Linux* und *MacOS* verfügbare Virtualisierungssoftware VirtualBox gestartet werden kann. Hinweise zur Installation und Hilfe zu `VirtualBox` gibt es auf der Web-Seite des Herstellers (jetzt Oracle, s. http:/www.virtualbox.org). Um weitere Funktionen, insbesondere den Zugriff auf USB-Ports des Wirtssystems zu erhalten, muss auch die Erweiterung `Oracle VM VirtualBox Extension Pack` heruntergeladen und über den Menüpunkt `Preferences/Extensions` des graphischen Interfaces von VirtualBox installiert werden. Ein Weg zur Installation der virtuellen Maschine besteht darin, das komprimierte Festplattenabbild mit der freien Software `7zip` (Windows) bzw. `7z` (Linux) entpackt und als Systemplatte in eine neu erzeugte Virtuelle Maschine eingebunden werden. Als zweite, komfortablere Möglichkeit kann die Datei *VM-DA20.ova* über den Menü-Punkt ``Import Appliance`` in VirtualBox importiert werden. Diese Datei definiert die virtuelle Maschine vollständig und enthält ebenfalls das Festplattenabbild in (weniger stark) komprimierter Form sowie alle zur Konfiguration der virtuellen Maschine notwendigen Information. `VirtualBox` emuliert eine Standard-PC-Hardware, die wie ein eigenständiger PC genutzt werden kann. In der hier bereit gestellten virtuellen Maschine sind neben einer auf der `Debian`-Distribution basierenden Linux-Grundinstallation (`Ubuntu-Linux` mit `KDE`-Desktop) die Script-Sprache `Python` mit einer Anzahl an Erweiterungen wie `numpy`, `scipy` und insbesondere `matplotlib` sowie Compiler für die Programmiersprachen C und C++ enthalten. Installiert sind auch die Programme `gnuplot` und `qtiplot` zur Datenauswertung, das Programm `inkscape` zur Erstellung von Vektrografiken und das Textsatz-System `LaTex` mit der integrierten Oberfläche `kile` sowie die Büro- und Präsentationssoftware `LibreOffice`. Das professionelle Datenanalysepaket `root` (entwickelt und gepflegt am CERN) sowie darauf aufbauende Pakete zum Einsatz im Studium und insbesondere in den Praktika sind ebenfalls enthalten. Das lizenzpflichtige Programm `Mathematica` kann ebenso installiert werden, wie auch beliebige weitere Pakete, die sich bei Bedarf mit Hilfe des Ubuntu-Paketmanagers aus dem Internet nachladen und installieren lassen. Die Platte des virtuellen Rechners befindet sich in einer Container-Datei vom Typ `.vdi` bzw. `.vmdk` auf dem Wirts-Rechner (engl. `Host`). CD-Rom und USB-Geräte des Hosts sind bei installiertem Erweiterungspaket (s.o.) auch in der Virtuellen Maschine sichtbar. Das Netzwerk des Host-Rechners wird ebenfalls mitbenutzt; dazu gibt es verschiedene Optionen, die sich im Konfigurationsdialog von VirtualBox einstellen lassen: * bridged: per DHCP Protokoll holt sich die virtuelle Maschine eine eigene Internetadresse; dies ist sinnvoll bei Verwendung eines DSL-Routers. * NAT: hier wird ein eigener Router nebst DHCP-Server emuliert; die virtuelle Maschine erhält eine `private` Adresse, und bekommt Zugang zum Internet über die Internet-Adresse des Host-Rechners. Dies ist die einfachste Art, eine virtuelle Machine ins Netz zu bringen, wenn Internet auf dem Host - z.B über WLAN - eingerichtet ist. Wenn das graphische System in der Virtuellen Maschine gestartet ist, kann per Mausklick zwischen dem Fenster der Virtuellen Maschine und den Fenstern des Wirts-Systems gewechselt werden. Eventuell sind Maus- und Tastatur-Fokus in der virtuellen Maschine gefangen; durch Drücken der Taste können sie befreit werden; dies ist nicht nötig, wenn (wie bei der vorliegenden virtuellen Maschine) die passenden Treiber in der virtuellen Maschine bereits installiert sind. Nach dem Start des Linux-Systems kann man sich zunächst als Benutzer *ubuntuuser* mit Passwort *praktikantIn* anmelden. Im Verzeichnis ``DatenAnalyse`` finden sich einige Anleitungen und Beispieldateien, insbesondere Tutorial in Form von jupyter Notebooks und eine Einführung in das Datenanalysepaket `root`. Eingabe von ``jupyter-lab`` startet einen Web-Browser zur Ausführung der jupyter-Notebooks im Verzeichnis *DatenAnalyse/jupyter/*. Das am CERN entwickelte und gepflegte Framework Root zur Datenauswertung startet nach Eingabe des Befehls ``root`` in ein Terminalfenster. Eingabe von ``root -l`` vermeidet das Erscheinen des Begrüßungsfensters. **Tipps:** 1. Die virtuelle Maschine ist mit einem Speicher von 3000 MB konfiguriert, die sie natürlich vom Gastsystem zur Verfügung gestellt bekommt. Sollte das Gastsystem weniger als ca. 4 GB Speicher haben, kann es sein, dass die virtuelle Maschine nicht startet. In diesem Fall sollte der Speicher der virtuellen Maschine reduziert werden. Auf modernen Systemen mit 8 Gigabytes an Hauptspeicher kann der Speicher der virtuellen Maschine auch problemlos größer gewählt werden. Sie können über die Einstellungen auch die Zahl der CPU-Kerne erhöhen, die der virtuellen Maschine vom Wirtssystem zur Verfügung gestellt werden. 2. Noch eine Besonderheit von Ubuntu: falls für Konfigurationsänderungen oder die Installation von Zusatzsoftware oder Updates Administrator-Rechte gebraucht werden, fragt Ubuntu nach einem Passwort; dies ist das Passwort des Installations-Users, in diesem Fall also das Passwort des Nutzers "ubuntuuser". 3. Nach der ersten Anmeldung in der virtuellen Maschine sollten Sie mindestens das Passwort ändern, um die Maschine für sich selbst zu personalisieren. Mit Hilfe der Systemsteuerung unter dem Menüpunkt ``Systemverwaltung/Benutzer und Gruppen`` kann auch ein neuer Nutzer, z.B. mit Ihrem eigenen Namen, angelegt werden. Damit die vorinstallierten Beispiele weiter funktionieren, sollten Sie die Dateien aus dem Verzeichnis "/home/ubuntuuser" in das Verzeichnis des neu angelegten Nutzers kopieren. Details zur Konfiguration ------------------------- The basis is `kubuntu 22.04 LTS`; additionally installed packages are included in the script install_packages.sh as shown here:: #!/bin/bash # # script install_packages.sh to install packages for data analysis # #python packages apt-get install -y python3-pip apt-get install -y python3-numpy apt-get install -y python3-scipy apt-get install -y python3-matplotlib apt-get install -y python3-qt5 apt-get install -y python3-pandas # latex apt-get install -y texlive apt-get install -y texlive-latex-extra apt-get install -y texlive-math-extra apt-get install -y texlive-science apt-get install -y texlive-lang-english apt-get install -y texlive-lang-german apt-get install -y cm-super # for latex in matplotlib apt-get install -y dvipng apt-get install -y kile apt-get install -y git # misc. apt-get install -y inkscape apt-get install -y gnuplot apt-get install -y qtiplot # install kafe pip3 install --upgrade pip pip3 install setuptools pip3 install iminuit pip3 install kafe2 pip3 install uncertainties pip3 install PhyPraKit pip3 install jupyterlab pip3 install vector # Root from CERN binaries ##cd Downloads ##wget https://root.cern/download/root_v6.26.02.Linux-ubuntu20-x86_64-gcc9.4.tar.gz ##cd /usr/local; sudo tar -xvzf ~/Downloads/root_v6.24.06.Linux-ubuntu20-x86_64-gcc9.3.tar.gz ###rm ~/Downloads/root_v6.24.06.Linux-ubuntu20-x86_64-gcc9.3.tar.gz # CERN Root via snap sudo snap install root-framework # return to user home directory cd Optionally, other packages under /usr/local, e.g different versions of root or the event generator PYTHIA, can be included. Dateien zum Download -------------------- Dateien zum Download finden sich unter dem folgenden Link: `http://www.etp.kit.edu/~quast/VM-DaA `_