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.

Virtuelle Maschine mit (K)ubuntu-Linux und Root

  1. Quast, April 2015, aktualisiert Oktober 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 <Strg-rechts> 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
apt-get install -y pandoc

# 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