Dies ist eine alte Version des Dokuments!


Linux in virtuellen Maschinen

Wie bei den Windows-VMs empfehlen wir unsere bereitgestellte Linux-Vorlage aus dem öffentlichen Austausch zu verwenden. Diese ist für den Poolbetrieb vorbereitet und muss nur noch um die von Ihnen benötigte Software erweitert werden.

Falls Sie dennoch eine eigene Linux-VM von Grund auf neu erstellen wollen, müssen Sie einige Schritte beachten.

Drucken

Bitte vergleichen Sie hierzu Druckereinrichtung in Linux-VM.

Hilfsskripte

Analog zur „openslx.exe“ in Windows-VMs werden im Poolbetrieb spezielle Skripte zur Verfügung gestellt. Diese kümmern sich im Poolbetrieb um

  • die automatische Anpassung der Auflösung
  • Einbindung von Netzlaufwerken
  • Ausführung der Startskripte

Die Skripte werden im Poolbetrieb auf dem zweiten Floppylaufwerk (/dev/fd1)

nach dem Mounten im Unterverzeichnis 'linux' zu finden1). Sie finden die jeweils aktuellste Version im Netz hier. Bitte betrachten Sie diese Skripte als Vorlagen; an Erweiterungen derselben und anderen Lösungen sind wir sehr interessiert.

Händisches Mounten aus einer im Poolsystem gebooteten VM (es wird angenommen, /mnt sei leer, Rootrechte erforderlich):

mount /dev/fd1 /mnt

… anschließend finden Sie die Skripte unter /mnt/linux und können diese, wenn gewünscht, umkopieren. Bitte lesen Sie in jedem Fall die mitgelieferte Datei linux/LIESMICH bzw. linux/README.

Die Hilfsskripte beziehen ihre Informationen aus den im Grundverzeichnis der Pseudofloppy befindlichen Dateien openslx.ini und shares.dat. Die Datei HOSTRES.TXT wird nur noch aus Kompatibilitätsgründen eine Weile mitgeführt. Stützen Sie sich nicht auf HOSTRES.TXT, wenn Sie eigene Skripte schreiben bzw. die vorhandenen erweitern.

Damit sich die Auflösung innerhalb von bwLehrpool automatisch anpassen kann, muss ein entsprechendes Skript automatisch bei der Anmeldung ausgeführt werden, welches die optimale Auflösung des verwendeten Bildschirms ermittelt und diese Auflösung anschließend setzt. Bei den Vorlagen für Windows-VMs ist dafür beispielswiese die 'openslx.exe' im Laufwerk B:\ bereits im Autostart eingetragen. Für Linux-Umgebungen ist die Herangehensweise aufgrund der Distributionsverscheidenheit ein wenig anders.

Zur Auflösungsanpassung stehen bisher zwei Möglichkeiten zur Verfügung:

  • ein Paket mit Auflösungsanpassung und nativem (innerhalb einer Linux-VM) Einhängen von Netzlaufwerken.
  • ein Skript lediglich zur, verbunden mit etwas Handarbeit: resolution_standalone

Paket Auflösungsanpassung und Netzlaufwerke

Es steht weiterhin eine Paketlösung zur Verfügung, die sowohl für die automatische Auflösungsanpassung als auch für die native Einbindung der Netzlaufwerke sorgt. Die hierzu verwendeten Skripte werden zur VM-Laufzeit von der Pseudofloppy nachgeladen; zur lokalen Installation ist nur das Skript 'vm_installer' vonnöten. Unterstützt werden systemd-basierte Distributionen; eine Lösung mit initV-/etc/init.d/-Mechanismus ist zwar teilweise inbegriffen, wird jedoch nicht mehr gewartet.

Der Ablauf stellt sich in diesem Fall wie folgt dar:

  • Das Skript 'vm_installer' erzeugt die systemd-Servicedateien 'openslx-resolution.service', 'openslx-mount.service' sowie 'openslx-umount.service' und verlinkt diese in graphical.target.wants, basic.target.wants und shutdown.target. Diese Servicedateien sorgen für das Mounten der Pseudofloppy unter /mnt/diskmount2) und starten die betreffenden Skripte resolution, mnt_shares und umnt_shares.

Dies sollte unter den derzeit vebreiteten Distributionen direkt funktionieren, so diese systemd nutzen.

Auflösungsanpassung

Das Skript resolution wartet eine gewisse Zeit auf den X-Server, paßt dessen Auflösung an, und prüft noch eine Weile, ob nach dem Userlogin (etwa von Seiten einer Desktopumgebung) evtl. eine andere, unerwünschte Auflösung gesetzt wird und korrigiert diese.

Native Einbindung Netzlaufwerke

Netzlaufwerke (Home und ggf. gemeinsame Netzlaufwerke) können über die mitgelieferten Linuxskripte nativ innerhalb Linux-VMs ein- und ausgebunden werden, wenn die hierzu notwendigen Angaben vom Grundsystem übermittelt werden.

Sie können überprüfen, wie (Home-)Netzlaufwerke eingebunden werden, wenn Sie den Wert „remapMode“ in der Datei openslx.ini im Grundverzeichnis der gemounteten Pseudofloppy /dev/fd1 betrachten:
  • 0 = Nichts tun.
  • 1 = Home nativ, also innerhalb der VM mounten
  • 2 = Fallback, also nativ probieren, bei Fehler VMWare-shared folder nutzen
  • 3 = VMWare-shared folder nutzen.

Bitte beachten Sie, daß Sie für den VMWare-shared folder-Mechanismus entweder die originalen VMWare-Tools benötigen, oder im Falle der open-vm-tools ein hgfs-Kernelmodul kompilieren müssen!

Die Linux-Skripte erwarten des Standarduser „student“. Sollten Sie eine andere Userkennung in Ihren Linux-VMs nutzen, müssen Sie ggf. per generischem Konfigmodul den per …/linux/includes/00-vars.inc übergebenen Wert LOCALUSER=student anpassen.

bwLehrpool-Suite-Startskript

Die bwLehrpool-Suite bietet die Möglichkeit, ein Startskript auszuführen. Dieses wird vom System auf der (Pseudo-)Diskette /dev/fd1 unter dem Namen runscript(.sh) abgelegt.

Das oben erwähnte „Paket Auflösungsanpassung, native Netzlaufwerke“ mountet diese Pseudodiskette automatisch unter /mnt/diskmount. Sie können das Skript runscript.sh dann beispielsweise einfach per .bashrc, .profile und dergleichen starten:

[ -e /mnt/diskmount/runscript.sh ] && /mnt/diskmount/runscript.sh &

… oder legen Sie einfach ein Link im passenden Autostartverzeichnis Ihrer Linuxoberfläche (Standard: ~/.config/autostart-scripts):

ln -s /mnt/diskmount/runscript.sh /home/student/.config/autostart-scripts/runscript.sh

falls Sie sicher etwas Grafisches starten wollen3).

1)
Eine Angabe, wie Sie das Floppyabbild im Clientsystem finden, dürfte wenig zielführend sein - das Abbild wird jeweils beim Start einer VM erst erstellt.
2)
/mnt/diskmount sollten Sie daher in Ihrer VM nicht für andere Zwecke anlegen.
3)
Da bekanntlich .bashrc usw. nicht immer unter X ausgeführt werden
Drucken/exportieren