Einführung¶
Welcome to the documentation of linuxmuster.net! This documentation describes all the important steps from installation, setting up Windows and Ubuntu computers, managing users and customizations.
Neben dieser Dokumentation steht Ihnen unsere Community und unser Telefon-Support helfend Seite. Weitere Informationen dazu finden sie auf der Website von Linuxmuster.net.
Was ist linuxmuster.net?¶
Section author: @cweikl, @MachtDochNix
Schulnetz - Komplett - Anpassbar!
- Schulnetz: Schulische IT-Infrasruktur wird mit einer vollintegrierten Open Source Lösung abgebildet. Die Lösung ist unabhängig von der eingesetzten Hardware.
- Komplett: Es werden folgende Basisdienste bereitgestellt: Benutzer-, Gruppenverwaltung, Unterrichtssteuerung, Dateiverwaltung, -verteilung, E-Mail-Funktionalität, Integration unterschiedlicher Geräte (BYOD), Selbstheilende Arbeitsstationen, vorkonfigurierter Linux-Client
- Anpassbar: Basisdienste werden vorkonfiguriert bereitgestellt, sind anpassbar und erweiterbar. Es können in einfacher Form eigene IT-Dienste bereitgestellt und integriert werden.
Was ist neu in 7.0?¶
Section author: Das Dokuteam
Linuxmuster.net 7.0 ist in großen Teilen neu geschrieben worden. Es gibt einen Upgrade-Pfad über eine Migration, da ein reguläres Update des Basissystems aufgrund der zahlreichen Veränderungen unter der Haube nicht sinnvoll ist.
Neue Funktionalitäten¶
- Verbesserte Skalierbarkeit
- Mehrschulfähigkeit: Konsolidierung mehrerer Schulinstanzen auf einem Server möglich
- Gruppenorientierte Abbildung der Schule und flexible, regelbasierte Steuerung
- Moderne Bereitstellung zusätzlicher IT-Dienste der Schule innerhalb der Schullösung
- Moderne Steuerung
- Webbasierte Steuerung der pädagogischen Funktionen in responsive Design
- Aktuelle Betriebssysteme der Server und der vorkonfiguierten, kostenlos bereitgestellten Linux-Arbeitsplätzen
Technische Neuerungen¶
- Vereinfachte Installation
- Standardmäßig bleibt linuxmuster.net eine Zwei-Serverlösung aus Firewall und Server. Optional sind ein OPSI-Verwaltungsserver und ein Dockerhost vorkonfiguriert installierbar.
- Die Installation erwartet eine vorkonfigurierte Umgebung, entweder in der jeweiligen Virtualisierungslösung oder über ein installiertes Ubuntu für den Server.
- Bedienung und Administration
- Das zentrale Verwaltungswerkzeug (Schulkonsole) wird ersetzt. SELMA (Digitale Schulnetz-Einstellungen für Lehrer Machbar Angezeigt) ist als moderne Oberfläche auch auf mobilen Geräten einsetzbar.
- Die vollständige Bedienbarkeit auf der Konsole bleibt erhalten
- Wegfall der PostGREs-Datenbank zugunsten einheitlicher Speicherung aller Daten in Samba 4 / Active Directory
- Benutzerverwaltung
- Automatische Erkennung der Kodierung der Benutzerdaten
- Session-basierte Berechtigungen für die Unterrichtsteuerung
- Gruppen können freiwählbar zusammengestellt werden
- Benutzerbezogene statt rechnerbezogene Verwaltung
- Netzwerkverwaltung
- Frei definierbar IP-Bereiche
- Standardmäßige Zugangskontrolle zum Internet über einen Proxyservice auf Single-Sign-On Basis
- OpnSense auf Basis von FreeBSD vorkonfiguriert ausgeliefert aber flexibel durch andere Firewall-Produkte zu ersetzen
Was erhalten bleibt¶
- LINBO ist weiterhin das zentrale Softwareverteilungssystem. Die größte Modernisierung hat LINBO schon mit der Version 2.3.x in linuxmuster.net 6.2 erfahren.
Bekannte Probleme¶
…
Release-Informationen früherer Versionen¶
Voraussetzungen¶
Section author: @cweikl, @Tobias
Linuxmuster.net wird als Zwei-Server-Lösung (Firewall und linuxmuster.net-Server) betrieben. Optional können weitere Server wie z.B. ein Docker-Host eingesetzt werden. Daneben gibt es mindestens eine Trennung in zwei logische Netzwerke, meist sind aber drei oder mehr Netzwerke gefordert (WLAN, DMZ, Lehrernetz). Zuguterletzt kann die linuxmuster.net bequem virtualisiert oder ohne Virtualisierung betrieben werden.
Daraus leiten sich Voraussetzungen an Hardware, Netzwerkstrukturen und Software ab, die in diesem Kapitel beleuchtet werden.
Hardware¶
Jeder der Server kann einzeln direkt auf der Hardware installiert werden. Es müssen dann die Hardware-Voraussetzungen erfüllt sein, die für die Firewall (standardmäßig OPNsense) und den Server (Ubuntu Server 18.04 LTS) ebenfalls gelten. Diese Installationsmethode eignet sich auch für im folgenden nicht explizit beschriebene Virtualisierungen.
Ohne Virtualisierung¶
OPNsense¶
OPNSense ist für x86-32 und x86-64 Bit Architekturen verfügbar und kann auf SD-Karte, SSD oder HDDs installiert werden. Als Basis nutzt OPNsense das Betriebssystem FreeBSD.
Es wird empfohlen folgende Hardware-Anforderungen zu erfüllen, um die Mehrzahl der Einsatzszenarien abzudecken:
Prozessor | ≥ 1 GHz Multi-Core CPU (64 Bit) |
RAM | ≥ 1 GB |
Installationsmethode | Video (VGA) |
Festplatte | 120 GB SSD |
NIC | mind. 2 (intern + extern), oder 3 (inter + extern + WLAN) |
Weitere Hinweise zu möglichen Hardwareanforderungen bei unterschiedlichen Einsatzszenarien finden sich hier.
Hinweise zu den Anforderungen von FreeBSD bzw. zur Kompatibilität mit eingesetzten Hardware-Komponenten finden sich unter der HCL - Hardware Compatibility List.
Ubuntu-Server lmn.v7¶
Für linuxmuster.net v7 wird als Basis Ubuntu Server 18.04 LTS eingesetzt.
Es wird empfohlen folgende Hardware-Anforderungen zu erfüllen:
Prozessor | ≥ 1 GHz Multi-Core CPU (64 Bit) |
RAM | 4 GB |
Festplatte | 250 GB - 500 GB SSD oder HDD |
Docker-Host Ubuntu-Server¶
Es wird empfohlen folgende Hardware-Anforderungen zu erfüllen:
Prozessor | ≥ 1 GHz Multi-Core CPU (64 Bit) |
RAM | 4 GB |
Festplatte | 120 GB SSD oder HDD |
OPSI auf Ubuntu-Server¶
Es wird empfohlen folgende Hardware-Anforderungen zu erfüllen:
Prozessor | ≥ 1 GHz Multi-Core CPU (64 Bit) |
RAM | 4 GB |
Festplatte | 120 GB - 250 GB SSD oder HDD |
Mit Virtualisierung¶
In der folgenden Tabelle finden Sie die Systemvoraussetzungen zum Betrieb der bereitgestellten virtuellen Maschinen (VM) für linuxmuster.net v7. Die Werte in der Spalte Default sind die voreingestellten Werte der VMs beim Import, diese Werte bilden gleichzeitig die Mindestvoraussetzungen. Festplatten- und Arbeitsspeicher der VMs müssen addiert werden, um die Gesamtanforderung zu bestimmen.
Hint
Wer mehrere Images hat, oder mehrere Sicherungen der Images vorhalten will sollte beim HDD-Speicherplatz deutlich mehr veranschlagen! Daran erinnert in der Tabelle die Zeile “Daten+Backup”.
Beispiel: Drei Images mit je 30G. Von jedem Image sollen drei Kopien vorgehalten werden, dann ist man schon bei 270G benötigtem HDD-Speicher. Dabei ist noch nicht berücksichtigt, dass auch im Verzeichnis /home Platz pro Benutzer benötigt wird. Dieser Platz ist abhängig von der Anzahl der Benutzer und der Anwendungen. Hier sollte man zwischen 500G und 1000G einplanen.
Es wird empfohlen, dass die VMs (virtuellen Maschinen) auf externen Speicher abgelegt werden (z.B. NFS-Speicher oder iSCSI-Speicher), um die Virtualisierungsumgebung ggf. bei Bedarf ausbauen zu können und auch ausfallsichere Szenarien leichter umsetzen zu können.
IP | VM | HDD | RAM | ||
---|---|---|---|---|---|
Default | Empfohlen | Default | Empfohlen | ||
10.0.0.1/16 | Server | 1.: 25GB, 2.: 100GB | 250GB+ | 4GB | 8GB+ |
/ | / | 500GB Daten+Backup | 1000GB+ | / | / |
10.0.0.2/16 | Opsi | 100B | 100GB+ | 4GB | 4GB+ |
10.0.0.3/16 | Dockerhost | 20GB | 20GB | 512MB | 512MB+ |
10.0.0.4/16 | XOA | 15GB | 15GB | 1GB | 1GB+ |
10.0.0.10/16 | Admin-PC | 15GB | 15GB | 1GB | 1GB+ |
10.0.0.254/16 | OPNsense | 10GB | 10GB+ | 1GB | 1GB+ |
Hint
Die XenOrchestra-Appliance (XOA) wird nur benötigt, wenn eine Virtualisierung mit XCP-ng erfolgen soll. Mithilfe von XenOrchestra kann die Virtualisierungsumgebung XCP-ng web-basiert verwaltet werden und es können hierüber auch sog. Enterprise-Funktionen wie z.B. Backup, Replikation etc. konfiguriert werden.
Für die Virtualisierung sollte der Host (Hypervisor) mit wenigstens drei Netzwerkkarten ausgestattet sein. Zudem sollte dieser mit 2-8 GB zusätzlichem Arbeitsspeicher und ca 20 GB weiterem Festplattenplatz für den Betrieb des Hypervisors selbst ausgestattet sein.
Bei minimaler Ausstattung (ohne Opsi, Docker und XOA) einer mittleren Schule (ca. 500 Benutzer) kann ein kleiner Server oder ein gut ausgestatteter PC ausreichend sein.
Schule | Features | HDD | RAM | ||
---|---|---|---|---|---|
Default | Empfohlen | Default | Empfohlen | ||
mittelgroß | minimal | ~650GB | 1500GB+ | 8GB | 16GB+ |
groß | normal | ~1000GB | 2000GB+ | 10GB | 16GB+ |
Netzwerkstruktur¶
Je nach Einsatzszenario kann die Netzwerkstruktur der linuxmuster.net angepasst werden. Vor der Installation sollte man über den Umfang der eingesetzten Geräte ungefähr Bescheid wissen und dementsprechend die IP-Bereiche groß wählen oder mehrere Subnetze einführen.
IP-Bereiche¶
Die linuxmuster.net-Lösung kann mit unterschiedlichen IP-Bereichen arbeiten. Standardmäßig wird das interne Netz aus dem privaten IPv4-Bereich 10.0.x.x mit einer 16-bit Netzmaske 255.255.0.0 eingerichtet.
Die virtuellen Appliances sind mit dem Netz 10.0.0.0/16 voreingestellt. Jedoch kann man sowohl die bisher in früheren Versionen von linuxmuster.net verwendeten Netze, wie 10.16.0.0/12 oder 10.32.0.0/12, usw. weiterverwenden, als auch komplett andere private Adressbereiche angeben, sollten es zwingende Gründe geben.
Jede Zeile der folgenden Tabelle stellt eine Möglichkeit dar.
Beginn IP-Bereich | Ende IP-Bereich | Server-IP | Üblich in |
---|---|---|---|
10.0.0.0 | 10.0.255.255 | 10.0.0.1 | voreingestellt in VMs von lmn-v7 |
10.16.0.0 | 10.31.255.255 | 10.16.1.1 | in linuxmuster.net ≤ 6.2 üblich |
10.32.0.0 | 10.47.255.255 | 10.32.1.1 | in linuxmuster.net ≤ 6.2 möglich |
… | … | … | … |
10.224.0.0 | 10.239.255.255 | 10.224.1.1 | in linuxmuster.net ≤ 6.2 möglich |
192.168.0.0 | 192.168.255.255 | 192.168.0.1 | nicht üblich |
Bei der Installation entscheiden Sie sich für einen der Bereiche. Liegen keine besonderen Anforderungen (z.B. Testbetrieb von linuxmuster.net in einem weiteren produktiv laufenden linuxmuster.net-System) vor, wird empfohlen den voreingestellten Bereich zu verwenden oder bei einer Migration den früheren Bereich zu behalten. Im vorliegenden Dokument enthaltene Screenshots werden immer mit einem der ersten beiden Bereiche gemacht.
Getrennte Netze und VLAN¶
Immer häufiger (z.B. durch Vorgaben vom Kultusministerium) besteht Bedarf an einer weiteren Trennung des internen Netzes in mehrere logisch von einander relativ getrennte Netze. Linuxmuster.net erlaubt sehr flexibel eine beliebige Einteilung des großen pädagogischen Netzes in Subnetze. Darüberhinaus sind komplett getrennte Netze für WLAN oder eine demilitarisierte Zone (DMZ) ohne Einschränkungen möglich.
Wer vor der Entscheidung steht, Subnetze oder VLANs einzurichten, sollte das Kapitel Netzsegmentierung mit linuxmuster.net lesen.
Aus historischen und anschaulichen Gründen verwendet die linuxmuster.net in der Dokumentation weiterhin die Farbzuordnung, die durch die Firewall-Lösung “IPFire” geprägt wurde:
- Das interne Netzwerk wird GRÜNES Netzwerk genannt (davon kann es nach Netzsegmentierung mehrere geben).
- Das externe Netzwerk wird ROTES Netzwerk genannt, es ist über einen Router mit dem Internet verbunden.
- Optional kann z.B. für WLAN-Accesspoints ein weiteres Netzwerk aufgebaut werden (BLAU/LILA), für welches andere Zugangsberechtigungen als denen im grünen Netzwerk gelten.
- Ebenso optional kann eine sog. demilitarisierte Zone (DMZ) als zusätzliches Netzwerk (ORANGE) aufgebaut werden.

Schematischer Aufbau eines Computernetzes mit linuxmuster.net.
Virtualisierung¶
Wenn man linuxmuster.net virtualisiert betreibt, gelten zu den obigen Voraussetzungen noch folgende Hinweise:
- Das Netzwerk wird virtualisiert. Dadurch werden virtuelle Switche (“bridges”) erstellt, denen die richtigen Schnittstellen zugeordnet werden müssen. Mit zusätzlichem VLAN wird die Konfiguration auf dem Hypervisor schnell komplex, die physikalische Verkabelung kann aber einfacher werden.
- Der Speicherplatz wird virtualisiert. Darauf muss man bei der Verwendung externer (iSCSI) wie interner Speichersysteme (LVM) achten. Dies kann auch zur Vereinfachung eines Backupverfahren beitragen.
- Da der VM-Host die einzelnen VMs zunächst kapselt, ist es aus Sicherheitsgründen empfehlenswert, den VM-Host nicht ins selbe Netz seiner VMs einzubinden. Außerdem wird der Zugriff auf die Daten eventuell erschwert.
Hypervisoren¶
Die Voraussetzungen für einen virtualisierten Betrieb besteht natürlich darin, vorab den Hypervisor/den VM-Host installiert zu haben und Zugriff auf dessen Verwaltung zu haben. Wo es uns möglich ist, haben wir eine Anleitung dazu geschrieben, um auf die Besonderheiten der Schulnetzumgebung an geeigneter Stelle hinzuweisen. Für alle anderen Fälle, wird im folgenden der Ablauf einer Installation skizziert.
- KVM/qemu/Proxmox als Hypervisor:
- Ausführliche Informationen findest Du im Kapitel Virtualisierung über KVM.
- Xen als Hypervisor:
- Ausführliche Informationen findest Du im eigenen Kapitel Virtualisierung mit XCP-ng.
- VMWare als Hypervisor:
fixme: anybody? - VirtualBox als Hypervisor:
- VirtualBox wird häufig als Testsystem verwendet. Die Entwicklerdokumentation beschreibt diese Konfiguration.
Software¶
Für hier beschriebene Virtualisierungsmethoden benötigt man neben der Virtualisierungssoftware noch die bereitgestellten VM-Appliances (Abbilder).
Für eine Installation direkt auf der Hardware oder einer Installation von Grund auf innerhalb (anderer) Virtualisierungen benötigt man
Checkliste¶
Nutzen Sie die Checkliste
, um alle während der
Installation gemachten Einstellungen festzuhalten. Es handelt sich um
ein PDF-Formular, Sie können es also auch am PC ausfüllen. Halten Sie
diese Checkliste bereit, wenn Sie den Telefon-Support in Anspruch
nehmen wollen.
Installation und Erstkonfiguration¶
Section author: @WildXI, @TLeibbrand
Öffne auf dem Administrations-PC mit einem Webbrowser die URL
http://10.0.0.1:8000
. Melde dich hier mit deinen root Logindaten an.

Es erscheint automatisch der Einrichtungsassistent. Die Sprache kann ausgewählt werden und die EULA muss akzeptiert werden.

Disclaimer Dialog muss akzeptiert werden
Im nächsten Dialog müssen Schulnamen und Domäne eingetragen werden.

Erste Benutzeraufnahme¶
In einer Schule müssen meist mehrere hundert bis einige tausend Schüler als Benutzer angelegt werden. Die Schulkonsole SELMA erlaubt das Einlesen aller Schülerdaten aus einer Text-Datei ein, die z.B. aus dem Schulverwaltungsprogramm der Schule bezogen wurde. Anschließend werden alle Schüler dieser Liste, die im System noch nicht vorhanden sind, angelegt, solche mit einer neuen Klasse versetzt und nicht mehr aufgeführte Schüler aus dem System gelöscht.
Melde dich als global-admin
an SELMA an. Unter LIST MANAGEMENT
kann man die ersten Lehrer anlegen oder importieren.
Schüler importieren¶
Wähle im Menüpunkt Schüler-Liste die Schaltfläche IM EDITOR ÖFFNEN.
Per Drag & Drop lässt sich eine richtig formatierte Datei nun hochladen.
fixme: | Encoding unter Schuleinstellungen festlegen, wenn man noch keine Schüler im System hat. |
---|
Rechneraufnahme mit SELMA¶
Um einen Rechner mit SELMA aufzunehmen geht man wie folgt vor:
Im Browser gibt man in der Adressleiste
https://server.linuxmuster.lan:8000
gefolgt von ENTER ein. Das
selbst signierte Zertifikat muss akzeptiert werden.
Es erscheint das abgebildete Login-Fenster:

Mit dem Benutzernamen administrator und dem dazu gehörenden Passwort loggt man sich ein.

Die WebUI sieht dann wie abgebildet aus:

In der WebUI klickt man unter Device Management auf Geräte

und dort auf “Gerät hinzu fügen”.

In die sich öffnende Zeile gibt man unter Raum den Namen des Raumes (hier r123) ein. Entsprechend verfährt man mit den Spalten “Hostname”; “Gruppe”; “MAC” und IP. Im Feld PXE wählt man aus, ob der Rechner mit Linbo synchronisiert wer- den soll (mit Linbo entspricht PXE).

Nach der Eingabe der Daten ḱlickt man auf Speichern & Importieren

Im folgenden erscheinen einige Log-Meldungen und - wenn der Import erfolgreich war - “Import abgeschlossen”

Linux Clients¶
In dieser Anleitung wird beschrieben, wie man Linux auf einer Musterarbeitsstation installiert. Ein fertig vorkonfiguriertes Abbild liegt zum Download bei linuxmuster.net bereit und kann sofort auf alle Arbeitsstationen verteilt werden.
Arbeitsstationen (“Clients”) werden in der linuxmuster.net über die Software LINBO (“GNU/Linux Network Boot”) installiert.
Alle Arbeitsschritte, die Änderungen am Server benötigen, werden an einer Serverkonsole erledigt. Alternativ können diese Arbeitsschritte auch auf dem Webinterface ausgeführt werden, wie es die Anleitung Windows 10 Clients beschreibt.
Herunterladen des Standard-Linuxclients¶
Installieren Sie auf dem Server das Paket linuxmuster-client-servertools
.
server ~ # apt-get install linuxmuster-client-servertools
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libcrypt-openssl-random-perl makepasswd
The following NEW packages will be installed:
libcrypt-openssl-random-perl linuxmuster-client-servertools makepasswd
0 upgraded, 3 newly installed, 0 to remove and 4 not upgraded.
Need to get 31.8 kB of archives.
After this operation, 239 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Rufen Sie die Liste aller verfügbaren Clientabbilder auf:
server ~ # linuxmuster-client -a list-available
Hole Liste der verfügbaren cloops...OK
Imagename Info
-----------------------------------------------
xenial-qgm Ubuntu 16.04 LTS 64Bit
trusty714 Ubuntu 14.04 LTS 64Bit
xenial916 Ubuntu 16.04 LTS 64Bit
-----------------------------------------------
Laden Sie das Abbild Ihrer Wahl (hier: xenial916) herunter mit
server ~ # linuxmuster-client -a auto -c xenial916 -H xenial
Es wird die Rechnergruppe (Hardwareklasse) xenial angelegt und mehrere Dateien werden erzeugt. Die wichtigsten sind
/var/linbo/start.conf.xenial
/var/linbo/xenial916.cloop
/var/linbo/xenial916.cloop.postsync
/var/linbo/linuxmuster-client/xenial/...
Nun kann man Clientrechner in die Rechnergruppe xenial aufnehmen.
Note
Wenn eine Datei bereits existiert, bricht das Programm zunächst
ab. Mit der Option -f
wird ein angebrochener Download
fortgesetzt und bestehende Dateien werden überschrieben, dabei
werden von /var/linbo/start.conf.xenial und
/var/linbo/linuxmuster-client/xenial jeweils automatisch Backups
erstellt.
Computer in Netzwerk aufnehmen¶
Neue Rechner werden durch direkten Eintrag in die Datei
/etc/linuxmuster/workstations
und anschließendem Aufruf von
import_workstations
aufgenommen.
Ermitteln Sie die MAC-Adresse des ersten Clients, z.B. indem Sie den Client per PXE booten.

Lesen Sie die “MAC-Adresse” im LINBO-Startbildschirm ab.
Öffnen Sie die Datei /etc/linuxmuster/workstations
auf dem Server.
server ~ # nano /etc/linuxmuster/workstations
Tragen Sie dort den Rechner ein mit folgender Syntax
Raum;Rechnername;Gruppe;MAC;IP;;;;;;PXE-Flag;
- Raum
- Geben Sie hier den Namen des Raums (z.B. r100 oder g1r100) ein. Beachten Sie bitte, dass die Bezeichnung des Raumes oder auch des Gebäudes mit einem Kleinbuchstaben beginnen muss. Sonderzeichen sind nicht erlaubt.
- Rechnername
- z.B. in der Form r100-pc01 (max. 15 Zeichen), (evtl. Gebäude
berücksichtigen g21r100-pc01) eingeben. Beachten Sie bitte, dass als
Zeichen nur Buchstaben und Zahlen erlaubt sind. Als Trennzeichen
darf nur das Minus-Zeichen
-
verwendet werden. Leerzeichen, Unterstriche oder andere Sonderzeichen (wie z.B. Umlaute, ß oder Satzzeichen) dürfen Sie hier unter keinen Umständen verwenden. - IP Adresse
- Die IP-Adresse sollte zum Raum passen und muss außerhalb des Bereichs für die Rechneraufnahme liegen. Abhängig von Ihren Netzdaten z.B. 10.16.100.1 für diesen PC eingeben, üblicherweise nicht zwischen 10.16.1.100 und 10.16.1.200 (Bereich für die Rechneraufnahme).
- Rechnergruppe
- In der Rechnergruppe, bspw. xenial werden mehrere (idealerweise alle) ähnlichen Rechner zusammengefasst, die eine (nahezu) identische Konfiguration bekommen.
Beispielkonfiguration.
r100;r100-pc01;xenial;08:00:27:57:1D:C5;10.16.100.1;;;;;;1;
Der registrierte Client wird nun mit dem Konsolenbefehl
server ~# import_workstations
ins System aufgenommen und der Rechnergruppe xenial zugewiesen. Wenn Sie mit dem zuvor heruntergeladenen Standard-Linuxclient eine Rechnergruppe xenial erstellt haben, kann nun der Rechner fertig eingerichtet werden.
Clients synchronisieren¶
Um den Client erstmalig zu partitionieren, formatieren, synchronisieren und zu starten, führen Sie auf dem Server folgenden Befehl aus
server ~ # linbo-remote -i r100-pc01 -p partition,format,initcache:torrent,sync:1,start:1
(Re-)booten Sie nun den Client und verfolgen Sie die vollautomatische Einrichtung oder trinken Sie eine Tasse Ihres Lieblingsgetränks.
Der Ubuntu-Client startet und aufgenommene Benutzer können sich nun am System anmelden.
Weitere Clients können unter Kenntnis der jeweiligen MAC-Adressen mit
derselben Methode direkt in die Datei
/etc/linuxmuster/workstations
aufgenommen werden.
Alternativ kann jeder aufzunehmende Rechner in LINBO gestartet werden und über die grafische Oberfläche von LINBO registriert werden. Dabei werden die relevanten Werte automatisch inkrementiert. Lesen Sie dazu Registration with LINBO.
Weiterführende Dokumentation¶
- Howto: Linbo
- Howto: Standardclient updaten
- Todo: are there pages in the Anwenderwiki
- Todo: are there howtos under docs.linuxmuster.net
- Todo: is there development documentation or techsheets under docs.linuxmuster.net
Migration auf linuxmuster 7.0¶
Umfang dieser Anleitung¶
Es wird nur eine Migration der Benutzerinformationen (Namen, Passwort, Projekte) und der Computerinformationen unterstützt. Die Benutzerdaten (/home), Tauschverzeichnisse, die Geräte-Abbilder (/var/linbo) und evtl. Subnetze müssen vom Netzwerkberater oder (wo möglich) von den Benutzern selbst umgezogen werden.
Voraussetzungen¶
Es muss als Quellsystem linuxmuster.net in der Version 6.2 installiert sein. Es ist sehr wahrscheinlich, dass auch ab Version 6.1 und 6.0 eine Migration funktioniert. Dies wurde nicht offiziell getestet. (Stand: Nov. 2018)
Wer eine alte paedML Linux (zwischen Version 4.0.6 und 5.1.0) besitzt, für den kann der Upgradepfad über eine Migration zu einer linuxmuster.net 6.2 eine Option sein.
Die Migration wird in die Standard-Schulinstanz default-school vorgenommen.
Vorgehen¶
- Zunächst installiert man auf dem Quellsystem (Version 6.x) das Paket sophomorix-dump installieren und die Daten exportieren (ca. 15MByte)
- Danach importiert man diese Daten auf einem Zielsystem (Version 7.0) und rekonstruiert dort Benutzer, Passwörter, Projekte und Geräte.
Linuxmuster.net aktuell halten¶
Sicherheitskritische Aktualisierungen des Ubuntu-Betriebssystems werden von Ubuntu zeitnah bereitgestellt. Gleiches gilt auch für die Firewall IPFire.
Attention
Aktualisieren Sie daher regelmäßig Ihr System.
Update des Ubuntu Servers von linuxmuster.net¶
Um die linuxmuster.net 6.x zugrunde liegende Ubuntu Version (Ubuntu Server 12.04.5 LTS 64bit) zu aktualisieren, beachten Sie bitte nachstehendes Vorgehen bzw. Hinweise.
Attention
Führen Sie Updates bitte regelmäßig manuell durch.
Keine automatischen Updates¶
Es wird ausdrücklich davon abgeraten in Ubuntu die Option
Automatische Updates
zu aktivieren, so dass
Paketaktualisierungen automatisch von dem Ubuntu-Server
heruntergeladen und installiert werden.
Ob Sie automatische Updates aktiviert haben, überprüfen Sie, in dem
Sie auf dem Server in der Datei /etc/apt/apt.conf.d/10periodic
überprüfen, ob die Option APT::Periodic::Unattended-Upgrade "1";
existiert. In diesem Fall, ändern Sie die "1"
in eine "0"
.
Melden Sie sich stattdessen besser bei der entsprechenden Mailingliste an oder abonnieren Sie entsprechenden RSS-Feed. Alle Hinweise zu Sicherheitsupdates von Ubuntu erhalten Sie unter http://www.ubuntu.com/usn/
Aktualisierungen einspielen¶
Um die Server-Installation auf den aktuellen Paketstand zu bringen, gehen Sie folgendermaßen vor:
Loggen Sie sich als User root auf einer Serverkonsole ein.
Aktualisieren Sie die Paketlisten:
# aptitude update
Installieren Sie nun Aktualisierungen und weitere Software-Pakete über das Internet:
# aptitude dist-upgrade
Es wird aufgelistet, welche Pakete aktualisiert werden. Bestätigen Sie die Aktualisierung mit der Eingabe von Y
Dieses Vorgehen stellt sich in der Konsole wie folgt dar:
Während des Aktualisierungsverlaufs fragen manchmal Pakete nach, ob eine neue Konfigurationsdatei installiert werden soll. Geben Sie
N
oder ENTER für “Beibehalten” an.Konfigurationsdatei »/etc/sudoers« ==> Geändert (von Ihnen oder von einem Skript) seit der Installation. ==> Paketverteiler hat eine aktualisierte Version herausgegeben. Wie möchten Sie vorgehen? Ihre Wahlmöglichkeiten sind: Y oder I : Die Version des Paket-Betreuers installieren N oder O : Die momentan installierte Version beibehalten D : Die Unterschiede zwischen den Versionen anzeigen Z : Eine Shell starten, um die Situation zu begutachten Der Standardweg ist das Beibehalten der momentanen Version. *** sudoers (Y/I/N/O/D/Z) [Vorgabe=N] ? N
Hinweise¶
Ubuntu bietet ein Upgrade an¶
Haben Sie sich an der Konsole des linuxmuster.net Servers angemeldet, so erhalten Sie Hinweise auf neue verfügbare Upgrades, also neue Versionen des Ubuntu-Servers.
Diese stellen sich bsp. wie folgt dar:
New release '14.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Caution
Niemals ein Release-Upgrade durchführen
Folgen Sie nicht der Empfehlung, denn linuxmuster.net ist auf die Version 12.04 LTS 64 bit angepasst, deren Support bis 2017 gewährleistet ist. Neue Versionen (ab linuxmuster.net 7) werden über ein solches Release-Upgrade bereits verfügen (Version 16.04 LTS 64 bit)
Meldung: Hardware Enablement Stack¶
Ebenso wie beim „upgrade“ wird beim Anmelden über die Kommandozeile manchmal ein nicht mehr unterstützter Kernel gemeldet:
Your current Hardware Enablement Stack (HWE) is no longer supported
since 2014-08-07. Security updates for critical parts (kernel
and graphics stack) of your system are no longer available.
For more information, please see:
http://wiki.ubuntu.com/1204_HWE_EOL
To upgrade to a supported (or longer supported) configuration:
* Upgrade from Ubuntu 12.04 LTS to Ubuntu 14.04 LTS by running:
sudo do-release-upgrade
OR
* Install a newer HWE version by running:
sudo apt-get install <kernel-version>
Attention
Führen Sie kein upgrade auf 14.04 LTS durch. Support wird von Ubuntu für 12.04, 12.04.1 und 12.04.5 (Stand: August 2014) geleistet, das bedeutet ein mit 12.04.2 installiertes System muss einen neuen Kernel bekommen. (https://wiki.ubuntu.com/1204_HWE_EOL)
Aktualisierung des Linux-Kernels¶
Um Ubuntu 12.04 LTS Server (Codename Trusty) auf einen neueren Kernel zu aktualisieren, kann das Paket linux-hwe-generic genutzt werden:
# apt-get install linux-hwe-generic
Paketlisten werden gelesen...Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen...Fertig
Die folgenden zusätzlichen Pakete werden installiert:
linux-headers-3.13.0-34 linux-headers-3.13.0-34-generic linux-headers-generic-lts-trusty
linux-image-3.13.0-34-generic linux-image-generic-lts-trusty linux-image-hwe-generic
Vorgeschlagene Pakete:
fdutils linux-lts-trusty-doc-3.13.0 linux-lts-trusty-source-3.13.0 linux-lts-trusty-tools
Die folgenden NEUEN Pakete werden installiert:
linux-headers-3.13.0-34 linux-headers-3.13.0-34-generic linux-headers-generic-lts-trusty
linux-hwe-generic linux-image-3.13.0-34-generic
linux-image-generic-lts-trusty linux-image-hwe-generic
Nach Ausführen des Befehls ist der Server neu zu starten
# reboot
Sollte aus irgendeinem Grund der neue Kernel nicht booten oder funktionieren, kann der „alte“ Kernel über das Grub-Bootmenü ausgewählt werden, solange dieser nicht deinstalliert wurde.
Sollte nach dem Neustart des Servers mit dem neu installierten Kernel dennoch die HWE-Meldung erscheinen, sollte nachstehender Befehl
# hwe-support-status --show-all-unsupported
ausgeführt werden. Die dort genannten Pakete müssen dann deinstalliert werden. Danach o.g. Befehl noch einmal abgesetzen, um sicherzugehen, dass keine weiteren Pakete den HWE-Status blockieren.
Die Datei /var/lib/update-notifier/hwe-eol
kann auch notfalls gelöscht werden.
Aktualisierung der Firewall IPFire¶
Um die Firewall von linuxmuster.net IPFire zu aktualisieren, beachten Sie bitte nachstehendes Vorgehen bzw. Hinweise.
Attention
Führen Sie Updates bitte regelmäßig manuell durch.
Skriptgesteuerte Aktualisierung vom Server aus¶
Es wird regelmäßig getestet, ob die neueren IPFire Versionen vollständig mit linuxmuster.net kompatibel sind. Um zu verhindern, dass vorschnell neue IPFire Versionen direkt nach Erscheinen installiert und so ggf. Inkompatibilitäten in Kauf genommen werden, wird das Update des IPFire vom Server aus mithilfe eines Skriptes angestossen.
Welche Version von linuxmuster.net positiv getestet wurde erfahren Sie im
Support Forum in der Kategorie Server - Firewall https://ask.linuxmuster.net/c/server/firewall
Damit das Update mithilfe des angesprochem Skiptes ausgeführt wird, müssen Sie die Datei /var/lib/linuxmuster-ipfire/maxcore
an der Server-Konsole editieren. Nach dem Speichern der Datei kann das Update gestartet werden.
Ein erfolgreicher Upgrade-Vorgang stellt sich dann so dar:
# linuxmuster-ipfire --upgrade
###################################
# linuxmuster.net: IPFire upgrade #
###################################
Passwordless ssh connection to Firewall is available.
IPFire 2.17 core 99 detected
downloading package lists ...
...package lists are up-to-date
upgrading IPFire ...
Core-update 2.19
Release: 100 -> 102
[screen is terminating]
Connection to 10.16.1.254 closed.
...upgrade was successful
Rebooting IPfire ...
Wenn ein Zwischenupdate von IPFire installert wird und hierbei ein größerer Versionssprung durchgeführt wird, ist nach dem Reboot von IPFire der Befehl erneut aufzurufen. Ebenso empfiehlt sich ein erneuter Aufruf, wenn das Upgrade nicht erfolgreich beendet wurde.
Ist das Update abgeschlossen, finden Sie nachstehende Konsolenausgabe:
# linuxmuster-ipfire --upgrade
###################################
# linuxmuster.net: IPFire upgrade #
###################################
Passwordless ssh connection to Firewall is available.
IPFire 2.19 core 102 detected
downloading package lists ...
...package lists are up-to-date
your IPFire is up-to-date
Weitere Hinweise¶
Konfiguration des IPFire vom Server aus neu setzen¶
Mit folgendem Befehl am Server konfiguriert man den IPFire neu. Es sollte zuvor aber ein Backup der IPFire-Einstellungen durchgeführt werden:
# linuxmuster-ipfire --backup
# dpkg-reconfigure linuxmuster-ipfire
Attention
Nur im Ausnahmefall anwenden. Es gehen alle eigenen Konfigurationseinstellungen des IPFire verloren.
Aktualisierung des IPFire via Konsole¶
Haben Sie eine SSH-Verbindung zum IPFire aufgebaut, können die diesen auch auf der Konsole des IPFire mithilfe der Paketverwaltung Pakfire
des IPFire durchführen.
Hierzu geben Sie nachstehende Konsolenbefehle an:
# pakfire update
# pakfire upgrade
Danach ist der IPFire neu zu starten.
Attention
Prüfen Sie vorher, ob die zu installierende Version des IPFire vollständig kompatibel zu linuxmuster.net ist. Im Forum oder über die Mailing-Liste erhalten Sie entsprechende Hinweise.
Netzwerkkonfiguration¶
linuxmuster-chilli: Ein Captive Portal für linuxmuster.net¶
linuxmuster-chilli ist ein vorbereitetes Paket, das zur Installation auf einem Ubuntu Server 12.04 32bit gedacht ist und aus diesem ein sogenanntes “Captive Portal” (bei WLAN manchmal auch Hot-Spot genannt) macht, welches eine Anmeldung von mitgebrachten Geräten wie Laptops, Smartphones, Tablets u.ä. gegen den LDAP Server der linuxmuster.net Umgebung ermöglicht.

Die Zugriffssteuerung liegt in den Händen des Netzwerkberaters und der Lehrer. Die Entscheidung, ob ein Benutzer das Netzwerk nutzen kann oder nicht, wird dabei über die Zugehörigkeit in LDAP Gruppen gesteuert. So können Zugänge fein gesteuert über Projektgruppen in der Schulkonsole vergeben werden.
Vorbereitungen¶
Verschiedene Einsatzszenarien¶
Mit Hilfe von linuxmuster-chilli kann der Netzwerkzugang von mitgebrachten Geräten über das grüne, das blaue oder das rote Netzwerk erfolgen. (Es gibt noch mehr Möglichkeiten, aber diese drei sollten die häufigsten Anwendungsfälle abdecken…)
Die Firewall IPFire bietet verschiedene Netze mit unterschiedlichen Vertrauensstellungen an, lesen Sie dazu die Netzwerkstruktur.
Zugang über das blaue Netz des IPFire¶
Das blaue Netzwerk wird überlicherweise für genau diese Aufgabe verwendet: Ein logisch getrenntes Netzwerk zu haben, dem zunächst nicht vertraut wird.
Vorteile:
- Kontrolle des Internetzugangs mit Hilfe des IPFire möglich
- Eine Lücke im Hotspot-System kann das grüne Netz nicht exponieren.
Nachteile:
- Nach der Anmeldung ist der Client nicht im grünen Netz (kein Drucken, kein Home- oder Tausch-Verzeichnis).

Zugang über das grüne Netz des IPFire¶
Vorteile:
- Nach der Anmeldung stehen alle Dienste im grünen Netz zur Verfügung
- Kontrolle des Internetzugangs mit Hilfe des IPFire möglich
Nachteile:
- Nach der Anmeldung ist der Client im grünen Netz: Eine Lücke im Hotspot-System kann das grüne Netz exponieren.

Zugang im roten Netz des IPFire (Direktzugang)¶
Vorteile:
- Kontrolle des Internetzugangs mit Hilfe des IPFire möglich
- Eine Lücke im Hotspot-System kann das grüne Netz nicht exponieren.
- Für die Anwender sind nur zwei Fälle zu dokumentieren: Am Schulrechner/am privaten Gerät.
Nachteile:
- Eine Lücke im Hotspot-System kann zu freiem Internetzugriff führen.
- Nach der Anmeldung ist der Client nicht im grünen Netz (kein Drucken, kein Home- oder Tausch-Verzeichnis).

Je nach gewähltem Szenario müssen entsprechende Einstellungen am IPFire vorgenommen werden. Im folgenden wird der Einsatz im blauen Netzwerk ausführlich dokumentiert.
IPFire-Konfiguration für den Einsatz im blauen Netz¶
Als Vorbereitung auf die Installation eines CoovaChilli-Servers müssen das Netzwerk richtig verkabelt werden und der IPFire vorkonfiguriert werden. Melden Sie sich dazu am IPFire an. Folgende Situation muss erreicht werden:
- Nur das externe Interface (im folgenden Netzdiagramm dunkelblau) des CoovaChilli-Servers muss sich im blauen Netzwerk des IPFire befinden. (Bei Virtualisierung kann diese Verbindung rein virtuell erfolgen).
- Der CoovaChilli-Server muss am IPFire mit diesem Interface für den “Zugriff auf Blau” freigeschaltet sein.
- Es muss eine Weiterleitung für LDAPs konfiguriert werden, so dass der CoovaChilli-Server den im grünen Netz stehenden linuxmuster.net-Server erreichen kann.
- Eine zweiten Netzwerkverbindung (mit physikalischer Anbindung bei Virtualisierung), an der dann die Access-Points hängen, muss geschaffen werden. Das WLAN-Interface (in den oberen Skizze hellblau, im Netzdiagramm unten lila) wird nach Installation mit den Accesspoints oder frei zugänglichen Netzwerkdosen verbunden.
Die Netzverkabelung versteht man am Besten beim Betrachten eines Beispiels eines CoovaChilli hier in einer virtualisierten Umgebung:

Important
Die folgenden Bilder zeigen wie im obigen Beispiel die Einstellungen für einen linuxmuster.net-Server im IP Bereich 10.16.*.* und dementsprechend einem blauen Netz 172.16.16.*. Gegebenenfalls muss das der eigenen Situation angepasst werden, z.B. auf 10.32.*.* und 172.16.32.*.
Darüberhinaus ist für den Endnutzer der Bereich 192.168.99.1 bis 192.168.99.255 vorgesehen. Hier kann jedes beliebige andere private, außer den bereits verwendeten, Subnetzwerk verwendet werden. Die jeweils richtigen IPs sind aber in der Regel bei den Dialogen schon voreingestellt.
1. DHCP-Server¶
Zunächst sollte sichergestellt sein, dass der DHCP Server für das blaue Interface läuft. Das ist insbesondere dann sinnvoll, wenn man neben dem CoovaChilli-Server noch weitere Clients im blauen Netzwerk hat, z.B. Schulcomputer die ohne Zugangsüberprüfung Netzwerkzugang haben sollen. Dies überprüft man im Menü des IPFire unter Netzwerk -> DHCP-Server:

Man setzt den Haken bei “Aktiviert” und speichere. Ist der
CoovaChilli-Server der einzige Rechner im blauen Netzwerk, ist man
fertig. Gibt es weitere Computer, ist es ratsam dem CoovaChilli die
erste IP-Adresse fest zu vergeben und die Anfangsadresse auf
172.16.16.2
zu setzen.
2. Zugriff auf Blau¶
Dann wechselt man auf die Seite Firewall -> Zugriff auf Blau und fügt dort die “externe” Schnittstelle/MAC des CoovaChilli-Servers hinzu.
- Quell-IP-Adresse: 172.16.16.1
- MAC-Adresse: xx:xx:xx:xx:xx:xx
- Anmerkung: coovachilli
- Aktiviert: Ja

3. Zugriff von Blau auf LDAPs zulassen¶
Zuletzt muss das DMZ Schlupfloch gebohrt werden, dazu wechselt man auf die Seite Firewall -> Firewallregeln und fügt eine neue Regel ein.
- Quelle: Standard-Netzwerk Blau
- Zieladresse: linuxmuster.net Server-IP (10.16.1.1 oder 10.32.1.1 oder …)
- Protokoll TCP, Quellport: leer, Zielport 636 für LDAPs
- Anmerkung, damit man weiß, was man gemacht hat
- Logging: optional

Schließlich “Hinzufügen” und anschließend auch noch “Änderungen übernehmen” nicht vergessen!

4. Weitere Dienste erlauben¶
Unter Firewall -> Firewallregeln müssen die zusätzlichen Dienste, die aus dem blauen Netz erlaubt werden sollen, freigeschaltet werden.
Im Beispiel unten wurde für das Protokoll https
auf den Ports 443
(Webserver), 242 (Schulkonsole) und 631 (Cups-Druckerserver) und für
das Protokoll ping
je eine Regel hinzugefügt. Für ping
muss als
Protokoll-Typ ICMP
ausgewählt werden.

Der Zugriff auf den IPFire-DNS-Server muss nicht extra erlaubt werden, auf einen anderen DNS-Server (z.B. Google - 8.8.8.8) jedoch schon.
5. Advanced Proxy für Blau aktivieren¶
Im Menü Netzwerk -> Webproxy sollte für das blaue Netz der transparente Proxy wie im grünen Netz aktiviert sein. Der Zugriff auf den Proxy muss in der Firewall nicht freigeschaltet werden.

Installation des Captive Portal Servers¶
Voraussetzungen¶
Für das Captive Portal wird ein PC oder eine virtuelle Maschine mit zwei Netzwerkkarten benötigt:
- eth0 muss die Netzwerkkarte sein, die mit dem Internet verbunden ist, je nach Einsatzszenario also z.B. grünem oder blauem Interface. Bei Virtualisierung empfiehlt sich die Einrichtung einer virtuellen Netzwerkbrücke, die man an keinen physikalischen Port binden muss (-> IPFire).
- eth1 wird nicht konfiguriert und mit dem Netzwerksegment verbunden, an dem die Clients sich später verbinden werden. Konfiguration und DHCP werden beim Start des chilli-Diensts von CoovaChilli vorgenommen.
Für eine manuelle Installation, muss ein Ubuntu-Server 14.04.4 32bit auf dem späteren Captive-Portal-Server installiert werden. Als einziges Zusatzpaket sollte bei der Softwareauswahl “ssh-server” gewählt werden.
Important
Achtung: Mit der 64bit Version funktioniert das Setup nicht.
Das Captive Portal als virtuelle Maschine herunterladen¶
Lade zunächst die virtuelle Maschine herunter:
https://www.linuxmuster.net/downloads/ova/linuxmuster-chilli.ova
Die OVA-Datei enthält eine virtuelle Appliance, auf der die komplette linuxmuster-chilli Umgebung bereits vorinstalliert ist.
Auspacken der Appliance¶
Die Appliance kann problemlos mit Virtualbox geöffnet werden. Der neuralgische Punkt ist die Konfiguration der Netzwerkkarten für die virtuelle Maschine.
Bereitstellen¶
Die Anmeldedaten für die Appliance sind
Benutzer: coovaadmin
Passwort: muster
Nach der ersten Anmeldung muss der Befehl
# linuxmuster-chilli-turnkey
ausgeführt werden. Dabei wird das Passwort des administrativen Benutzers coovaadmin geändert und ein neues SSL Zertifikat für den apache Webserver erzeugt. Anschließend wird CoovaChilli interaktiv für die Arbeit in der linuxmuster.net-Umgebung konfiguriert. Details hierzu finden sich in der Konfigurationsanleitung für linuxmuster-chilli.
CoovaChilli mit der Paketverwaltung installieren¶
Auf dem Chilli-Server muss der Repo-Schlüssel importiert werden:
# wget -q http://pkg.linuxmuster.net/linuxmuster.net.key -O - | apt-key add -
Eine neue Datei /etc/apt/sources.list.d/linuxmuster-chilli.list
anlegen und die folgende Zeile eintragen:
# linuxmuster-chilli Pakete
deb http://pkg.linuxmuster.net/ precise-chilli/
Aktualisieren der Paketliste mit
# apt-get update
Installation bzw. Update des Paketes mit
# apt-get install linuxmuster-chilli
Jetzt geht es dann weiter mit der Konfiguration von linuxmuster-chilli.
Netzwerkkonfiguration auf dem CoovaChilli-Server¶
Wenn der CoovaChilli-Server der einzige Rechner im blauen Netz ist,
kann man die Schnittstellenkonfiguration problemlos dem DHCP Server
überlassen. Die Datei /etc/network/interfaces
auf dem coovachilli
Server sieht dann folgendermaßen aus:
# This file describes the network ...
# and how to activate them. For more information, see interfaces(5).
#
# The loopback network
auto lo
iface lo inet loopback
# These interfaces are brought up automatically
auto eth0
iface eth0 inet dhcp
Ebenso kann man, sofern man den DHCP-Adressbereich geändert hat, kann man dem CoovaChilli-Server auch eine statische IP-Adresse geben, z.B.
# This file describes the network ...
# and how to activate them. For more information, see interfaces(5).
#
# The loopback network
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.16.16.1
netmask 255.255.255.0
network 172.16.16.0
broadcast 172.16.16.255
gateway 172.16.16.254
dns-nameservers 172.16.16.254
dns-search linuxmuster-net.lokal
Konfiguration von linuxmuster-chilli¶
Unabhängig davon, ob man den CoovaChilli-Server selbst auf einer Ubuntu-Basis installiert hat oder die virtuelle Appliance für Virtualbox nutzt, kann man mit dem Befehl
# dpkg-reconfigure linuxmuster-chilli
das Paket für die eigenen Bedürfnisse konfigurieren. Dieser Vorgang
wird auch durch den Befehl linuxmuster-chilli-turnkey
ausgelöst, der
die virtuelle Appliance personalisiert.
Nachfolgend werden die Schritte der Konfiguration erklärt.
Schrittweise Konfiguration¶
Adresse des LDAP-Servers¶
Zunächst muss die Adresse des LDAP-Servers angegeben werden. Der genaue Wert hängt davon ab, welches der Szenarien für den Einsatz des Captive Portals zur Anwendung kommt:
- Zugang zum grünen Netz: Interne IP-Adresse des Servers
- Zugang zum blauen Netz: Interne IP-Adresse des Servers
- Zugang zum roten Netz bzw. direkt ins Internet: Adresse oder DynDNS-Name der roten Schnittstelle des IPFire, Portweiterleitung für LDAPs (Port 636) von Rot nach Server-IP Grün muss aktiviert sein.

LDAP Suchbasis¶
Hier muss die LDAP Suchbasis des Schulservers angegeben werden,
standardmäßig dc=linuxmuster-net,dc=lokal
. Diese kann auf dem
Schulserver durch den Befehl grep basedn
/var/lib/linuxmuster/network.settings
ermittelt werden.

Passwort für den LDAP Server¶
Hier muss das Passwort zur Abfrage des LDAP Servers eingegeben werden.
Dieses kann auf dem Schulserver durch den Befehl grep rootpw
/etc/ldap/slapd.conf
ermittelt werden.

Netzwerkbereich/Netzmaske für die Clientseite des Hotspot-Servers¶
Hier muss ein privates Netzwerksegment angegeben werden. Wenn sich der CoovaChilli-Server im grünen oder blauen Netz befindet, dann kann die Vorgabe mit einem 192.168.x.x Netzwerk einfach übernommen werden. Wenn das dem Internet zugewandte Interface des CoovaChilli-Servers sich selbst in einem 192.168.x.x Netzwerk befindet (z.B. wenn es am roten Netz hängt), muss ein anderes privates Netz genommen werden.

Die Netzmaske für das Clientnetzwerk. Der Standard stellt 255x255 Adressen für Clients zur Verfügung das sollte reichen.

Nameserver¶
Hier sollten wenn möglich zwei Nameserver angegeben werden, die vom CoovaChilli-Server zur Adressauflösung verwendet werden. Die Werte hängen vom Anwendungsfall für den Hotspot ab. Man kann hier auch die Blaue IP des IPFire eintragen (z.B. 172.16.16.254). Gegebenenfalls muss aber in der Firewall noch zusätzlich eine Durchlassen-Regel zum DNS-Port 53 erstellt werden.

Zugangsgruppen¶
Nur die Mitglieder dieser Systemgruppen auf den Schulserver erhalten Zugang zum Internet. Mehrere Gruppen werden durch ein Leerzeichen getrennt.

Autologout¶
Nach welcher Zeit in Sekunden soll ein Client bei Untätigkeit automatisch abgemeldet werden? Dieser Wert wird in die Konfigurationsoption HS_DEFIDLETIMEOUT von CoovaChilli übernommen. Ein harter Logout, unabhängig von der Nutzeraktivität, der durch den Parameter HS_DEFSESSIONTIMEOUT festgelegt wird, wird durch die Konfiguration von linuxmuster-chilli nicht gesetzt, dies kann bei Bedarf manuell an anderer Stelle erfolgen.

Logging¶
Sollen alle Seitenaufrufe von der Clientseite aus für 30 Tage mitgeloggt werden? Auswahl ja oder nein. Der Datenschutz ist zu beachten. Werden die Adressen geloggt, müssen die Nutzer darüber informiert werden und dem zustimmen.

Freie Domains¶
Diese Domains können ohne Anmeldung angesurft werden. Mehrere Domains durch Komma trennen.

Überschrift der Anmeldeseite¶

SSL Zertifikat¶
Hier gibt man den Hostnamen ein, den der Server bei der Installation des Grundsystems erhalten hat.

Konfigurationsänderung¶
Die Konfiguration kann jederzeit durch Aufruf des Befehls
# dpkg-reconfigure linuxmuster-chilli
geändert werden, dabei werden die oben mit Screenshots beschriebenen Schritte erneut durchlaufen, die zuletzt vorgenommenen Konfigurationseinträge werden dabei als Vorgaben verwendet. Man fängt also stets bei seiner letzten Konfiguration an.
Logging¶
Der Hotspot loggt alle Anmeldungen und Seitenaufrufe in den Dateien:
/var/log/linuxmuster-chilli/coova-chilli.log # Anmeldungen und chilli-bezogene Meldungen
/var/log/linuxmuster-chilli/ffproxy.log # Seitenaufrufe
Die Logs werden täglich rotiert, Logs werden 30 Tage aufbewahrt und dann gelöscht.
Erweiterte Optionen für CoovaChilli¶
In der Datei /etc/chilli/userconf
können eigene Optionen für
CoovaChilli festgelegt werden. Die dort definierten Werte überschreiben
bzw. ergänzen diejenigen aus der Paketkonfiguration von
linuxmuster-chilli
Beispiel: Eine Datei /etc/chilli/userconf
mit dem folgenden Inhalt,
würde eine Clientsession unabhängig von der Aktivität des Benutzers nach
900 Sekunden beenden, so dass sich der Nutzer neu anmelden muss:
# Wenn im Radius kein Session Timeout definiert wurde, wann fliegt der Hotspot User wieder raus
HS_DEFSESSIONTIMEOUT=900 # In Sekunden
Weitere Ergänzungen finden Sie im Anwenderwiki -> Coovachilli.
linuxmuster.net Netzsegmentierung Basisanleitung¶
Im aktuellen Netzbrief des Landes Baden-Württemberg wird empfohlen, das Schulnetzwerk aus datenschutzrechtichen Erwägungen in mindestens drei Subnetze zu untergliedern: Lehrernetz, Schülernetz und Servernetz.
Sehr ausführliche Informationen, wie dies in linuxmuster.net umgesetzt werden kann finden Sie im linuxmuster.net Wiki
Diese Anleitung soll den einfachsten Spezialfall dokumentieren, das Netz in drei Segmente aufzuteilen, so dass die Vorgaben des Netzbriefs erfüllt sind.
Eine Erweiterug um weitere Subnetzbereiche, beispielsweise Klassenraumweise, ist später ohne Schwierigkeiten möglich.
Inhalt:
Vorbemerkungen¶
Geplante Zielstruktur¶
Das linuxmuster.net-Netzwerk soll unter Verwendung eines Layer3 fähigen Switches in 3 Segmente unterteilt werden.
- Servernetz, Netzwerkadressen 10.16.0.0/16
- Lehrernetz, Netzwerkadressen 10.17.0.0/16
- Schülernetz, Netzwerkadressen 10.18.0.0/16
Wie bisher ist eine Einteilung der Rechner eines Raumes im dritten Oktett problemlos möglich, z.B. alle Rechner in Raum 107 sind im Schülernetz und haben Adressen aus dem Bereich 10.18.107.x, alle Rechner des Lehrerzimmers sind im Lehrernetz und haben Adressen aus dem Bereich 10.17.120.x. Die Unterscheidung der Räume bleibt also im 3. Oktett, die Unterscheidung der Subnetze findet im 2. Oktett statt.
Für die Unterteilung werden auf den Switches VLANs eingerichtet, diese Anleitung Verwendet
- für das Servernetz die VLAN-ID 16
- für das Lehrernetz die VLAN-ID 17
- für das Schülernetz die VLAN-ID 18

Im ersten Schritt werden die in der Datei /etc/linuxmuster/workstations
verwalteten Rechner so geordnet, dass Sie in weiteren Schritten automatisch in
das richtige Subnetz einsortiert werden.
Vorbereitung der workstations-Datei¶
Zunächst bearbeitet man die Workstations-Datei derart, dass alle Rechner, die
später im Lehrernetz sein sollen, Adressen mit dem Beginn 10.17.x.x
erhalten. Rechner die sich später im Schülersegment befinden sollen Adressen
mit dem Beginn 10.18.x.x
erhalten.
Dabei ist es unerheblich, ob die Veränderungen im Serverterminal oder in der Schulkonsole vorgenommen werden.
Ausgangszustand¶
Die Rechner sind Raumweise einsortiert, beispielsweise haben alle Rechner in
Raum r120 IP-Adressen der Form 10.16.120.x
.
Die Workstations-Datei soll nun so umstrukturiert werden, dass später
- alle Rechner in Raum r120 und der Rechner rhm-ws01 im Lehrernetz sind
- alle übrigen Rechner im Schülernetz sind
Dazu ersetzt man bei den betreffenden Rechnern die Zahl im zweiten Oktett der IP-Adresse
(derzeit bei allen die 16
) durch die entsprechende Zahl für das spätere Subnetz
(17
für das Lehrernetz, 18
für das Schülernetz). Die Drucker werden dabei
ebenfalls in das entsprechende Teilnetz verlegt, hier sind später
noch weitere Anpassungen auf dem Server nötig.
r120;r120-ws01;qgm;C4:34:6B:7E:71:10;10.16.120.1;255.240.0.0;1;1;1;1;1
r120;r120-ws02;qgm;64:51:06:38:B6:6F;10.16.120.2;255.240.0.0;1;1;1;1;1
r120;r120-printer-color;printer;00:1E:0B:12:DB:78;10.16.120.202;255.240.0.0;1;1;1;1;0
r120;r120-printer-bw;printer;00:18:FE:A3:A8:60;10.16.120.203;255.240.0.0;1;1;1;1;0
r210;r210-ws01;qgm;64:51:06:38:B6:64;10.16.210.1;255.240.0.0;1;1;1;1;1
r116a;r116a-ws01;sozpaed;88:AE:1D:EF:E3:3B;10.16.6.1;255.240.0.0;1;1;1;1;0
nwt100;r100-ws01;qgm;64:51:06:43:D2:62;10.16.100.1;255.240.0.0;1;1;1;1;1
nwt100;r100-ws02;qgm;64:51:06:43:D3:21;10.16.100.2;255.240.0.0;1;1;1;1;1
nwt100;r100-ws03;qgm;64:51:06:4B:C5:78;10.16.100.3;255.240.0.0;1;1;1;1;1
prota;prota-ws07;qgm;EC:A8:6B:FE:0B:09;10.16.242.7;255.240.0.0;1;1;1;1;1
r138;r138-ws01;qgm;00:0F:FE:96:02:1E;10.16.138.1;255.240.0.0;1;1;1;1;1
r138;r138-ws02;qgm;00:0F:FE:88:15:D8;10.16.138.2;255.240.0.0;1;1;1;1;1
r138;r138-ws03;qgm;64:51:06:38:3E:FF;10.16.138.3;255.240.0.0;1;1;1;1;1
rhm;rhm-ws01;qgm;64:51:06:38:B7:AC;10.19.111.1;255.240.0.0;1;1;1;1;1
Endzustand¶
Alle Rechner die später im Lehrernetz sein sollen, haben nun Adressen der Form
10.17.x.x
, alle Rechner die später im Schülernetz sein sollen haben
Adressen der Form 10.18.x.x
.
Nun übernimmt man die Änderungen durch ausführen des Befehls
import_workstations
oder entsprechend in der Schulkonsole.
Nach dem nächsten Rechnerstart erhalten die geänderten Rechner die neuen IP-Adressen.
r120;r120-ws01;qgm;C4:34:6B:7E:71:10;10.17.120.1;255.240.0.0;1;1;1;1;1
r120;r120-ws02;qgm;64:51:06:38:B6:6F;10.17.120.2;255.240.0.0;1;1;1;1;1
r120;r120-printer-color;printer;00:1E:0B:12:DB:78;10.17.120.202;255.240.0.0;1;1;1;1;0
r120;r120-printer-bw;printer;00:18:FE:A3:A8:60;10.17.120.203;255.240.0.0;1;1;1;1;0
r210;r210-ws01;qgm;64:51:06:38:B6:64;10.18.210.1;255.240.0.0;1;1;1;1;1
r116a;r116a-ws01;sozpaed;88:AE:1D:EF:E3:3B;10.18.6.1;255.240.0.0;1;1;1;1;0
nwt100;r100-ws01;qgm;64:51:06:43:D2:62;10.18.100.1;255.240.0.0;1;1;1;1;1
nwt100;r100-ws02;qgm;64:51:06:43:D3:21;10.18.100.2;255.240.0.0;1;1;1;1;1
nwt100;r100-ws03;qgm;64:51:06:4B:C5:78;10.18.100.3;255.240.0.0;1;1;1;1;1
prota;prota-ws07;qgm;EC:A8:6B:FE:0B:09;10.18.242.7;255.240.0.0;1;1;1;1;1
r138;r138-ws01;qgm;00:0F:FE:96:02:1E;10.18.138.1;255.240.0.0;1;1;1;1;1
r138;r138-ws02;qgm;00:0F:FE:88:15:D8;10.18.138.2;255.240.0.0;1;1;1;1;1
r138;r138-ws10;qgm;64:51:06:38:3E:FF;10.18.138.99;255.240.0.0;1;1;1;1;1
rhm;rhm-ws01;qgm;64:51:06:38:B7:AC;10.17.111.1;255.240.0.0;1;1;1;1;1
Geänderte Drucker auf dem Server anpassen¶
Hat man bei der Neustrukturierung IP-Adressen von Druckern geändert, die in CUPS auf dem Server als Netzwerkdrucker eingerichtet sind, muss man dort die neue IP-Adresse anpassen, da diese Änderungen durch den erneuten Import der Arbeitsstationen nicht übernommen werden.
Am Beispiel des Druckers r120-printer-bw
wird das Vorgehen kurz dargestellt.
Dazu öffnet man die CUPS Seite auf dem Server und bearbeitet den betreffenden
Drucker - man sieht, die ursprüngliche IP-Adresse 10.16.120.203
.

Zunächst wählt man im Administrationsmenü Drucker ändern
.

Jetzt wählt man die bisherige Anschlussart, im Beispiel AppSocket/HP
JetDirect
, im nächsten Bildschirm werden dann die bisherigen Einstellungen angezeigt.

In diesem Fall, wie zu sehen socket://10.16.120.203:9100
.

Jetzt ändert man die IP-Adresse auf den neuen Wert und lässt den Rest unverändert.

Im weiteren Änderungsverlauf werden jeweils die bisherigen Einstellungen
angezeigt, die man stets übernimmt. Um die Änderungen abzuschliessen, muss man
am Ende das root
-Passwort angeben.
Auf diese Weise müssen alle zuvor geänderten Drucker auf Ihre neue IP-Adresse angepasst werden.
Vorbereitung der Switches im Netzwerk¶
In Vorbereitung auf das Subnetting sollten auf allen L2 Switches im Netzwerk
die VLANs mit den IDs 16
, 17
, und 18
angelegt werden, damit später
die Portkonfiguration aller Switches leicht passend eingestellt werden kann.
Je nachdem wie die Geräte der einzelnen Subnetze im Schulhaus verteilt sind, ist es nicht zwar unbeding notwendig, alle Subnetze auf allen Switches einzurichten, es richtet aber keinen Schaden an und vereinheitlicht das Vorgehen. Ausserdem können spätere Erweiterungen der Infrastruktur mit weniger Konfigurationsaufwand umgesetzt werden, beispielsweise wenn in einem Gebäuteteil in dem zunächst nur Schülergeräte angeschlossen waren ein Lehrerarbeitsraum eingerichtet werden soll.
Das genaue Vorgehen kann hier nicht umfassend dokumentiert werden, das es von Art und Hersteller des Switches abhängt, exemplarisch sollen folgende Beispiele stehen.
Hewlett Packard HP2650¶

Einige HP-Switches haben eine textbasierte “Menükonsole”, hier geht man prinzipiell folgendermaßen vor:
- Mit telnet/ssh auf die Switchkonsole verbinden
- Das Konfigurationsmenü öffnen
- Nach
Switch-Konfiguration
,VLAN Menu
,VLAN Names
wechseln und dort die VLans mit den IDs16
,17
und18
anlegen.



Auf diesem Switch gibt es bereits 2 VLANs (mit den IDs 2
und 3
) für andere Zwecke, diese stören nicht.

Konfiguration des L3-Switches¶
Für den Layer3-Switch Cisco SG300 stehen vorbereitete Konfigurationsdateien zur Verfügung, die eine netzbriefkonfome Grundkonfiguration auf dem Switch einspielen. Anschließemnd müssen nur noch die Switch Ports passend konfiguriert werden.
Weitere L2-Switches mit VLans anbinden¶
Umstellen des Servers auif Subnetting¶
Index¶
Unifi-WLAN-Lösung für linuxmuster.net¶
Eine WLAN-Lösung für Schulen sollte mindestens zwei WLAN-Netze aufspannen.
- Das Lehrernetz für schuleigene Geräte, wie Beamer, Laptops oder Chromecasts, und für private Geräte der Lehrer, die auf Beamer und Chromecasts zugreifen wollen.
- Das Schülernetz für Schüler.

In der hier vorgestellten Lösung kommen Accesspoints von Unifi und der kostenlose Unifi-Controller zum Einsatz.
Die Geräte im Lehrernetz werden in die Datei /etc/linuxmuster/workstations aufgenommen. Das Lehrernetz ist ein Teil des Schulnetzes. Damit können sich beispielsweise Benutzer mit einem Schullaptop per WLAN wie gewohnt anmelden und auf ihre Daten zugreifen.
Im Schülernetz müssen sich die Benutzer für das WLAN mit ihrem Benutzernamen und Kennwort anmelden. Über die Schulkonsole kann einem Schüler oder einer Gruppe von Schülern das WLAN freigeschaltet oder gesperrt werden. Eine Verwaltung der Benutzergeräte durch den Netzwerkberater entfällt.
Inhalt:
Die Netztopologie¶
Sollen 2 WLANs über einen Accesspoint (AP) ausgestrahlt werden, muss mindestens ein Netzwerk ein getaggtes VLAN sein.

Im Beispiel ist der Hypervisor (z.B. Proxmox) mit einem Netzwerkkabel mit dem Switch verbunden.
Die virtuellen Maschinen sollten somit nicht direkt mit der Netzwerkkarte des Hypervisors verbunden sein. Es muss noch zusätzlich die VLAN-ID angegeben werden.
Im Beispiel werden die Datenpakete des Unifi-Controllers mit der Nummer 16 gekennzeichnet. Man sagt getaggt.

Der Switch¶
In der hier vorgestellten Lösung wird ein Cisco SG300-10 Switch verwandt. Die Überlegungen lassen sich aber leicht auf andere Switches übertragen.
Grundsätzliches¶
Bei vielen Switches ist es unmöglich, sich komplett auszusperren. Der SG300 hat die Konfigurationsspeicher Ausgeführte Konfiguration und Startkonfiguration.
In die Ausgeführte Konfiguration werden alle Einstellungen gespeichert, die Sie vornehmen. Bei einem Neustart wird als erstes die Startkonfiguration in die Ausgeführte Konfiguration kopiert und dann die Ausgeführte Konfiguration ausgeführt.
Wenn Sie sich also mit einer Einstellung ausgeschlossen haben, starten Sie den Switch einfach neu und Sie haben den zuletzt in die Startkonfiguration gespeicherten Stand.
Sobald Sie eine Einstellung vorgenommen haben, die Sie nicht aussperrt, sehen Sie oben neben dem Benutzernamen einen Link zum Speichern der Aktuellen Konfiguration in die Startkonfiguration.

VLANs anlegen¶
Das VLAN für den Internetzugang hat die VLAN-ID 2, das Schüler-WLAN die VLAN-ID 10 und das Schulnetz die VLAN-ID 16.

Wählen Sie VLAN-Verwaltung -> VLAN-Einstellungen und klicken auf Hinzufügen.
Es öffnet sich ein Dialogfenster, mit dem Sie die VLANs hinzufügen können.

Fügen Sie die VLANs wie im Bild hinzu.

Sobald alle VLANs hinzugefügt sind, schließen Sie das Fenster. Die VLANs sollten jetzt aufgeführt sein.
Jetzt wäre ein guter Zeitpunkt, um die Ausgeführte Konfiguartion zu speichern.
Ausgeschlossen, Getaggt, Ungetaggt und PVID¶
Für jeden Switchport und für jedes VLAN muss festgelegt werden, ob das VLAN mit der VLAN-ID x ausgeschlossen, getaggt akzeptiert oder Datenpakete, die mit der VLAN-ID x getaggt sind, ungetaggt weitergeleitet werden.
- Ausgeschlossen:
- Datenpakete, die mit der VLAN-ID x getaggt sind, werden verworfen.
- Getaggt:
- Datenpakete, die mit der VLAN-ID x getaggt sind, werden weitergeleitet.
- Ungetaggt:
- Von Datenpaketen, die mit der VLAN-ID x getaggt sind, wird die VLAN-ID entfernt und zum Client weitergeleitet. Die meisten Clients können mit getaggten Datenpaketen nichts anfangen.
- PVID:
- Bie einem Port, der mit der PVID x markiert ist, werden alle ungetaggten Datenpakete des Clients mit der VLAN-ID x getaggt.
Den Ports die VLANs zuweisen¶

- Port 1:
- Der Hypervisor ist über ein Netzwerkkabel mit Port 1 des Switches verbunden. Der Port 1 ist getaggtes Mitglied der VLANs 2, 10 und 16.
- Port 2-5:
Die APs sind im Schulnetz und werden über ein ungetaggtes VLAN verwaltet. VLAN 16 ist ungetaggt und PVID ist 16.
Zusätzlich soll das Schüler-WLAN vom AP ausgestrahlt werden. Um es vom Schulnetz zu trennen, muss es getaggt am AP ankommen. VLAN 10 ist getaggt.
- Port 7-8:
- Die Clients sind nur im Schulnetz und arbeiten mit ungetaggten Datenpaketen. VLAN 16 ist ungetaggt und PVID ist 16.
- Port 9:
- Auch der Router arbeitet mit ungetaggten Datenpaketen. VLAN 2 ist ungetaggt und PVID ist 2.
- Port 10:
- Über diesen Port wird der Switch gemanaged. Er ist das einzige Mitglied des Standard VLAN 1. Damit ist der Switch weder über das WLAN noch über das Schulnetz managebar.
Schritt für Schritt¶
Wählen Sie VLAN-Verwaltung -> Port-VLAN.

In der Grundeinstellung ist für jeden Port VLAN 1 ungetaggt und PVID 1 eingestellt.
Da der Switch nur über den Port 1 verwaltet wird, verbieten Sie den Ports 1 bis 9 die Mitgliedschaft zu VLAN 1 und bestätigen anschließend mit Übernehmen. Man beachte, dass dabei PVID 1 automatisch gelöscht wird.
Nun wählen Sie die VLAN-ID 2 und klicken auf Los.

Für Port 1 wählen Sie getaggt und für Port 9 Ungetaggt. Dabei wird PVID automatisch selektiert.
Jetzt ist VLAN 10 an der Reihe.

Für die Ports 1 bis 5 wählen Sie getaggt.
Und schließlich noch VLAN 16.

Da die APs und die Clients im Schulnetz sind, sind die Ports 2 bis 8 ungetaggt und PVID ist gesetzt.
Über VLAN-Verwaltung -> Port-VLAN-Mitgliedschaft erhält man eine Zusammenfassung.

Jetzt wäre ein guter Zeitpunkt zum Speichern der Konfiguration.
Der Unifi-Kontroller¶
Inhalt:
Die Installation¶
Hardwareanforderungen¶
- 3 GB RAM
- Eine Netzwerkkarte im Schulnetz (VLAN 16)
- 10 GB Festplatte (bei mir im Schulbetrieb sind 3,3 GB vom 40 GB belegt).
Die Grundinstallation¶
Bevor die Installation begonnen werden kann, muss ein Ubuntu-Server 16.04 64-Bit auf dem späteren Unifi-Kontroller installiert werden.
Schritt für Schritt¶
Starten Sie vom Installationsmedium und wählen Sie die Sprache.

Wählen Sie Ubuntu Server installieren.
Bestätigen Sie die Installation in der gewählten Sprache.
Ist der Rechner bereits in /etc/linuxmuster/workstations, so ist der Rechnername bereits in der Eingabemaske eingetragen.

Wählen Sie einen Benutzer, seinen Benutzernamen und das Passwort.
Verschlüsseln Sie Ihren persönlichen Ordner nicht!

Wählen Sie vollständige Festplatte verwenden und bestätigen Sie die Partitionierung.

Es ist zu empfehlen, keine automatischen Aktualisierungen zu wählen, da Sie dann nicht von unerwarteten Aktualisierungen überrascht werden.

An Software gibt es nichts Besonderes zu wählen.

Beenden Sie die Installation und starten Sie den Rechner neu.
Die Installation der Unifi-Pakete¶
Der Rechner muss upgedatet, die Paketquellen müssen ergänzt und das Unifi-Paket installiert werden.
Schritt für Schritt¶
Die englische Anleitung von Unifi finden Sie hier.
Melden Sie sich an.
öffnen Sie eine root-shell mit sudo -i
Updaten Sie den Rechner mit
apt-get update
apt-get dist-upgrade
Editieren Sie die Datei /etc/apt/sources.list und fügen Sie die folgende Zeile hinzu:
deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti
Fügen Sie den GPG-key hinzu:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 06E85760C0A52C50
Nochmal updaten, unifi installieren und neu starten:
sudo apt-get update
sudo apt-get install unifi
reboot
Die Grundkonfiguration¶
Hier werden die Standardsprache sowie der Adminaccount gewählt und es können die APs aufgenommen werden.
Schritt für Schritt¶
Öffnen Sie von einem Rechner im Schulnetz mit einem Browser https://unifi:8443 (falls der Unificontroller in der Datei workstations unifi heißt).
Da der Unifi-Kontroller mit einem selbstzertifizierten Zertifikat arbeitet, werden Sie eine Zertifikatswarnung erhalten.

Wählen Sie Germany als Land und klicken Sie auf weiter.

Wählen Sie die Geräte aus, die Sie mit dem Unifi-Kontroller managen wollen (also alle) und klicken auf WEITER.

An dieser Stelle überspringen Sie die Einrichtung eines WLANs. Das wird später ausführlich beschrieben.

An dieser Stelle wird ein Administrator-Zugang angelegt.

Überspringen Sie auch diesen Schritt.

Bestätigen Sie schließlich Ihre Einstellungen.
Einrichtung des Lehrer-WLANs¶
Im Lehrer-WLAN sind alle schuleigenen Geräte und die Geräte der Lehrer.
So könnte beispielsweise ein Lehrer mit seinem Smartphone eine Aufgabe abfotografieren und zum Beamer schicken. Oder er könnte einen Film per Smartphone direkt über einen Beamer abspielen.
Attention
All diese Geräte müssen in die Datei workstations aufgenommen sein.
Hint
Schülergeräte haben in diesem Netzwerk nichts zu suchen. Denn Schüler sollen nicht in der Lage sein, Filmchen per Handy zu starten.
Schritt für Schritt¶
Öffnen Sie von einem Rechner im Schulnetz den Unifi-Kontroller https://unifi:8443 und melden Sie sich an.

Klicken Sie unten links auf Einstellungen. Gehen Sie auf drahtlose Netzwerke .

Es ist bereits eine WLAN-Gruppe Default eingerichtet. Die wird Ihnen für den Betrieb in einer Schule ausreichen.
Wie erwartet sind noch keine drahtlosen Netzwerke eingerichtet. Für Ihr erstes WLAN klicken Sie auf NEUES DRAHTLOSES NETZWERK HINZUFÜGEN.

Geben Sie dem Lehrernetz einen Namen (z.B. Lehrer).
Wählen Sie die Verschlüsselung WPA Personal und ein Passwort.
Wählen sie nicht Gastrichtlinie. Im Schulnetz wollen Sie keine Gäste!
Wenn Sie möchten, verbergen Sie die SSID. Was Schüler nicht sehen, macht sie nicht neugierig.
Speichern Sie die Einstellungen.
Das Lehrernetz ist nun eingerichtet und wird auf alle APs ausgerollt.
Einrichtung des Schüler-WLANs¶
Im Schüler-WLAN sind die Geräte der Schüler. Es liegt im blauen Netz des IPFire. Der Netzwerk-Schlüssel des Schüler-WLANs basiert auf ihrem Benutzernamen und ihrem Kennwort.
Schritt für Schritt¶
Installieren Sie auf dem linuxmuster.net-Server das Paket linuxmuster-freeradius. Siehe Authentifizierung mit RADIUS
Melden Sie sich am Unifi-Kontroller an https://unifi:8443.
Gehen Sie zu Einstellungen -> Profile -> NEUES RADIUS-PROFIL ERSTELLEN.

Geben Sie dem neuen Radius-Profil einen Namen.
Tragen Sie bei Radius-Authentifikationsserver die IP-Adresse des linuxmuster.net-Servers und das Passwort für die APs ein.
Speichern Sie die Einstellungen.
Gehen Sie zu Einstellungen -> Drahtlose-Netzwerke -> NEUES DRAHTLOSES NETZWERK HINZUFÜGEN.

Geben Sie dem Schüler-WLAN einen Namen.
Sicherheit ist WPA Enterprise.
Wählen Sie das vorher definierte Radius-Profil.
Da das blaue Netz des IPFire als getaggtes VLAN mit der VLAN-ID 10 zu den APs kommt, setzen Sie ein Häkchen bei VLAN und geben die VLAN-ID 10 ein.
Speichern Sie die Enstellungen.
Das Schüler-WLAN wird jetzt an die APs ausgerollt.
Gast-WLAN mit Gutschein / Voucher¶
Unifi unterstützt auch WLAN-Gutscheine (WLAN-Voucher).

Bei einem WLAN-Gutschein meldet man sich, wie in einigen Hotels, an einem unverschlüsselten Gästenetz an und wird auf eine Anmeldeseite umgeleitet. Dort gibt man einen Gutschein-Code ein.
Der Unifi-Controller unterstützt zwei Arten von Gutscheinen:
- Einmaliger Gebrauch:
- Der Gutschein-Code ist nur für ein Gerät gültig. Nach der Anmeldung kann man mit seinem Gerät so lange ins Internet, bis der Gutschein abgelaufen ist. Das Gerät kann sich in dieser Zeit unbegrenzt mit dem Gäste-WLAN neu verbinden.
- Mehrmaliger Gebrauch:
- Der Gutschein-Code ist für beliebig viele Geräte gültig. Sobald sich das erste Gerät mit dem Gutschein-Code angemeldet hat, beginnt die Gültigkeit des Gutscheins abzulaufen. Solche Gutscheine eignen sich beispielsweise für VHS-Kurse, die keine Accounts im Schulnetz haben.
Schritt für Schritt¶
Melden Sie sich an und gehen Sie auf Einstellungen -> Gastkontrolle.

Im Bereich Gastrichtlinien setzen Sie ein Häkchen bei Gastzugang aktivieren.
Bei Authentifizierung wählen Sie Hotspot.
Hat HTTPS-Umleitung aktivieren ein Häkchen, so werden Clients auch dann umgeleitet, wenn Sie auf HTTPS-Seiten surfen. Leider erhält man dann eine Zertifikatswarnung, da der Unifi-Kontroller mit einem selbstsignierten Zertifikat arbeitet. Allerdings leiten viele Betriebsysteme von selbst auf das Gastportal um.

In der Portal-Anpassung wählen Sie die Template-Engine AngularJS und fügen die Sprache Deutsch hinzu.
Den Rest der Einstellungen können Sie so lassen.

Unter HOTSPOT setzen Sie ein Häkchen bei Gutscheine.
In der Zugriffskontrolle müssen Sie den Zugriff auf den Unifi-Kontroller noch vor der Anmeldung erlauben, da man sonst nicht auf die Anmeldeseite kommt.
Gehen Sie auf ÄNDERUNGEN ANWENDEN. Damit werden die Änderungen gespeichert und auf die APs ausgerollt.
Firewall-Regeln für den IPFire¶
Damit die Clients überhaupt auf den Unifi-Kontroller zugreifen können, muss eine neue Firewallregel für den IPFire angelegt werden:
Schritt für Schritt¶
Öffnen Sie den IPFire https://ipfire:444 und melden Sie sich an.
Gehen Sie auf Firewall->`Firewallregeln`.
Wahlen Sie Neue Regel erstellen.

Machen Sie die folgenden Eingaben:
- Quelle:
- Standard-Netzwerk: BLAU
- Ziel:
- Zieladresse: IP-Adresse des Unifi-Kontrollers
- Protokoll:
- Alle
- Weitere Einstellungen:
- Setzen Sie einen Haken bei Regel aktivieren.
Speichern Sie die Regel mit Hinzufügen und vergessen Sie nicht, die Änderungen zu übernehmen.
Bemerkung¶
Statt alle Protokolle zu erlauben, reicht es, die Zielports 8880 und 8443 freizugeben. Dazu müssen Sie für jeden Port eine Regel definieren.


WLAN-Gutscheine / Voucher erstellen¶
Jetzt müssen die Gutscheine noch erzeugt und ausgedruckt werden.
Schritt für Schritt¶
Gehen Sie auf https://unifi:8443/manage/hotspot und melden Sie sich an.

Gehen Sie auf GUTSCHEINE->`GUTSCHEIN ERSTELLEN`.

Füllen Sie die Felder des Dialogfensters aus und speichern Sie Ihre Eingabe.

In dieser Ansicht sehen Sie alle gültigen Gutscheine.
Sie haben die Möglichkeit, einzelne Gutscheine, alle nicht benutzten Gutscheine oder alle Gutscheine, die an einem bestimmten Zeitpunkt erstellt wurden, zu drucken.
Hier können Sie auch Gutscheine löschen.
Authentifizierung mit RADIUS¶
Viele Geräte und Anwendungen, wie z.B. Access Points, Captive Portals oder Wireless Controller, bieten neben einer einfachen Benutzerauthentifizierung auch eine Überprüfung mit Hilfe eines RADIUS-Servers an (WPA-Enterprise, 802.1X).
Installation & Konfiguration¶
Radius-Server installieren¶
In den Paketquellen von Linuxmuster.net gibt es das Paket linuxmuster-freeradius
. Installieren Sie das Paket mit
$ apt-get install linuxmuster-freeradius
Firewall konfigurieren¶
Nun muss die Firewall konfiguriert werden, damit die Anfragen auch auf dem Server ankommen (UDP, Port 1182). Dazu bearbeitet man die Datei /etc/linuxmuster/allowed_ports
und fügt in der Zeile “udp” den entsprechenden Port hinzu.
...
udp domain, ... , 1812
Damit die Änderungen auf der Firewall (IPFire) wirksam werden, geben Sie bitte folgenden Befehl ein:
$ service linuxmuster-base restart
Falls Sie eine andere Firewall als die empfohlene Firewalllösung (IPFire) verwenden, müssen Sie die entsprechende Firewallregel selbst einrichten!
Radius-Servers testen¶
In der Datei /etc/freeradius/users
in der folgenden Zeile das Kommentarzeichen (#
) entfernen.
steve Cleartext-Password := "testing"
Als nächstes überprüft man, ob localhost
in der Datei /etc/freeradius/clients
eingetragen ist. Dieser Eintrag kann nach dem Test wieder entfernt werden.
client localhost {
ipaddr = 127.0.0.1
secret = testing123
}
Nun kann man, nach einem Neustart des Radius-Servers, die Authentifizierung für diesen User testen.
$ service freeradius restart
$ radtest steve testing 127.0.0.1:1812 10 testing123
Als Ausgabe sollte man folgendes erhalten:
$ radtest steve testing 127.0.0.1:1812 10 testing123
Sending Access-Request of id 34 to 127.0.0.1 port 1812
User-Name = "steve"
User-Password = "testing"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=34, length=20
Wenn man eine ähnliche Ausgabe erhält, kann nun der Zugriff auf das LDAP-Verzeichnis eingerichtet werden, damit man sich mit seinem Benutzernamen und Passwort der linuxmuster.net anmelden kann. Dazu muss der Client (Access Point, Captive Portal Server, Wireless Controller) in die Datei /etc/freeradius/clients
eingetragen werden. Bitte passen Sie den Client Namen, die IP-Adresse und das Passwort entsprechend an.
client captivePortal {
ipaddr = 10.16.1.254
secret = geheim
}
Radius-Server konfigurieren¶
Für die Authentifizierung mit einem Radius-Server gibt es verschiedene Protokolle, welche festlegen, wie die Übertragung und Authentifizierung abläuft. Dieses kann man in der Datei /etc/freeradius/eap.conf
festlegen. Überprüfen Sie folgende Einstellungen und entfernen Sie, falls notwendig, die Kommentarzeichen.
eap {
...
default_eap_type = peap
...
}
...
peap {
...
default_eap_type = mschapv2
...
}
MD5 kommt als Protokoll nicht in Frage, da die Passwörter nicht als MD5 im LDAP gespeichert sind!
Überprüfen Sie weiterhin den Parameter auto_header
in der Datei /etc/freeradius/radiusd.conf
.
pap {
auto_header = yes
}
LDAP¶
LDAP Zugriff einrichten¶
Bei der Installation von Linuxmuster.net wurde bereits die notwendige Konfiguration in der Datei /etc/freeradius/radiusd.conf
vorgenommen. Suchen Sie in der Datei den Abschnitt, der den LDAP betrifft und überprüfen sie folgende Angaben:
...
ldap {
...
server = "localhost"
identity = "cn=admin,dc=linuxmuster-net,dc=lokal"
password = geheim
basedn = "ou=accounts,dc=linuxmuster-net,dc=lokal"
filter = "(uid=%u)"
...
}
...
Das benötige Passwort kann mit folgendem Befehl angezeigt werden:
$ cat /etc/ldap/slapd.conf | grep rootpw
Aktivieren Sie nun in der Datei /etc/freeradius/sites-available/default
UND /etc/freeradius/sites-available/inner-tunnel
die LDAP-Authentifizierung, d.h. entfernen Sie bei den jeweiligen Zeilen zu LDAP die Kommentarzeichen.
...
authorize {
...
ldap
...
}
...
authenticate {
...
Auth-Type LDAP {
ldap
}
...
}
Am Ende starten Sie die Radius-Server neu:
$ service freeradius restart
LDAP-Authentifizierung testen¶
Geben Sie folgenden Befehl ein (Benutzernamen und Passwort anpassen!):
$ radtest user password localhost 10 testing123
....
rad_recv: Access-Accept Packet from ...
Falls Sie ein Access-Accept Packet erhalten haben, war die Authentifizierung erfolgreich!
Weitere Einstellungen¶
Zugriffsbeschränkung aktivieren¶
Wenn man den Radius-Server zur Authentifizierung im WLAN benutzt und nur bestimmte Nutzer Zugriff erhalten sollen (z.B. alle Mitglieder der Gruppe p_wifi
), so muss man in der Datei /etc/freeradius/users
folgende Änderung vornehmen bzw. hinzufügen:
...
DEFAULT Group != p_wifi
DEFAULT Auth-Type := Reject
Reply-Message = "Your are not allowed to access the WLAN!"
...
Alternativ kann man auch die entsprechende LDAP-Gruppe direkt abfragen.
...
DEFAULT Ldap-Group == "cn=p_wifi,ou=groups,dc=linuxmuster-net,dc=lokal"
DEFAULT Auth-Type := Reject
Reply-Message = "Your are not allowed to access the WLAN!"
...
Im Abschnitt ldap {...}
in der Datei /etc/freeradius/radiusd.conf
muss noch der entsprechende Filter aktiviert werden:
...
groupmembership_filter = (&(objectClass=posixGroup)(memberUid=%u))
...
Logging aktivieren¶
In der Datei /etc/freeradius/radiusd.conf
kann das Logging von Authentifizierungs-Anfragen eingeschaltet werden. Die Log-Datei ist: /var/log/freeradius/radius.log
. Vergessen Sie nicht den Neustart des Radius-Servers!
log {
...
auth = yes
...
}
Drucker¶
Drucker auf dem Server und Clients einrichten¶
Welche Informationen benötige ich vorab?¶
Um mit linuxmuster.net mit Druckern zu arbeiten, ist es erforderlich, dass Netzwerkdrucker zur Verfügung stehen. Es können entweder Drucker mit eingebauen Netzwerkkarten (Printservern) eingesetzt, oder bisherige Drucker mit einer geeigneten sog. “Printserver-Box” in das Netzwerk eingebunden werden.
Vor dem Hinzufügen und Einrichten von Druckern in linuxmuster.net ist es sehr hilfreich, vorab nachstehende Informationen zu erfassen:
- die genaue Bezeichnung des Druckermodells
- mögliche Treiber für Linux, Windows und ggf. andere Clients
- MAC-Adresse des Druckers
- Raum / Standort des Druckers
- IP-Adresse gemäß des genutzen Adressschema
Die meisten Netzwerkdrucker sind bei Auslieferung so eingestellt, dass diese eine IP-Adresse via DHCP beziehen. Die IP-Adresse für den Drucker kann dann einfach in der Schulkonsole gesetzt werden.
Caution
Im folgenden Skript werden Änderungen an der Schulkonsole vorgenommen. Alternativ können Änderungen meist auch über ein Terminal direkt in den Konfigurationsdateien auf dem Server vorgenommen werden. Das Mischen beider Verfahren ist zu vermeiden und Fachkundigen zu überlassen.
Wie füge ich Drucker hinzu?¶
Viele Printserver und Netzwerkdrucker sind in der Lage Ihre IP-Adresse von einem DHCP-Server zu beziehen. Zuerst muss der Drucker am Server mithilfe der Schulkonsole hinzugefügt werden. Hierbei wird dem Drucker ein Name sowie eine IP-Adresse zugewiesen.
Für das folgende Beispiel nehmen wir an, der Drucker stehe in Raum “R203”, bekomme den Namen “r203-pr01”, habe die MAC-Adresse “00:11:22:33:44:55” und bekomme entsprechend einem IP-Adressschema die IP-Adresse 10.16.203.101.
Melden Sie sich als administrator in der Schulkonsole (https://server:242) an. Wählen Sie dort die Reiterkarte “Hosts” aus und fügen Sie den Drucker gemäß dem nachstehenden Schema hinzu:

Die Option PXE ist zu deaktivieren, da die Drucker nicht via PXE starten.
Bestätigen Sie den Eintrag mit “Änderungen übernehmen”.
Ein Neustart des Druckers ist empfehlenswert, damit dieser die neue IP-Adresse übernimmt.
Wie richte ich Drucker am Server ein?¶
Um die eingesetzten Netzwerkdrucker serverseitig einzurichten, sind diese mithilfe eines Browsers hinzuzufügen und einzurichten.
Note
Auf dem Server ist automatisch ein PDF-Drucker eingerichtet. Auf den PDF-Drucker kann aus beliebigen Anwendungen heraus gedruckt werden. Die “gedruckte” PDF-Datei wird im Heimatverzeichnis des jeweiligen Benutzers im Ordner PDF abgelegt. Wird dieser später als Standard-Drucker festgelegt, so wird versehentliches Drucken auf einen nicht gewünschten Drucker unterbunden.
Starten Sie auf einem Rechner einen Browser, um das sog. CUPS-Webinterface zur weiteren Einrichtung der Drucker aufzurufen. Hierzu fügen Sie nachstehenden URL in der Adresszeile Ihres Browsers ein
Da meist nur ein selbst-signiertes Zertifikat auf dem Server installiert ist, ist es sicher nötig, dem benutzen Browser die sichere Kommunikation ausnahmsweise zu erlauben (SSL-Zertifikat akzeptieren).
Drucker hinzufügen¶
Rufen Sie zunächst die Reiterkarte Verwaltung auf. Es erscheint nachstehende Maske:

Warning
Ändern Sie keine Konfiguration auf dieser Seite, das bleibt den Skripten von linuxmuster.net und einer manuellen Konfiguration in den Textdateien auf dem Server vorbehalten.
Klicken Sie auf der Maske unter Drucker –> Drucker hinzufügen. Es erscheint nachstehende Maske:

In diesem Dialog müssen Sie angeben, auf welche Weise der Drucker mit dem Server verbunden ist. Unter Umständen werden Netzwerkdrucker erkannt (im Beispiel “HP Officejet”).
Bei nicht erkannten Netzwerkdruckern ist im Normalfall die Option “AppSocket/HP JetDirect” korrekt. Sind Sie unsicher, schauen Sie im Handbuch des Druckers / Printservers nach, welche Option für Ihren Drucker zutrifft.
Klicken Sie auf Weiter, um zum nächsten Dialog zu gelangen. Wurde eine Option unter “Andere Netzwerkdrucker” ausgewählt, so muss die genaue Verbindung manuell angegeben werden und es folgt folgender Dialog, andernfalls wird folgender Dialog übersprungen:

Im Falle eines Netzwerkdruckers müssen Sie hier die IP-Adresse oder den Hostnamen und zusätzlich bei Verwendung eines Print-Servers, der über mehrere Anschlüsse verfügt, noch die Warteschlange anzugeben. Zum Beispiel:
socket://10.16.203.101/lpt1
Im Zweifelsfall sollte auch hier die Bedienungsanleitung des Printservers weiterhelfen. Klicken Sie auf Weiter, um zum nächsten Dialog zu gelangen.

In dieser Maske muss für den Drucker ein Name vergeben werden (zum Beispiel r203-pr01 oder h109drucker). Der hier vergebene Name gilt zugleich als Freigabename für Linux- und für Windows-Clients. Die restlichen Angaben sind zwar optional, sollten aber eingegeben werden, um die Zuordnung nachvollziehbar zu halten.
Klicken Sie auf Weiter, um zur Auswahl des Druckermodells zu gelangen.

Wählen Sie in Liste Ihr Druckermodell aus. Mit Weiter werden Treiber zur Auswahl angeboten. Stehen für Ihr Modell mehrere Treiber zur Auswahl stehen, wählen Sie den empfohlenen Treiber (recommended) aus. Sollte Ihr Modell nicht in der Liste erscheinen, laden Sie über den Button Durchsuchen die sog. PPD-Datei für Ihren Drucker hoch. Die PPD-Datei ist beinhaltet einen Treiber für den Drucker für Linux. Diese Treiber erhalten Sie auf der Seite Ihres Druckerherstellers. Laden Sie diese lokal herunter. Danach können Sie die PPD-Datei auf den linuxmuster.net Server mit o.g. Dialog hochladen.

Eventuell kann Ihr Drucker auch mit der Marke “Generic” und einem entsprechenden Treiber (z.B. “Generic PCL 5e … (recommended)”) bereits drucken.
Mit Klick auf Drucker hinzufügen schließen Sie die Druckerinstallation. Dafür benötigt das CUPS-Webinterface die Authentifizierung als administrator.

Danach gelangen Sie zur Einstellungsseite des Druckers.
Drucker konfigurieren¶

Hier können Sie abhängig vom Druckermodell verschiedene Einstellungen für das Standardverhalten des Druckertreibers vornehmen (zum Beispiel die Seitengröße auf A4 einstellen, Duplexdruck etc., falls dies nicht standardmäßig vorgesehen ist).
Klicken Sie im Dialog für die Standardeinstellungen auf den Menüpunkt Richtlinien, um hier das Verhalten des Druckers im Fehlerfall festzulegen.

Geben Sie unter “Fehlerbehandlung” abort-job an, um sicherzustellen, dass CUPS im Fehlerfall den Druckjob löscht.
Über den Knopf Standardeinstellungen festlegen werden Sie schließlich zur Verwaltungsseite des neu eingerichteten Druckers weitergeleitet:

Hier können Sie
- eine Testseite ausdrucken lassen,
- den Drucker (die Ausführung von Druckaufträgen) stoppen und wieder starten,
- die Entgegennahme von Druckaufträgen sperren und wieder freischalten,
- die Druckereinrichtung wiederholen, um IP-Adresse oder Druckertreiber zu ändern,
- die Druckereinstellungen anpassen oder
- erlaubte Benutzer festlegen.
Nun ist Ihr Netzwerkdrucker betriebsbereit und kann auf den Arbeitsstationen eingerichtet werden.
Angesprochen wird obiger Drucker über den URL:
PDF-Drucker aktivieren¶
Der standardmäßig eingerichtete PDF-Drucker wird über den URL
http://server:631/printers/PDF-Printer
angesprochen. Jetzt kann auch über den PDF-Drucker in eine PDF-Datei gedruckt werden, die auf dem Server im Homeverzeichnis des Benutzers im Unterverzeichnis PDF abgelegt wird.
Wie verwalte ich den Zugriff auf die Drucker?¶
Zunächst ist jeder neu eingerichtete Netzwerkdrucker im gesamten Netz an jeder Arbeitsstation verfügbar. Sie können jedoch den Druckerzugriff auf bestimmte Räume und/oder Arbeitsstationen beschränken.
Melden Sie sich dazu als Benutzer administrator auf der Schulkonsole ein und gehen Sie zur Druckerseite. Diese erreichen Sie entweder über den Menüpunkt Drucker in der Schulkonsole, oder Sie geben in der Adresszeile der Browser nachstehende Adresse ein:
https://server:242/schulkonsole/printers
Sie sehen eine Liste mit den in Ihrem Schulnetz verfügbaren Netzwerkdruckern.

Sind einem Drucker Räume oder Rechner zugeordnet, sind diese hier ebenfalls aufgelistet. Ist ein Drucker weder einem Raum noch einem Rechner zugeordnet, ist er ohne Einschränkung netzweit verfügbar.
Um einem Drucker einen Raum zuzuordnen, klicken Sie auf Bearbeiten und ordnen über die Pfeile wie im unten abgebildeten Dialog den Raum zu.

Attention
Ist ein Drucker einem Raum bzw. Rechner zugeordnet, so ist der Zugriff von anderen Räumen bzw. Rechnern aus gesperrt. In diesem Fall müssen Sie dem Drucker zusätzlich diejenigen Räume/Rechner zuordnen, die ebenfalls Zugriff auf den Drucker haben sollen. Nur wenn ein Drucker einem entsprechenden Raum zugeordnet wurde, kann ein Lehrer über die Schulkonsole (im Bereich Aktueller Raum) den Zugriff auf diesen Drucker steuern.
Wie richte ich Drucker auf den Clients ein?¶
Clientseitig müssen Drucker über das HTTP-Protokoll eingerichtet werden, damit die raumbezogene Druckerzugriffskontrolle über die Schulkonsole funktioniert. Die URL für die Druckerverbindung wird nach folgendem Schema zusammengesetzt:
http://<servername>:631/printers/<Druckername>
PDF Drucker
Beispielhaft wird der standardmäßig eingerichtete PDF-Drucker über die URL
http://server:631/printers/PDF-Printer
angesprochen. Damit der PDF-Drucker auf dem Client genutzt werden kann, muss auf dem Client ein Standard-Postskript-Drucker eingerichtet werden.
Linux Clients¶
Die Druckerinstallation auf den Clients erfolgt automatisch mithilfe eines sog. universellen Postsync - Scripts. Voraussetzung ist, dass die Drucker bereits auf dem Server eingerichtet wurden und als Linux Client das vorkonfigurierte Musterimage (Cloop) genutzt wird. Dieses gibt es für Ubuntu 14.04 (trusty) und Ubuntu 16.04 (xenial).
Auf dem Server existiert dann folgende Datei in einem der Verzeichnisse:
/var/linbo/linuxmuster-client/trusty/common/etc/hosts
/var/linbo/linuxmuster-client/xenial/common/etc/hosts
Diese Datei weist nachstehende Rechte auf:
-rw-r--r-- 1 root root 459 Jul 18 2014 hosts
In dieser Hosts Datei findet sich folgender Inhalt, der dann mithilfe des Postsync-Scripts rechnerspezifisch angepasst wird:
# Diese Datei wird per postsync gepatcht. Zu bearbeiten ist sie auf dem Server.
# Pfad: /var/linbo/linuxmuster-client/trusty/common/etc/hosts
# HOSTNAME wird im Postsyncskript mit dem echten Namen gepatcht
127.0.0.1 HOSTNAME
#Die nächste Zeile enthält die Hostnamen so, wie sie auf dem Server eingetragen sind...
#SERVERIP server.linuxmuster.local server
# damit CUPS zufrieden ist, muss noch diese Zeile hier dazu:
#SERVERIP server.lokal server.local
Das Postsync-Script liegt im Verzeichnis:
/var/linbo/<LinuxImagename>.cloop.postsync
Es weist folgende Rechte auf:
-rw-rw---- 1 root root
In dem Postsync-Script finden sich folgende Eintragungen (hier für Trusty-Cloop):
echo "##### trusty-linuxmuster POSTSYNC BEGIN #####"
# IP-Adresse des Server
SERVERIP=10.16.1.1
STARTCONF=/cache/start.conf
# Raum feststellen. Dieses Skript geht davon aus
# dass die Rechner Namen der Form
# raumname-hostname haben, also z.B. cr01-pc18
RAUM=${HOSTNAME%-*}
# wenn der string leer ist, raum auf unknown setzen
if [ "x${RAUM}" == "x" ]; then
RAUM="unknown"
fi
# Das Verzeichnis, in dem die Serverpatches
# local synchronisiert werden.
PATCHCACHE=/linuxmuster-client/serverpatches
# UVZ auf dem Server. Mit diesem Variablen kann
# man verschiedene Images bedienen (was bei linux
# selten nötig ist)
PATCHCLASS="trusty"
echo ""
echo "Hostname: ${HOSTNAME}"
echo "Raum: ${RAUM}"
echo "Patchcache: ${PATCHCACHE}"
echo "Patchclass: ${PATCHCLASS}"
echo ""
if [ ! -d /cache/${PATCHCACHE}/${PATCHCLASS} ]; then
echo "Patchklasse ist nicht vorhanden."
echo "Auf dem Server mit mkdir -p /var/linbo/linuxmuster-client/${PATCHCLASS}/common/ das Grundverzeichnis anlegen und dort die gepatchten Dateien ablegen."
fi
# -----------------------------------------
# Patchdateien auf das lokale Image rsyncen
# -----------------------------------------
echo " - getting patchfiles"
# RAUM -> Raumname
# HOSTNAME -> Rechnername
# Verzeichnis anlegen, damit es sicher existiert
mkdir -p /cache/${PATCHCACHE}
rsync --progress -r "${SERVERIP}::linbo/linuxmuster-client/${PATCHCLASS}" "/cache/${PATCHCACHE}"
echo " - patching local files"
# zuerst alles in common
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common ]; then
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/common/* /mnt/
fi
# dann raumspezifisch
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM} ]; then
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/* /mnt/
fi
# dann rechnerspezifisch
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME} ]; then
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/* /mnt/
fi
# -----------------------------------
# Berechtigungen anpassen, wenn nötig
# -----------------------------------
echo " - setting permissions of patched local files"
# printers.conf
#[ -f /mnt/etc/cups/printers.conf ] && chmod 600 /mnt/etc/cups/printers.conf
# .ssh verzeichnis
#chmod 700 /mnt/root/.ssh/
#chmod 600 /mnt/root/.ssh/authorized_keys
# hostname in /etc/hosts patchen
sed -i "s/HOSTNAME/$HOSTNAME/g" /mnt/etc/hosts
sed -i "s/#SERVERIP/$SERVERIP/g" /mnt/etc/hosts
# fstab anpassen, damit Swap-Partition stimmt
echo "---- hier beginnen wir mit dem debuggen:"
SWAPZEILENNR=$(grep -i "^fstype" $STARTCONF | cut -d"#" -f1 | grep -n -i "swap" | cut -d":" -f1)
echo Swapzeilennummer: $SWAPZEILENNR
SWAP=$(grep -i "^dev" -m $SWAPZEILENNR $STARTCONF | tail -n1 | cut -d"=" -f2 | tr -d [:blank:]|head -c9)
echo Swap: $SWAP
sed -i "s|#dummyswap|$SWAP|g" /mnt/etc/fstab
echo "##### trusty-linuxmuster POSTSYNC END #####"
Note
Hinweis für linuxmuster.net Version 6.2
Sollte bei Verwendung des Postsync-Scripts auf dem Client ein Drucker nicht ansteuerbar sein, obwohl dieser am Server eingerichtet wurde, so sollten noch am CUPS-Dienst des Servers alle sog. CUPS-browsed Einträge und für den CUPS-Dienst des Clients alle Browse-Poll Einträge entfernt werden. Dies liegt daran, dass auf dem Server eine ältere CUPS-Version installiert ist als auf den Clients, deren CUPS-Version ab Ubuntu 14.04 aktueller ist.
Die Einträge sind wie folgt zu entfernen:
Server-Cups: Datei /etc/cups/cupsd.conf - alle Einträge mit cups-browsed auskommentieren Client-Cups: Datei /etc/cups/cupsd.conf - alle Einträge mit BrowsePoll auskommentieren
Alternativ: Druckerinstallation manuell¶
Die Druckerinstallation auf dem Linux-Client lässt sich wie auf dem Server mit Hilfe des CUPS-Webinterfaces bewerkstelligen. Loggen Sie sich auf dem Client mit einem Browser über die URL http://localhost:631/admin als lokaler Benutzer administrator auf der CUPS-Administrationsseite ein.

Klicken Sie hier unter der Rubrik Drucker auf Drucker hinzufügen.
Wählen Sie im nächsten Schritt als Netzwerkdrucker Internet-Druckprotokoll (https).
Wählen Sie im nächsten Schritt für unter Drucker hinzufügen die korrekte Adresse. Wird der Netzwerkdrucker über den linuxmuster.net Server angesteuert, so ist dessen Adressen anzugeben:
**https://10.16.1.1/printers<druckername>**
Wählen Sie danach die korrekte Druckermarke für den einzurichtenden Drucker aus.
Wählen Sie abschliessend das geeignete Druckermodell aus, oder wählen Sie eine eigene sog. PPD-Datei aus, die auf dem Client installiert werden soll.
Die weiteren Einrichuntsschritte entsprechen denen, wie sie auf dem Server bereits ausgeführt wurden.
Windows Clients¶
Melden Sie sich lokal am Windows-Client als administrator an und rufen Sie den Druckerinstallations-Assistnten auf, oder starten Sie den Druckerinstallations-Assistenten als Benutzer administrator. Den Druckerinstallations-Assistenten rufen Sie wie folgt auf: ** Systemsteuerung –> Hardware und Sound –> Geräte und Drucker –> Drucker**
Wählen Sie im Assistnten im Dialog Drucker hinzufügen die Option Einen Netzwerk-, Drahtlos- oder Bluetoothdrucker hinzufügen.

Im folgenden Dialogfenster beenden Sie die Druckersuche und gehen über die Schalftfläche Der gesuchte Drucker ist nicht aufgeführt zum nächsten Schritt.

Wählen Sie nun die Option Freigegebenen Drucker über den Namen auswählen und schreiben die Drucker-URL gemäß der Vorgabe aus dem Abschnitt Druckereinrichtung in das Eingabefeld (Beispiel http://server:631/printers/Netzwerkdrucker).

Nach Abschluss der Treiberinstallation steht der Drucker in unserem Beispiel als Netzwerkdrucker auf http://server:631 zur Verfügung.
Beispiel: PDF-Drucker
Für die Nutzung des PDF-Druckers muss ein Postskript-Drucker eingerichtet werden. Starten Sie über den Druckerinstallations-Assistenten die Installation eines Netzwerkdruckers und geben als Netzwerkpfad die URL des PDF-Printers an (siehe Wie füge ich Drucker hinzu?). Wählen Sie im weiteren Verlauf des Installationsdialogs das Druckermodell MS Publisher Color Printer, das unter Hersteller Generic aufgeführt ist:

Nach Abschluss der Druckerinstallation steht der PDF-Drucker als PDF-Printer an http://server:631 zur Verfügung.
Drucker nutzen - Arbeitstitel¶
Windows 10 Clients¶
This guideline helps you to install Windows 10 on a master workstation and clone it to any other clients with identical hardware.
Workstations (“Clients”) are installed in linuxmuster.net via LINBO software (“GNU / Linux Network Boot”).
Nearly all steps that require changes at server side are accomplished via webinterface. Alternatively these steps can also be executed at the server console as described in the manual :ref:’install-linux-clients-label’.
Register computer in the network¶
New clients are registered via the LINBO interface of the client and then recorded on the server in the system.
Registration with LINBO¶
However the LINBO user interface (Manual) on the Client provides a way to register a new machine to the system.
Restart the computer using PXE boot.

Click on the “Imaging” tab and log in with the LINBO password.
Note
In the password field, nothing is displayed. You must type it in “blind”.

Now you are LINBO administrator. There is a timeout window that shows the time after which you will be logged out automatically. By clicking the checkbox, the timeout can be disabled.

The button Register
opens a dialog box where you can enter data for the client.

Note
- Room
- Enter the name of the room (for example, r100 or g1r100). Please note that the name of the room or the building must begin with a lowercase letter. Special characters are not allowed.
- Hostname
- e.g. In the form r100-pc01 (up to 15 characters), (if necessary, take the building into account g21r100-pc01). Please note that only characters and numbers are allowed as characters. Only the hyphen
-
may be used as a separator. You may not use spaces, underlines or other special characters (such as german Umlaute, ß or punctuation marks) under any circumstances. - IP Address
- The IP address should fit to the room and must be outside the default DHCP range. Depending on your network data, you can enter e.g. 10.16.100.1 for this PC, usually not between 10.16.1.100 and 10.16.1.200 (default DHCP range).
- Host Group
- In the computer group, e.g. xenial, several (almost all) similar computers are combined, which get an (nearly) identical configuration.
If everything is filled in correctly, the client data is uploaded via the button Register
on the server.
Note
If other clients are registered, you do not have to fill in the fields. Linbo increments automatically in the right place. E.g. its increments the hostname r100-pc01 =` r100-pc02` and the IP address 10.16.100.1 =` 10.16.100.2`. It’s clear that if you want to use the feature, you must register the computers in the correct order!
Import Registered Clients¶
As soon as all hosts are added, you have to start the import of the computers in the school console (school console manual) or at the console!
Since the access to the school console is only allowed by computers that are included in the system, at least the first computer must be imported manually.
Log on to the server as root
and run the command line command
server ~# import_workstations
out.
If you want to register and record other clients later, browse the school console from an already imported computer: https://server:242 and log in as administrator
.
On the host tab of the school console, new computers can be entered directly and all new clients appear as not yet taken over into the system. A click on the ‘Import hosts now’ button does this and the newly registered clients are imported.

Configuration start.conf¶
School Console¶
Switch to the LINBO tab. Click on the left side on Edit Group Configuration
and then select the group (hardware class) you want to edit.
Change the configuration according to your needs and click afterwards on the button Save changes
. The settings are under the heading Systems
are important.
Attention
For Windows, make sure you have a sufficiently large partition (at least 50 G recommended) because Windows takes up a lot of hard disk space. “A lot helps a lot is right here!”.
Create Windows 10 Image¶
Partition your Computer¶
Important
The partitioning for the operating system installation has to be done by Linbo before Windows is installed, otherwise Linbo can’t create the hard disk images.
Restart the PC on which you want to create the image and boot again from the network (PXE). You’ll get the following screen:
Navigate to the Imaging tab, enter the password and uncheck timeout.
Click the button Partition
and confirm the message with Yes
After this, you can restart the computer.
Install Windows¶
Insert the Windows installation disc and boot from the CD. Wait for the installation wizard to load and select your language. Confirm with Next
Click on Install Now
Accept the license conditions and set the corresponding hook and confirm with Next
.
Click on Custom: Install Windows only.
Select the partition on which Windows should be installed. You can identify the correct partition in terms of size in GB. In our example 50GB. Click on Netx
.
Wait until the installation has completed.
Select the option Adjust settings
.
Configure the privacy settings to your needs.
Now enter a user who is locally used in Windows as an administrative account. This account is not used on the network. Set a new password for the local user and click on Next
.
You have installed Windows on the computer and you should be redirected to the desktop.
Important
Before you shutdown the computer some adjustments have to be made. You will need the regpatch provided by linuxmuster.net.
provide regpatch¶
To provide the regpatch for the Windows client, you have to copy it first on the server console to the home directory of pgmadmin.
$ cp /var/linbo/examples/win10.global.reg /home/administrators/pgmadmin/
Configuring Windows¶
Some essential settings have to be made to be able to use Windows 10.
Open the Windows Explorer and put the UNC path \\server\pgmadmin
in the navigation bar to access the pgmadmin’s home directory on the server.
Enter the credentials for the user pgmadmin and confirm with OK
Copy the file win10-global to the desktop.
Double-click the file and click in both dialogs on Yes
.
Important
As of Windows 10 version 1709, domain joining cannot be achieved without difficulty. With Windows 10 Prof you have to join the domain within the first 15 days after installation. Here SMB 1 Client is still installed, but will be uninstalled after 15 days if not in use. It is different with the Education and Enterprise versions, Samba 1.0 must be installed here. A manual is available at https://ask.linuxmuster.net/t/windows-10-1709-laesst-sich-nicht-in-domain-aufnehemen/1402/1 Please read first!
Click with the right mouse button on the Windows icon or press the Windows key+X. Click on System
.
Click on Change Settings
(next to the computer name).
Click on Change
.
Enter the computer name you assigned in Linbo for the computer. In our example, r123-pc02. Choose Domain and enter the domain name, in our example schule
Enter one of the administrator users. For example, the user domadmin
with the appropriate password and confirm with Ok
.
Confirm the message with Ok
, close all the windows and click on Restart Now
.
After rebooting you can choose Other User
in the left-bottom corner to log in with a domain user.
You can now make changes to Windows. Configure the system to your needs and then shutdown Windows.
Write Image to the Server¶
Restart the computer, boot via pxe and switch in Linbo to the tab Imaging
. Click on Create Image
. Start the process by clicking on Create and Upload
.
Hint
In this method, as long as an image with the same name already exists, the old image will be renamed and the current image takes its place as the active image.
As soon as the process is completed, you can now always reset the status of the installation to this point.
The image is available on the server.
If you want to roll it out to other computers, the image. reg
has to be made available on the server. Copy the /var/linbo/win10.image.reg
to /var/linbo/<BEZEICHNUNG DER RECHNERGRUPPE>.cloop.reg
.
Here’s the example:
$ cp /var/linbo/examples/win10.image.reg /var/linbo/win10.cloop.reg
From now on linbo will enter the image.reg file after the sync of an operating system into the registry of the synced computer and set the hostname to the correct value.
Copy default profile¶
In Linuxmuster.net the user pgadmin will install software, that is planned to be used by other users. In order for all users to get the changes made during the installation, the profile of the “pgmadmin” must be copied to “Default”. To copy the profile, proceed as follows:
- Restart the computer after installing programs without synchronization
Attention
The restart is necessary because the profile of the “pgmadmin” can not be copied otherwise
- Log in as a local user with admin rights
- Copy the file https://www.forensit.com/Downloads/Support/DefProf.zip and unzip it to
C:\Windows\system32\Defprof.exe
. If Defprof.exe is already inC:\Windows\system32\
, go to step 4. - Run the command
C:>defprof pgmadmin
- Log off as local user and login again as pgmadmin
- Shut down the computer
- Restart the computer and create a new image with linbo
Weiterführende Dokumentation¶
- Todo: are there pages in the Anwenderwiki
- Todo: are there howtos under docs.linuxmuster.net
- Todo: is there development documentation or techsheets under docs.linuxmuster.net
Leoclient 2 - Windows im Linuxclient¶
Leoclient2 bietet die Möglichkeit auf einem Linuxclient verschiedene virtuelle Maschinen, beispielsweise mit Windows-Betriebssystem, einzurichten und zu starten.
Inhalt:
Funktionsprinzip¶
Durch das Programmpaket leoclient2 ist es möglich auf einem Linuxclient virtuelle Maschinen (VM), beispielsweise mit Windows-Betriebssystem, parallel zu nutzen.
Dabei können auf einfache Weise verschiedene Zustände der virtuellen Maschine erzeugt und den Benutzern angeboten werden.
Zur Auswahl der virtuellen Maschinen als Benutzer wurde eine grafische Oberfläche programmiert, auf der man zuerst die zu nutzende VM auswählt und dann den gewünschten Zustand startet.
Durch die Virtualisierung reduziert sich der administrative Aufwand auf ein Minimum, wogegen die Möglichkeit der Bereitstellung verschiedener Installationszustände extreme Flexibilität und ungeahnte Möglichkeiten bietet.
Installation von leoclient2¶
Software-Pakete installieren¶
Die leoclient-Pakete liegen auf dem linuxmuster.net-Paketserver, der im Linuxclient schon zur Einrichtung der Anmeldung am Server eingetragen wurde.
Todo
link um Quellen einzutragen statt folgendes …
# wget http://pkg.linuxmuster.net/linuxmuster.net.key -O - | sudo apt-key add -
In /etc/apt/sources.list eintragen:
deb http://pkg.linuxmuster.net/ xenial/
Installation der Pakete auf dem Linuxclient mit folgenden Befehlen:
# sudo apt-get update
# sudo apt-get install leoclient2-leovirtstarter-client leoclient2-vm-printer
Virtualbox installieren/updaten¶
Es wird empfohlen eine aktuelle Version von Virtualbox zu installieren (5.1.22 im Mai 2017).
Für die Schule kann die PUEL-Version (aktuelles VirtualBox mit ExtensionPack) installiert werden, die beispielsweise USB2 unterstützt (statt USB1.1).
Die Anleitung zur Installation findet sich unter https://www.virtualbox.org/wiki/Linux_Downloads im Bereich ‘’Debian-based Linux distributions’‘.
In Kürze das Vorgehen für Ubuntu 16.04/xenial:
- apt-get install dkms
- Virtualbox Schlüssel laden, Quellen eintagen, apt-get update
- apt-get install virtualbox-5.1
- Extension-Pack im Browser downloaden, installieren im Virtualbox-gui
Benutzer-Rechte anpassen¶
Hinweis: Diese Rechte-Anpassungen sind im Standard-Linuxclient schon eingepflegt.
Domänenbenutzer
Um für die Domänenbenutzer alle Optionen von VirtualBox freizugeben,
müssen diese Mitglied der Gruppe vboxusers
sein. Hierzu ergänzt
man in der Datei /etc/security/group.conf
in der Zeile
*;*;*;Al0000-2400;dialout...
den Eintrag vboxusers
. Diese
Zeile könnte dann wie folgt aussehen:
*;*;*;Al0000-2400;dialout,cdrom,floppy,audio,dip,video,plugdev,scanner,vboxusers
Lokale Benutzer
Auch lokale Benutzer am Linuxclient (z.B. linuxadmin
) müssen der
Gruppe vboxusers
hinzugefügt werden. Für lokale Benutzer erfolgt
das mit
# sudo adduser linuxadmin vboxusers
Diese Änderung wird erst bei einer erneuten Anmeldung des Nutzers wirksam.
Rechte an den lokalen virtuellen Maschinen¶
Mit der im Paket leoclient2-leovirtstarter-client
befindlichen
Datei /etc/sudoers.d/80-leoclient2
wird der Eigentümer der lokalen
virtuellen Maschine vor ihrem Start auf den angemeldeten Benutzer
gesetzt. Somit kann die Maschine gestartet, Logs angelegt und der
aktiven Snapshot verändern werden.
Drucker-Spooler beim login aktivieren¶
Um aus der virtuellen Maschine heraus drucken zu können, müssen ein Drucker-Splitter und ein Drucker-Spooler bei Anmeldung am Linuxclient gestartet werden. Der Drucker-Splitter fängt ankommende Druckdateien ab, bevor sie überschrieben werden. Der Drucker-Spooler druckt sie aus.
Auf dem Standard-Linux-Client gelingt dies mit Hilfe der
linuxmuster-client-extras
Skripte wie folgt:
# sudo linuxmuster-client-extras-setup --type login --on /usr/bin/run-vm-printer2-splitter
# sudo linuxmuster-client-extras-setup --type login --on /usr/bin/run-vm-printer2-spooler
Überprüft werden kann das mit
# sudo linuxmuster-client-extras-setup --type login -i
Ohne den Standard-Linux-Client kann man mit folgenden Befehlen einen ähnlichen Effekt erzielen:
# sudo install -oroot -groot --mode=0644 /usr/share/leovirtstarter2/desktop/leoclient2-splitter.desktop /etc/xdg/autostart
# sudo install -oroot -groot --mode=0644 /usr/share/leovirtstarter2/desktop/leoclient2-spooler.desktop /etc/xdg/autostart
Konfiguration
Die Konfigurationsdatei liegt unter
/etc/leoclient2/leoclient-vm-printer2.conf
.
Zur Fehlerbehebung werden Log-Dateien in
/tmp/run-vm-printer2-spooler.log-USERNAME
und
/tmp/run-vm-printer2-splitter.log-USERNAME
abgelegt. Dort sieht
man nach welcher Datei der Drucker-Splitter sucht
Virtuelle Maschine erzeugen¶
Das Script leoclient2-init
bereitet eine virtuelle Machine (VM)
vor, die später mit dem Programm leovirtstarter2
gestartet werden
kann.
Die VM kann nur in einem Verzeichnis erstellt werden das der aufrufende User anlegen darf. Üblicherweise muss das Script also mit root-Rechten gestartet werden:
# sudo leoclient2-init
[sudo] Passwort für linuxadmin:
Geben Sie den Namen der neuen virtuellen Maschine ein
(Keine Leerzeichen - bestätigen mit der Enter-Taste):
winxp
...
Soll die virtuelle Maschine jetzt erzeugt und VirtualBox gestartet werden?
(j/n - Bestätigen mit der Enter-Taste):
j
Virtual machine 'winxp' is created and registered.
UUID: d96f7ee1-3c82-4bef-aa04-c9d39140cede
Settings file: '/virtual/winxp/winxp.vbox'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 4da77206-3edf-41d6-84ec-1509cfb92441
Es werden folgende Parameter abgefragt und auf Nachfrage VirtualBox gestartet.
- der MASCHINENNAME für die VM (keine Leerzeichen verwenden)
- der PFAD für den Speicherort der VM (Standardpfad
/var/virtual/
) - die Größe der dynamisch wachsenden virtuellen Festplatte für die VM in MB
Man sollte unter VirtualBox die Konfiguration der VM noch an die eigenen Bedürfnisse anpassen (Die Arbeitsspeichergröße für die VM wird beim Starten an die Gegebenheiten der vorhandenen Maschine angepasst).
Betriebsystemeinstellungen¶
Unter Allgemein
, Reiter Basis muss der Betriebsystemtyp und Version angepasst werden.
Systemanforderungen/Ressourcen¶
Unter System
, wird konfiguriert, welche Hardware-Ressourcen die VM zur Verfügung gestellt bekommt.
Je nach Gast sind hier Mindestwerte zu beachten:
Win10 (Beispielhaft):
- Hauptspeicher 2048 MB (System -> Hauptplatine)
- 2 CPU’s (System -> Prozessor)
- 64 MB Grafikspeicher (System -> Bildschirm)
DVD-Laufwerk¶
Ein CD-/DVD-Laufwerk kann man ebenso einbinden wie iso-Dateien (→ CD-/DVD-Laufwerk hinzufügen → kein Medium (Laufwerk) → über das CD-Symbol rechts das Laufwerk auswählen bzw. → CD-/DVD-Laufwerk hinzufügen → Medium auswählen (iso-Datei) ).
USB verwenden¶
Sollte man, wie voreingestellt, USB2 verwenden wollen, muss man das zur Version von VirtualBox passende Extension Pack installieren.
Netzwerk offline¶
Eine Netzwerkkarte ist in der Standardkonfiguration nicht aktiviert, dadurch bietet die VM keine Angriffsfläche und man kann auf zeitraubende Updates verzichten.
Wenn sie aktiviert wird, gilt das nur vorübergehend.
Trotzdem ist es möglich auf die Netzlaufwerke auf dem Server zuzugreifen und Netzwerkdrucker zu verwenden.
Betriebssystem installieren¶
Sind die Einstellungen wunschgemäß, startet man die VM und installiert das Betriebssystem über eine verbundene Installations-CD-/DVD oder eine entsprechende iso-Datei.
Ist die Installation abgeschlossen, fährt man die VM herunter. Bevor VirtualBox beendet wird, sollte man eventuell verbundene CD-/DVD-Laufwerke trennen.
Nach Beenden von Virtualbox wird die VM für den Start mit dem Programm
leovirtstarter2
fertiggestellt.
...
Für diese Maschine wird ein Sicherungspunkt erzeugt.
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Snapshot taken. UUID: 3df3f4f2-38e8-4747-9934-533648e60d3f
...
Die Konfiguationsdateien und der Snapshot wurden gesichert.
Die Rechte der Dateien wurden angepasst.
Die virtuelle Maschine kann nun mit dem Snapshotstarter benutzt werden.
Wenn Sie die Basis für die virtuelle Maschine und den Snapshot neu
erzeugen wollen, starten Sie das Script 'leoclient2-base-snapshot-renew'.
Wenn Sie die vollständige virtuelle Maschine in ein anderes Verzeichnis
umziehen wollen, starten Sie das Script 'leoclient2-vm-move'.
Weitere Schritte¶
Nachdem das Betriebsystem installiert ist, ist es sinnvoll in der Basis der VM noch folgende Anpassungen vorzunehmen:
- Installation der Gasterweiterungen in der VM
- Verbinden der Netzlaufwerke in der VM
- Einrichten eines PDF-Druckers in der VM
- (Schrumpfen ???)
Diese Anpassungen unterscheiden sich je nach verwendeten Betriebsystem. Anleitungen finden sie bei “Weitere Informationen zu leoclient2” und dem jeweiligen Gastbetriebsystem unter Tipps und Tricks.
Danach muss die Basis aktualisiert werden (Siehe folgendes Kapitel: Basis und Snapshots verwalten).
Virtuelle Maschinen starten¶
Das Script leovirtstarter2
findet automatisch jede verfügbare VM
(Eintrag in /etc/leoclient2/machines
) und bietet diese zum Starten
an. Es kann im Ubuntu Dash (Virtualbox Snapshotstarter) oder über die
Konsole gestartet werden:
$ leovirtstarter2

Wählen Sie eine virtuelle Maschine
Nachdem eine VM gewählt wurde, werden mehrere Optionen angeboten

Optionen zum Starten der virtuellen Maschine
- <VM> wie vorgefunden startet den aktuellen, unveränderten Zustand
- der VM
- <VM> Standard verwendet den Standard-Snapshot und startet die VM,
- d.h. die virtuelle Maschine wird auf den Zustand des Snapshots zurückgesetzt.
- optional weitere Snapshots wenn konfiguriert, tauchen weitere lokal
- oder auf einem Serverlaufwerk gespeicherte Snapshots auf
Virtuelle Grafik Diese Optionen sind bisher ohne Funktion
- Virtueller Arbeitsspeicher (RAM) Arbeitsspeicherzuweisung an die
- VM - vorausgewählt ist ein automatisch an den vorhandenen realen Hauptspeicher angepasster Wert. Mit der Auswahl kann man den Hauptspeicher der VM etwas erhöhen oder vermindern.
Nach Auswahl wird die VM mit dem Button Starten!
gestartet.
Basis und Snapshots verwalten¶
Jede virtuelle Maschine besitzt neben der Basis
/PFAD/MASCHINENNAME/MASCHINENNAME.vdi
einen Standard-Snapshot.
Zuerst sollte man eine solide VM-Basis erstellt haben. Da alle darauf basierenden weiteren Snapshots unbrauchbar werden, wenn die Basis aktualisiert werden muss.
Aufbauend auf diese Basis können dann weitere Snapshots erzeugt werden.
VM-Basis aktualisieren¶
Mit Hilfe des Skripts leoclient2-base-snapshot-renew
wird der
aktuelle Zustand der virtuellen Maschine zur neuen Basis.
Hint
Durch eine Erneuerung der Basis werden alle (anderen) darauf aufbauenden Snapshots unbrauchbar.
Nach dem Aufruf des Skripts leoclient2-base-snapshot-renew
mit root-Rechten
$ sudo leoclient2-base-snapshot-renew
sind einige selbsterklärende Fragen zu beantworten.
- Soll der Vorgang abgebrochen werden? (J/N)
- Name der virtuellen Maschine? (VM, die erneuert werden soll)
- Speicherort der virtuellen Maschine? (VM, die erneuert werden soll)
Das Skript startet dann zunächst VirtualBox, um die Sicherungspunkte zu löschen. Eine eventuelle Warnung, die aufgrund fehlender Verbinungen erscheint, kann ignoriert werden. Die Ursache ist z.B. bei dem vorkonfigurierten Ubuntu von linuxmuster.net die fehlende Verbindung zu den Homes als linuxadmin.

VirtualBox-Optionen für Snapshots
- Klicken Sie rechts oben auf die Schaltfläche “Sicherungspunkte (1)”.
- Klicken Sie auf den Snapshot, löschen Sie diesen mit einem Rechtsklick oder mit dem entsprechenden Icon und bestätigen Sie mit “Löschen” den nächsten Dialog.
Haben Sie im aktuellen Zustand bereits Änderungen vorgenommen, so kann das Löschen des Snapshots eine Weile dauern. Im Anschluss kann die VM gestartet werden und (weitere) gewünschte Änderungen durchgeführt werden.
- Schalten Sie die VM aus und beenden Sie VirtualBox
Das Skript erzeugt eine neue Basisfestplatte unter
/PFAD/MASCHINENNAME/MASCHINENNAME.vdi
und komprimiert sie (Das
dauert einige Minuten). Darüber hinaus wird noch ein neuer
Standard-Snapshot erzeugt und gezippt. Der Name des neuen Snapshots,
hier: {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi
, erscheint in der
Konsolenausgabe.
...
##### Processing snapshot: standard #####
* Zipping standard:
* Image: /virtual/winxp/snapshot-store/standard/{c81442ac-4e03-487c-a05a-e82b8918c834}.vdi
* Dir: /virtual/winxp/snapshot-store/standard
* File: {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi
...
Vergleichen Sie den neuen Snapshot-Dateinamen und löschen Sie den alten Standard-Snapshot entsprechend dem Muster
sudo rm /PFAD/MASCHINENNAME/{..alterSnapshot..}.vdi*
$ ls -1 /virtual/winxp/snapshot-store/standard/ {4a895e9c-a6e9-416d-b612-b643035c0103}.vdi {4a895e9c-a6e9-416d-b612-b643035c0103}.vdi.zip {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi.zip filesize.vdi filesize.vdi.zipped $ sudo rm /virtual/winxp/snapshot-store/standard/{4a895e9c-a6e9-416d-b612-b643035c0103}.vdi*
Sollten Sie weitere Snapshots zur virtuellen Maschine haben, haben diese ihre Basis verloren. Löschen Sie diese Snapshots (als root) oder erzeugen Sie sie erneut aus dem bestehenden neuen Standard-Snapshot.
$ ls -1 /virtual/winxp/snapshot-store/Software2016 {4a895e9c-a6e9-416d-b612-b643035c0103}.vdi {4a895e9c-a6e9-416d-b612-b643035c0103}.vdi.zip filesize.vdi filesize.vdi.zipped $ sudo leoclient2-snapshot-create -m winxp -s Software2016 adding: {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi (deflated 100%) OK: Snapshot {c81442ac-4e03-487c-a05a-e82b8918c834}.vdi wurde als Software2016 gesetzt.
Neue Snapshots erzeugen¶
Das Skript leoclient2-snapshot-create
legt mit dem aktuellen Zustand der
VM einen neuen auswählbaren Snapshot an oder den Standard-Snapshot
neu.
Hint
Die Basis, d.h. die zugrundeliegende Basisfestplatte wird dabei nicht verändert. Eine veränderte Hardwarekonfiguration speichert das Skript auch nicht.
Vorgehensweise:
Laden Sie das Skript herunter:
leoclient2-snapshot-create
Legen Sie es unter
/usr/bin/leoclient2-snapshot-create
ab und machen Sie es ausführbar.$ sudo mv leoclient2-snapshot-create /usr/bin/ $ sudo chmod 755 /usr/bin/leoclient2-snapshot-create
Starten Sie als Benutzer die VM (z.B. hier winxp)
$ leovirtstarter2
Installieren Sie Software nehmen Sie die Änderungen vor, fahren Sie die VM herunter.
Rufen Sie das Skript (als root) ohne Argument
-s
auf, um den Standard-Snapshot neu zu setzen,$ sudo leoclient2-snapshot-create -m winxp
oder mit einem Argument
-s
, um einen neuen Snapshot zu erzeugen.$ sudo leoclient2-snapshot-create -m winxp -s Software2016
Jetzt erscheint im Auswahlmenü von
leovirtstarter2
ein neuer Snapshot mit dem NamenSoftware2016
.
Umzug von Leoclient1 nach Leoclient2¶
Für den Umzug benötigen Sie die alte virtuelle Festplatte old.vdi
und den alten Standard-Snapshot old-snapshot.vdi
der
leoclient1-VM.
Ermitteln Sie die Größe und UUID der alten Festplatte
# vboxmanage showmediuminfo /media/old/old.vdi | grep -E 'UUID|MBytes' UUID: 22df228d-ecb2-44ba-a281-7c73a02d26bc Parent UUID: base Capacity: 16384 MBytes Size on disk: 1921 MBytes
Erzeugen Sie eine neue virtuelle Maschine nach Anleitung (mindestens) mit der ermittelten Größe. Im Beispiel wird die neue VM “win-migrate” genannt. Auf die Installation des Betriebssystems kann verzichtet werden. Ändern Sie Typ und Version des Betriebssystem und schließen Sie VirtualBox.
Ermitteln Sie die UUID der neuen Festplatte:
# VBOX_USER_HOME=/var/virtual/win-migrate vboxmanage showmediuminfo /var/virtual/win-migrate/win-migrate.vdi | grep ^UUID UUID: 1fbc6a0c-d9c9-48bf-ad1c-e94c4d7da406
Kopieren Sie die alte virtuelle Festplatte auf die neue Festplatten-Datei
# cp /media/old/old.vdi /var/virtual/win-migrate/win-migrate.vdi
Korrigieren Sie die UUID an den entsprechenden Stellen mit dem Schema
sed -i "s@neue UUID@alte UUID@" Datei
# sed -i "s@1fbc6a0c-d9c9-48bf-ad1c-e94c4d7da406@22df228d-ecb2-44ba-a281-7c73a02d26bc@" /var/virtual/win-migrate/win-migrate.vbox # sed -i "s@1fbc6a0c-d9c9-48bf-ad1c-e94c4d7da406@22df228d-ecb2-44ba-a281-7c73a02d26bc@" /var/virtual/win-migrate/defaults/win-migrate.vbox
Kopieren Sie den alten Standard-Snapshot in das Unterverzeichnis
Snapshots
unter Verwendung des bestehenden Dateinamens der Snapshot-Datei der neuen virtuellen Maschine (bestehende Datei ersetzen).# cp /media/old/old-snapshot.vdi /var/virtual/win-migrate/Snapshots/\{08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7\}.vdi
Aus folgender Fehlermeldung kann man die UUIDs des alten (
ef8629ce-c7c1-424b-8089-0e1d526b0c2c
) und des neuen (08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7
) Snapshots herauslesen# VBOX_USER_HOME=/var/virtual/win-migrate vboxmanage showmediuminfo /var/virtual/win-migrate/Snapshots/*.vdi | grep Error Access Error: UUID {ef8629ce-c7c1-424b-8089-0e1d526b0c2c} of the medium '/var/virtual/win-migrate/Snapshots/{08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7}.vdi' does not match the value {08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7} stored in the media registry ('/var/virtual/win-migrate/VirtualBox.xml')
Korrigieren Sie die UUID des Snapshots in den folgenden Dateien wiederum mit dem Schema
sed -i "s@neue UUID@alte UUID@" Datei
# sed -i "s@08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7@ef8629ce-c7c1-424b-8089-0e1d526b0c2c@" /var/virtual/win-migrate/win-migrate.vbox # sed -i "s@08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7@ef8629ce-c7c1-424b-8089-0e1d526b0c2c@" /var/virtual/win-migrate/defaults/win-migrate.vbox
Setzen Sie den Standard-Snapshot neu (Skript siehe Neue Snapshots erzeugen)
# leoclient2-snapshot-create -m win-migrate adding: {08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7}.vdi (deflated 57%) OK: Snapshot {08b01eb0-2f5b-4091-acf7-cd5f8cbfcef7}.vdi wurde als standard gesetzt.
Starten Sie
leovirtstarter2
mit normalen Benutzerrechten über die Konsole, eventuelle Fehlermeldungen können so gesehen werden.
Alte Dateien von leoclient1 entfernen¶
Die Pakete des alten Leoclient müssen von Hand entfernt werden:
# apt-get purge leoclient-leovirtstarter-client leoclient-leovirtstarter-common
# apt-get purge leoclient-leovirtstarter-server leoclient-tools leoclient-virtualbox leoclient-vm-printer
Evtl. alte Daten von leoclient (Version 1) entfernen:
# rm -rf /etc/leoclient
Weitere Informationen zu leoclient2¶
Speicherort der virtuellen Maschinen¶
Virtuelle Maschinen auf einer zusätzlichen Partition¶
Standardmäßig werden die Dateien einer lokalen VM unter
/var/virtual/
abgelegt. Dieses Verzeichnis liegt im normalen
Dateisystem des Linuxclients. Es wird empfohlen, diesen Speicherort
auf eine zusätzliche Partition auszulagern und nach /var/virtual
per fstab mounten.
Gründe für diese Empfehlung:
- Eine Partition dynamisch unter
/media
dafür zu verwenden ist ungeeignet, da sich deren Namen und Zugriffsberechtigung je nach User ändern kann. - Mit der Auslagerung erfolgt die Synchronisation der Installation des Linuxclients deutlich schneller.
- Die virtuellen Maschinen können über das Synchronisieren der zugehörigen Partition unabhängig von der Linuxinstallation zurückgesetzt werden.
Vorgehensweise:
Es existiert eine Partition /dev/sda3
(wie z.B. bei der start.conf
zum default-cloop), die mit ext4
formatiert ist.
Zunächst das Verzeichnis
/var/virtual/
leeren bzw. den Inhalt wegsichern.Die Datei
/etc/fstab
als root editieren und letzte Zeile ergänzen:# /etc/fstab: static file system information. # /dev/sda3 /var/virtual ext4 defaults 0 0
Danach als
root
die Partition mounten und das ganze dann noch mitdf
überprüfen:# mount -a # df -h
Nun ggf. die weggesicherten Dateien wieder nach
/var/virtual/
zurückspielen und von beiden Partitionen mit Hilfe von LINBO ein Image erstellen.
Attention
Nach dem Anlegen einer neuen VM müssen beide Partitionen geimaged
werden da beim Anlegen einer neuen VM diese unter
/etc/leoclient2/machines
registiert wird. Nach dem Verändern
einer VM muss nur die zusätzliche VM-Partition geimaged werden.
Virtuelle Maschinen auf dem Server¶
Remote virtuelle Maschine erzeugen¶
Eine lokale VM wird zur remoten VM, indem
die in
/etc/leoclient2/servers.conf
konfigurierbare VariableSERVERDIR
auf ein Verzeichnis gesetzt wird, in das im Verlauf des Bootprozesses oder der Anmeldung ein Netzwerk-Share gemountet wirddas Datenverzeichnis der VM auf den Server kopiert wird, z.B. das Verzeichnis
/var/virtual/winxp
in das vom Server gemountete Netzlaufwerk/media/leoclient2-vm
kopiert wird.$ sudo cp -R /var/virtual/winxp /media/leoclient2-vm
Prinzipiell kann die VM danach lokal gelöscht werden.
Dann wird die VM vor dem Starten vom Server nach lokal synchronisiert/kopiert. Da dabei beträchtliche Datenmengen übertragen werden, sollte man das nur bei kleinen, wenig genutzen VM’s machen (z.B. einem Linux-MySQL-Server o.ä.).
VM Windows XP – Tipps und Tricks¶
- Zur Installation in VirtualBox ein CD-Rom-Laufwerk hinzufügen und dann darin das Installations-ISO einlegen, die NTFS-Schellformatierung genügt.
- Die Gasterweiterungen installieren, mit Hilfe der Menüleiste des VBox-Fensters bei “Geräte”. Dadurch wird auch die Maus nicht mehr gefangen und das Fenster der VM ist beliebig skalierbar.
Verbindung zu Home_auf_Server
einrichten:
- Windows Explorer → Menü Extras → Netzlaufwerk verbinden
- einen Laufwerksbuchstabe auswählen (z.B. H:) und Ordner angeben:
\\vboxsrv\home
- ggf. Verknüpfung auf Desktop ziehen und umbenennen
Verbindung zu Tausch-Ordner und USB-Sticks einrichten:
- Windows Explorer → Menü Extras → Netzlaufwerk verbinden
- einen Laufwerksbuchstabe und Ordner angeben:
\\vboxsrv\media
- ggf. Verknüpfungen auf Desktop ziehen und umbenennen
PDF-Drucker in der VM einrichten
Siehe FreePDF-Webseite: http://freepdfxp.de/download_de.html
ghostscript Installieren
Free-PDF Installieren (Version 4.08 bei mir ging 4.14 NICHT(Eigener Drucker anlegen bei 32bit Windows 7))
FreePDF Config starten → admin Config starten
Profile neu : Profil ausdrucken anlegen
Button: Für das aktuelle Profil einen eigenen Drucker anlegen
Profil ausdrucken bearbeiten: FreePDF Dialog
- Als festen Dateinamen speichern
- H:ausdruck.pdf (anpassen, entsprechend
/etc/leoclient2/leoclient-vm-printer2.conf
)- Speichern
Den Drucker FreePDF als Standard Drucker anlegen
Äquivalent funktioniert das Programm PDF24
VM Windows 7 – Tipps und Tricks¶
Bei der Installation bricht die 64bit Version ab, wenn nur 1 GB RAM da ist.
Verbindung zu Home_auf_Server
einrichten:
- Windows Explorer → Rechte Maustaste auf Netzwerk → Netzlaufwerk
- verbinden
- Laufwerksbuchstabe (Üblicherweise
H:
) und Pfad nennen:\\vboxsrv\home
- Verknüpfung auf Desktop ziehen und umbenennen
Verbindung zu Tausch-Ordnern und USB-Sticks einrichten:
- Windows Explorer → Rechte Maustaste auf Netzwerk → Netzlaufwerk
- verbinden
- Laufwerksbuchstabe (Üblicherweise
M:
) und Pfad nennen:\\vboxsrv\media
- Verknüpfung auf Desktop ziehen und umbenennen
VM Windows 10 - Tipps und Tricks¶
Bei der Installation kommen komische Fehlermeldungen, wenn nicht mindestens 2 CPU und 2096MB RAM vorhanden sind.
Verbindung zu Home_auf_Server
(im Homeverzeichnis) einrichten:
- Windows Explorer → Rechte Maustaste auf Dieser PC → Netzlaufwerk
- verbinden
- Laufwerksbuchstabe (Üblicherweise
H:
) und Pfad nennen:\\vboxsrv\home
sowie Haken bei “Verbindung bei Anmeldung wiederherstellen”. - Verknüpfung auf Desktop ziehen und umbenennen in z.B.
Home_auf_Server
Verbindung zu Tausch-Ordnern und USB-Sticks einrichten:
- Windows Explorer → Rechte Maustaste auf Dieser PC → Netzlaufwerk
- verbinden
- Laufwerksbuchstabe (Üblicherweise
M:
) und Pfad nennen:\\vboxsrv\media
sowie Haken bei “Verbindung bei Anmeldung wiederherstellen”. - Verknüpfung auf Desktop ziehen und umbenennen in z.B.
Medien
PDF-Drucker in der VM einrichten
Siehe FreePDF-Webseite: http://freepdfxp.de/download_de.html
ghostscript Installieren (9.20)
Free-PDF Installieren (Version 4.08 getestet)
<Start> -> FreePDF Config starten
Profile neu
Name des Profils: “ausdrucken”, Button: “Alle Benutzer” –> Speichern
Profil “ausdrucken” wählen, “Für das aktuelle Profil einen eigenen Drucker anlegen” (Schild um Änderung zuzulassen)
Profil “ausdrucken” wählen, Button: Ändern -> Free PDF Dialog (linker Bereich)
- Aktion beim Drucken: Als festen Dateinamen speichern
- H:ausdruck.pdf (anpassen, entsprechend
/etc/leoclient2/leoclient-vm-printer2.conf
)- Speichern
Den Drucker FreePDF als Standard Drucker anlegen
Äquivalent funktioniert das Programm PDF24
VM schrumpfen – Tipps und Tricks¶
Die virtuellen dynamischen Festplattendateien werden im Laufe des Betriebes immer größer, nie kleiner, auch wenn man Dateien löscht. Zum Verkleinern muss man vierschrittig vorgehen:
- Alles überflüssige in der VM löschen
- Unbenutzte Festplattenbereiche in der VM nullen
- Mit dem Tool VBoxManage die .vdi-Festplattendatei kompakter machen
- Die kompakte Festplattendatei als neuen base-Snapshot setzen
Windows XP kompakter machen¶
Vorgehensweise (am Beispiel einer virtuellen Maschine mit Namen „winxp“):
Die leoclient-VM booten und
sdelete
undCCleaner
in der VM installieren:- download →
sdelete
(Microsoft-Tool), kopieren nachC:\Windows
- download →
CCleaner
von heise.de
- download →
Auslagerungsdatei abschalten, reboot der VM und dann die versteckte Datei
C:\pagefile.sys
löschenCCleaner ausführen und alles Wesentliche löschen lassen
Ggf. Defragmentieren von c: (Auswirkung unklar)
In der Windows Eingabeaufforderung ausführen:
sdelete.exe -z c:
(dauert etwas)Auslagerungsdatei wieder anschalten, Herunterfahren der VM
Als linuxadmin im Terminal ausführen und den Anweisungen folgen:
# sudo leoclient2-base-snapshot-renew
Der aktuelle Snapshot
Snapshots/{...}.vdi
wird dadurch zur Basisfestplattewinxp.vdi
„gemerged“ und ist diese danach wieder sehr kein.Als linuxadmin im Terminal ausführen um die Basisfestplatte zu schrinken:
# sudo VBoxManage modifymedium --compact /var/virtual/winxp/winxp.vdi
Nun Basis nochmals neu erstellen, um die kompaktere Festplatte zu zippen und nach
snapshot-store/
zu kopieren:# sudo leoclient2-base-snapshot-renew
Linux-VM kompakter machen¶
Zuerst alles Überflüssige in der laufenden VM löschen, u.a. auch der apt-Cache. Die anschließend beste Vorgehensweise ist das Einbinden der .vdi-Festplatte in ein anderes System, z.B. in ein live-Linux-System, um das „Nullen“ durchzuführen:
- das Tool „zerofree“ nullt die unbenutzten Festplatteninhalte
- auch Swap-Partition nullen per dd-Befehl
- Schließlich die 3 Punkte wie oben bei WinXP durchführen.
- leoclient2-base-snapshot-renew
- vboxmanage modifymedium
- leoclient2-base-snapshot-renew
Das Tool VBoxManage kann nur .vdi-Datein schrinken. Dateien vom Typ .vmdk müssen zuerst in .vdi-Datein umgewandelt werden und danach ge-shrinked werden:
# VBoxManage clonehd disk1.vmdk disk1.vdi --format vdi
# VBoxManage modifyhd --compact disk1.vdi
Virtuelle Maschine direkt starten¶
Das zusätzliche Skript leoclient2-directstart
startet direkt ohne Dialog eine VM.
Vorgehensweise:
Laden Sie das Skript herunter
leoclient2-directstart
Legen Sie das Skript unter
/usr/bin
ab und machen es ausführbar.$ sudo mv leoclient2-directstart /usr/bin/ $ sudo chmod 755 /usr/bin/leoclient2-directstart
Das Skript kann mit folgenden Parameter gestartet werden:
# /usr/bin/leoclient2-directstart -m <VM> [-s <Snapshot>] -r <RAM> m: Name der lokalen VM, zwingend notwendig s: Name des lokalen Snapshots, ohne wird "wie vorgefunden" verwendet r: RAM in MB, zwingend notwendig
Starten Sie das Skript
$ leoclient2-directstart -m winxp -r 1024 -s standard
Hint
Einschränkungen des Skriptes:
- Eine Datei
network.conf
wird von dem Script nicht ausgewertet. - Bei den Berechtigungen wird nur der Snapshot und die primäre Gruppe des Users überprüft.
- Bei Angabe ohne Snapshot, kann “wie vorgefunden” nicht einen gespeicherten Zustand starten.
Zum bequemen Starten kann man einen Desktop-Starter anlegen, z.B. für die VM „winxp“ mit 1024 MB RAM und „standard“-Snapshot:
[Desktop Entry]
Version=1.0
Type=Application
Name=VirtualBox Direktstart
Comment=Starting Snapshots of VirtualBox
Comment[de]=Starten von VirtualBox Snapshots
Exec=/usr/bin/leoclient2-directstart -m winxp -r 1024 -s standard
Icon=leovirtstarter2
Categories=Graphics;Engineering;
Categories=Emulator;System;Application;
Terminal=false
Netzwerkeinstellungen einer VM¶
Die Netzwerkkonfiguration der VM erfolgt durch eine Datei
network.conf
, die zusätzlich im Verzeichnis der VM angelegt werden
muss. Fehlt diese Datei oder treten Fehler bei der Konfiguration auf,
werden beim Snapshot-Start des leovirtstarters2 immer alle
Netzwerkkarten deaktiviert.
Möchte man eine Netzwerkkarte aktivieren, so muss im
Maschinenverzeichnis der VM eine Datei
<MASCHINENPFAD>/network.conf
angelegt werden, die 5 Einträge in
einer Zeile, durch Strichpunkt getrennt, enthält. Diese Konfiguration
gilt dann für alle lokalen Snapshots dieser VM.
- hostname (Name des Linux-Clients auf dem VirtualBox installiert ist)
- vm-nic (1-4)
- mode (none|null|nat|bridged|intnet|hostonly|generic|natnetwork)
- macaddress
- devicename (eth0,eth1,…) oder (auto-unused-nic|auto-used-nic)
Z.B. /var/virtual/winxp/network.conf
# Beispiel einer NAT-Netzwerkkarte
r100-pclehrer;1;nat;080011223344;auto-used-nic
Folgendes typische Netzwereinstellungen können bisher (Version 0.5.4-1, Juli 2015) umgesetzt werden:
- nat - NAT auf die NIC des pädagogischen Netzes (VM kann ins Internet)
- bridged + auto-used-nic - Bridge auf die Karte ins pädagogische Netz
- bridged + auto-unused-nic - Bridge auf eine zweite Karte (nicht ins pädagogische Netz verbunden -> unused)
Mit Hilfe des hostname
kann man z.B. auf verschiedenen Clients
verschiedene MAC-Adressen in der VM für den Bridged-Modus verwenden.
Es gibt insgesamt 4 Möglichkeiten eine network.conf
-Datei
abzulegen: zweimal lokal und zweimal im SERVERDIR
. Für die
Priorität der Möglichkeiten gilt folgende Reihenfolge:
- Ist auf dem Server speziell für einen Snapshot der VM eine eigene
- Datei
<SERVERDIR>/<MACHINENAME>/snapshot-store/<SNAPSHOT>/network.conf
vorhanden, so wird diese benutzt.
- Danach wird die Datei auf dem Server für die VM
<SERVERDIR>/<MACHINENAME>/network.conf
ausgewertet (falls vorhanden). - Anschließend wird die lokale Datei für den Snapshot der VM
<lokaler Maschinenpfad>/network.conf
ausgewertet (falls vorhanden). - Abschließend wird die lokale Datei für die VM
<lokaler Maschinenpfad>/snapshot-store/<SNAPSHOT>/network.conf
- ausgewertet (falls vorhanden).
- Abschließend wird die lokale Datei für die VM
- Ist keine Datei
network.conf
vorhanden, werden alle Netzwerkkarten für die VM deaktiviert.
Fehlersuche - Fehlerbehebung¶
Log-Datei `````
Am Client findet man unter
/tmp/leovirtstarter2.log
die aktuelle log-Datei des
leovirtstarters2
zur Fehlersuche.
Endlosschleife bei leoclient2-base-snapshot-renew
`````````````````````````````````````````````````
Problem: Das
Script leoclient2-base-snapshot-renew
läuft in eine
Endlosschleife, wenn im Verzeichnis <lokaler
Maschinenpfad>/Snapshots/
eine verweiste Snapshot-Datei übrig
bleibt.
Lösung: Die verweiste Snapshot-Datei manuell löschen, dann
leoclient2-base-snapshot-renew
nochmals ausführen.
Snapshot passt nicht zur Basisfestplatte¶
Nach einem leoclient2-base-snapshot-renew
werden bisherige
Snapshots unbrauchbar und sollten auch nicht mehr verwendet
werden. Der Snapshotname wird dabei auch geändert. In der Datei
<Maschinennamen>.vbox
wird der aktuell gültige Snapshotnamen
{…}.vdi
aufgeführt.
Problem: Unter <Maschinenpfad>/Snapshots
liegt ein alter Snapshot, der Name passt nicht. VirtualBox startet deshalb nicht.
Lösung: Den Snapshot in <Maschinenpfad>/Snapshots
manuell löschen
und dann einen Snapshot mit dem aktuellen Namen aus
<Maschinenpfad>/snapshot-store/standard/
in das Verzeichnis
<Maschinenpfad>/Snapshots
kopieren.
network.conf
für lokalen Snapshot bereitstellen¶
Problem: Aktuell wertet der leovirtstarter2
eine network.conf
im Verzeichnis des lokalen Snapshots nicht aus. (leoclient2-Version:
0.5.4-1)
Lösung: Wenn man jedoch eine network.conf
im remote-Pfad des
Snapshots ablegt, wird diese ausgewertet. Weitere Dateien müssen im
remote-Pfad nicht vorhanden sein. Der remote-Pfad muss nicht zwingend
remote liegen! Z.B. mit den voreingestellten Standard-Pfaden des
Snapshots „physik“:
- lokaler Snapshot-Pfad:
/var/virtual/winxp1/snapshot-store/physik/...
- ergibt
network.conf
-Pfad:/media/leoclient2-vm/winxp1/snapshot-store/physik/network.conf
leovirtstarter2
zeigt “wie vorgefunden” nicht an¶
Problem: Im Auswahlmenü wird „wie vorgefunden“ nicht angezeigt oder kann nicht gestartet werden.
Ursache 1: Die VM wurde nicht ausgeschaltet sondern befindet sich in
einem gespeicherten Zustand. Im Verzeichnis .../Snapshots
befindet
sich eine *.sav
-Datei.
Lösung 1: Den „Standard“-Snapshot starten oder die Maschine direkt mit VirtualBox starten und dann herunterfahren.
Ursache 2: Im Verzeichnis Maschinenpfad>/Snapshots/
befinden sich
überflüssige Dateien.
Lösung 2: Alle Dateien löschen bis auf den aktuellen Snapshot:
{...}.vdi
. Der Name/die UUID des aktuellen Snapshots kann man
(falls unklar) aus der <Maschinenname>.vbox
-Datei ermitteln.
Hintergrundinformationen¶
Virtuelle Maschine erzeugen¶
Beim Anlegen einer virtuellen Maschine mit leoclient2-init
wird
der Pfad zur Maschine in
/etc/leoclient2/machines/MASCHINENNAME.conf
gespeichert.
Nach Beenden von Virtualbox werden folgende Aktionen vom Script ausgeführt:
- Ein Snapshot wird erzeugt (in
/PFAD/MASCHINENNAME/Snapshot/
) und dieser als Standard-Snapshot nachPFAD/MASCHINENNAME/snapshot-store/standard/
gesichert. - Außerdem werden die Konfigurationsdateien (compreg.dat,
VirtualBox.xml, xpti.dat und MASCHINENNAME.vbox) gesichert nach
/PFAD/MASCHINENNAME/defaults/
. - Abschließend werden alle Dateirechte für den Einsatz gesetzt
(z.B.
/PFAD/MASCHINENNAME/MASCHINENNAME.vdi
nur lesbar, da diese Datei nicht verändert werden darf)
Jede VM ist vollständig in ihrem Maschinenverzeichnis gespeichert.
Serverbasierte VM kopieren, lokaler cache¶
Die auf dem Server liegenden gezippten Basisimages und Snapshots
werden (falls lokal nicht vorhanden oder verändert) beim Start in den
lokalen cache kopiert und dann lokal an die Stelle entpackt, wo sie
genutzt werden. Der Cache hat eine maximale Größe, die in
SERVERDIR/caches.conf
definiert wird. Es empfielt sich dafür ein
lokales Datenlaufwerk zu verwenden. Falls das nicht vorhanden ist, ein
Verzeichnis auf der Partition mit den virtuellen Maschinen.
Virtuelle Maschine starten¶
VirtualBox startet mit der Umgebungsvariablen VBOX_USER_HOME
($
export VBOX_USER_HOME=/PFAD/MASCHINENNAME
) und mit der Einstellung
für den Standardort für die VM für Virtualbox ($ VBoxManage
setproperty machinefolder /PFAD/MASCHINENNAME
). Mit diesen
Anpassungen und anschließendem Starten von Virtualbox ($
VirtualBox
) kann eine VM auch von Hand gestartet werden.
Damit leovirtstarter2
eine lokale Maschine findet, muss in
/etc/leoclient2/machines/MASCHINENNAME.conf
ihr Pfad eingetragen
sein. (leoclient2-init erzeugt diese Datei automatisch). Der
Standard-Pfad für die lokalen VM ist dabei /var/virtual/
.
Außer den lokal vorhandenen Maschinen wird auch in allen in
SERVERDIR
konfigurierten Pfaden nach Maschinen gesucht. (Der Pfad
MUSS NICHT remote liegen, allerdings geht leovirtstarter2
davon
aus und holt diese Maschinen in gezippter Form
(Netzwerk-Bandbreitenschonend) zu den lokalen Maschinen und startet
Sie dort). Der Standard-Pfad für die remote VM ist dabei
/media/leoclient2-vm
.
Auflisten kann man alle sichtbaren VM’s mit:
$ leovirtstarter2 -i
$ leovirtstarter2 --info
Wird mit dem leovirtstarter2
ein Snapshot einer VM zum Starten
ausgewählt, wird folgendes abgearbeitet:
- Kopieren der Standard-Konfigurationsdateien aus
/PFAD/MASCHINENNAME/defaults/
nach/PFAD/MASCHINENNAME/
- Anpassen folgender Angaben:
- Shared Folder verbinden ins Heimatverzeichnis des angemeldeten Benutzers
- Netzwerkeinstellungen (verschiedene Möglichkeiten stehen zur Verfügung)
- Starten der Maschine
Gibt es die Maschine auch Remote, können zusätzlich folgende Dinge erfolgen:
- Snapshots wird gegebenenfalls vom Server in den lokalen Cache kopiert.
- Reparatur des Basisimages, falls notwendig
- Update der lokalen VM durch die Remote-VM, falls verschieden.
- Der Snapshot wird aus dem Cache bzw. aus
/PFAD/MASCHINENNAME/snapshot-store/default/
nach/PFAD/MASCHINENNAME/Snapshots/{…}.vdi
entzippt
Berechtigungen zum Starten einer VM bzw. eines Snapshots¶
An welchen Rechnern (Hosts) welcher User eine VM starten darf wird in /PFAD/MASCHINENNAME/image.conf
konfiguriert.
Es werden USER, GROUP, HOST, ROOM gelistet, die Zugriff erhalten sollen (Positivliste). Wenn nichts konfiguriert wird, haben alle User von allen Hosts Zugriff. Es gibt 2 Arten des Zugriffs:
USER-LEVEL Zugriff:
Zeile mit user=user1,user2 für den Zugriff eines Users Zeile mit group=group1,group2 für den Zugriff eines in der primären/sekundären Gruppe group1,group2 befindlichen Users (z.B. teachers)
HOST-LEVEL Zugriff:
Zeile mit host=host1,host2 für den Zugriff eines Hosts Zeile mit room=raum1,raum2 für den Zugriff eines in der primären Gruppe raum1,raum2 befindlichen Hosts
Um eine Maschine starten zu können, müssen BEIDE Level erfüllt sein (logische UND-Verknüpfung): Der User muss auf die VM zugreifen dürfen UND der Host muss die VM starten dürfen. Die Dateirechte der VM- bzw. Snapshot-Verzeichnisse müssen so eingestellt sein (z.B. Zugriff für alle), das die Konfigurierten USER, GROUP, HOST, ROOM Zugriff auf die VM/den Snapshot besitzen.
Beispieldatei image.conf
# Berechtigugen eine VM zu starten.
group=teachers
host=
room=lehrerzimmer
Hinweis: Die Berechtigung für einen einzelnen Snapshot wird nur dann korrekt ausgewertet, wenn beim HOST-LEVEL beide Optionen host und room auftauchen. Fehlt z.B. die „room“-Option ist jeder Raum und damit auch jeder Host zugelassen!
Stand Version 0.5.4-1 Juli 2015: Die Gruppen- und User-Beschränkung auf VM-Ebene wird z.Z. nicht korrekt ausgelesen → ‘group’ und ‘user’ damit ohne Funktion
Datenstruktur einer VM¶
Virtualbox-Dateien
In der obersten Verzeichnisebene im Verzeichnis der VM verwaltet VirtualBox die aktuell verwendete Maschine:
- Die Basisdatei ist
MASCHINENNAME.vdi
, sie enthält den Basis-Zustand der Festplatte und ist meist mehrere GB groß - Konfigurationsdateien
- Logdateien
- usw. …
- Im Unterverzeichnis
Snapshots
verwaltet VirtualBox den aktuell verwendeten Snapshot {*}.vdi.
leoclient2-Dateien
MASCHINENNAME.conf
beinhaltet den Pfad in dem die VM erstellt wurde. Dorthin wird sie im Fall einer remoten Maschine auch wieder entpackt (funktioniert nur in diesem Pfad)network.conf
ist optional. Konfiguriert die Netzwerkkarten der Virtuellen Maschine (falls keine network.conf speziell für den Snapshot exisiert)image.conf
ist optional.- Das Unterverzeichnis
snapshot-store
enthält in Unterverzeichnissen weitere Snapshots. (Bei einer lokalen VM ist meist nur das Verzeichnis standard vorhanden): {*}.vdi
ist die Snapshot-Datei.{*}.vdi.zip
ist die gezippte Snapshot-Datei (nur etwa 1/3 so groß wie{*}.vdi)
.filesize.vdi
ist eine Textdatei und enthält die Größe von{*}.vdi
.filesize.vdi.zipped
ist eine Textdatei und enthält die Größe von{*}.vdi.zip
.network.conf
ist optional. Konfiguriert die Netzwerkkarten für diesen Snapshot.- Das Unterverzeichnis
defaults
enthält ein Backup der Konfigurationsdateien. Vor dem Start der Maschine kann mit diesen Dateien die Maschine zurückgesetzt werden (Kopieren auf eine Verzeichnisebene höher).
Übersicht der Scripte/Befehle zum leoclient2¶
- leoclient2-init:
- legt eine neue lokale VM an
- leovirtstarter2
startet das grafische Auswahlfenster und anschließend die VM mit Optionen
--info listet alle VMs auf der Konsole auf --vbox startet das grafische Auswahlfenster und VirtualBox ohne die VM zu starten -h Hilfe anzeigen --local-snapshots nur lokale Snapshots listen --ignore-virtualbox startet den leovirtstarter auch wenn gerade VirtualBox ausgeführt wird --serverdir <abs path> verwendet anderen Pfad statt SERVERDIR zu den remote VMs
- leoclient2-base-snapshot-renew
- Erstellt eine neue Basisfestplatte mit dem aktuellen Snapshot der zur bisherigen Basisfestplatte ge-„merged“ wird. Der „Aktuelle Zustand“ wird somit gesichert/festgeschrieben.
- leoclient2-vm-move
- Importiert eine VM (z.B. vom externen Speichermedium) oder verschiebt ein VM
- VBoxManage
- mit vielen Optionen Konsolen-Tool zum Bearbeiten von VMs
Entwicklungsdokumentation des leoclient2¶
siehe http://www.linuxmuster.net/wiki/entwicklung:linuxclient:leoclient2
LINBO nutzen¶
LINBO steht für GNU/Linux Network Boot. Es wurde im Auftrag des Landesmedienzentrums Baden-Württemberg von der Firma KNOPPER.NET in Zusammenarbeit mit den damaligen paedML-Linux- und heutigen linuxmuster.net-Entwicklern realisiert. Der Sourcecode ist unter GNU General Public License Version 2 veröffentlicht.
LINBO bietet
- vollautomatisches Ausrollen von Client-Installationen im Netzwerk
- Verwaltung mehrerer Betriebssystem-Installationen auf einem Client (Multiboot)
- minutenschnelle automatische Reparatur des Betriebssystems (SheilA-Prinzip)
- konfigurierbarer Autostart
- grafische Client-Oberfläche zur einfachen Bedienung durch Anwender und Netzwerkbetreuer
- vollständige Integration in die linuxmuster.net
Der LINBO Startbildschirm¶
Wird der Arbeitsplatzrechner (Client-PC) über das Netzwerk gebootet, startet LINBO und zeigt folgenden Bildschirm, wenn der PC noch nicht aufgenommen / registriert wurde.

Linbo Startbildschirm eines nicht aufgenommenen Clients
Sobald der Client registriert wurde, zeigt der Startbildschirm weitere Optionen an.

Linbo Startbildschirm eines aufgenommenen Clients
Informationen¶
Im oberen Teil in LINBO werden Informationen zum Client angezeigt.
- Host
- Der festgelegte Hostname oder “pxeclient”, wenn der Client nicht registriert ist.
- Gruppe
- Die festgelegte Hardwareklasse
- IP, MAC
- Die festgelegten Netzwerkadressen oder “OFFLINE”, wenn der Client ohne Netzwerkverbindung zum Server gestartet wurde.
- HD, CPU, RAM
- Zeigt die entsprechend verbaute Hardware des Clients an: Festplattengröße, Prozessor und Hauptspeicherinformationen
- Cache
- Zeigt die freie/gesamte Partitionsgröße der Cache-Partition an.
Neben der (vermutlich) aktuellen Uhrzeit auf dem Client werden im unteren Teil Status- und Rückmeldungen der einzelnen Aktionen in einem scrollbaren Texftfeld angezeigt, die bei einer Fehlersuche Informationen liefern können.
Start-Reiter¶
Pro festgelegter Partition (mit Betriebssystem oder ohne) erscheinen im Start-Reiter ein großer Knopf und vier kleinere Knöpfe mit folgenden Bedeutungen

Sync+Start Knopf

Start Knopf

Neu+Start Knopf

Information

Standardknopf Ubuntu

Standardknopf Windows
Note
Die einzelnen Schaltflächen für die Startmechanismen können auch ausgegraut sein, wenn der Administrator den jeweiligen Mechanismus deaktiviert hat.
Imaging-Reiter¶
Hier können die Abbilder (Images) verwaltet werden. Der Bereich ist mit dem Passwort von “LINBO” abgesichert.

Attention
Bei der Eingabe des LINBO-Passwortes werden keine Zeichen angezeigt, weder das Passwort selbst, noch Sterne.
LINBO Imageverwaltung am Client¶
Über den Tab “Imaging” erhält der Administrator neue Funktionen

Für jedes definierte Betriebssystem gibt es Schaltflächen für die Funktionen

Image erstellen

Image hochladen
Daneben können gibt es Schaltflächen für folgende administrative Funktionen

Console

Cache aktualisieren

Partitionieren

Registrieren
Darüberhinaus läuft in einem kleinen Fenster ein Timeout herunter, den man abstellen kann. Dort kann man auch über die Schaltfläche LOGOUT zurück zum Startbildschirm.
Dialog: Image erstellen¶

Zur Auswahl steht der momentane Name des Abbilds. Das aktuelle Abbild wird dann beim Erstellen überschrieben. Beim Hochladen des aktuellen Abbilds mit demselben Namen wird auf dem Server ein Backup des vorherigen Abbilds erstellt.
Wird ein neuer Dateiname gewählt, kann man Informationen zu dem neuen Image verfassen.
Warning
Vergibt man einen neuen Dateinamen, sollte man sicher stellen, dass die Cache-Partition über ausreichend Platz verfügt, da das alte Image ebenfalls im Cache gespeichert bleibt. Ist nicht genügend Platz vorhanden, dann schlägt das Erstellen des Abbildes fehl.
Wird “Differentielles Image” gewählt, dann gilt der neue Dateiname für das zu erstellende differentielle Image (mit der Dateiendung ‘.rsync’).
Es gibt die beiden Optionen zum Abschluss der Aktion “Erstellen” oder “Erstellen+Hochladen” den Computer neu zu starten oder herunterzufahren.
Dialog: Image hochladen¶

Wie beim Image erstellen Dialog, kann hier explizit nur ein ausgewähltes Image hochgeladen werden und der Rechner zum Abschluss neu gestartet oder heruntergefahren werden.
Dialog: Console¶

Der einfache Konsolendialog erlaubt die Eingabe einzelner Befehle in die untere Zeile. Die Ausgabe des ausgeführten Befehls erscheint im oberen Fenster.
Dialog: Cache aktualisieren¶

Der Cache wird aktualisiert. Es werden die drei Möglichkeiten der Synchronisation zur Auswahl gegeben: Rsync, Multicast oder Bittorrent.
Dialog: Partitionieren¶
Es wird noch einmal gefragt, ob man wirklich alle Daten auf der Festplatte löschen will. Danach kann man mit “Cache aktualisieren” aber auch wieder die Abbilder vom Server kopieren.
Dialog: Registrieren¶

Mit diesem Dialog kann ein erstmalig genutzer Rechner registriert werden. Dafür müssen alle Eingabefelder dem Vergabeschema entsprechend ausgefüllt werden.
Boot-Bildschirme in LINBO¶
Beim Booten in LINBO sind folgende Bildschirme sichtbar:
- Bootvorgang via Netzwerk

Initialmeldungen beim Bootvorgang via Netzwerk (PXE)
- Egal ob über die lokale Festplatte gebootet wurde oder nach dem Bootvorgang via Netzwerkkarte (PXE) wird mit der Gruppenkonfiguration der Kernel geladen.

Bootbildschirm: Laden des Kernels
- Der gebootete LINBO-Kernel erscheint als ASCII-Art.

LINBO-Kernelboot ASCII-Art
- Die Grub-Konfiguration wird aktualisiert.

LINBO-Grub Installation
Darauf folgt der reguläre LINBO Startbildschirm.
Boot-Abbild für USB-Sticks und CD/DVD¶
Zum Brennen auf CD/DVD oder zum Kopieren auf einen USB-Stick kann man unter der Adresse
https://server/linbo.iso das aktuelle LINBO herunterladen und auf einen USB-Stick oder eine CD/DVD kopieren.
Das Booten eines Rechers mit einem Linbo-Stick/Linbo-CD/CVD kann nötig werden, wenn - in seltenen Fällen - Linbo nicht per PXE installiert wird.
Bootet man einen Rechner vom Stick, oder von einer CD/DVD, dann sieht man folgendes Bild:

Mit Enter
wird der Client gebootet

Mit der Auswahl Ersteinrichtung + Neustart
wird Linbo eingerichtet und der Rechner mit Linbo gestartet.
Nach einem Neustart stehen alle Linbo-Funktionen zur Verfügung (Bild unten).
Mit der Auswahl Debugmodus
wird im Textmodus nur bis zur Konsole gebootet.

Linux-Client - Anpassungen mit Postsync-Scripten¶
Linux-Clients können in linuxmuster.net mithilfe sog. Postsync-Scripte an besondere Nutzungssituationen sehr variabel angepasst werden.
Nach erfolgreicher Synchronisation mit dem Client-Image, das auf dem Server liegt (sog. Cloop), werden weitere Scripte auf dem Client ausgeführt. Es können so z.B. bestimmte Dateien vom Server auf den Client gespielt werden, oder z.B. auf dem Lehrer-PC spezifische Anpassungen vorgenommen werden, die die anderen Schüler-PCs nicht erhalten.
Inhalt:
Funktionsweise und Grundlagen der Postsync-Scripte¶
Allgemeines
Nachdem der Linux-Client mit Linbo seinen lokalen Cache mit dem Cloop auf dem Server synchronisiert hat, wird ein vorhandenes Postsync-Script angewendet, das für ein sog. Cloop (also ein Client-Image) auf dem Server vorhanden ist. Wird ein sog. universelles Postsync-Script erstellt, so können sog. Patches – also spezifische Anpassungen – für die Patchklasse, den Raum und ggf. einzelne Rechner angewendet werden.
Nach der Synchronisation werden die Clients durch das Script vollständig auf deren Einsatzumgebung angepasst wird. Hierdurch können z.B. spezielle Anpassungen für Lehrer – PCs in einzelnen Räumen, oder für alle zu nutzenden Drucker bereitgestellt werden.
Wo liegt das Postsync-Script ?
Das Postsync-Script liegt im Verzeichnis:
/var/linbo/<LinuxImagename>.cloop.postsync
Es weist folgende Rechte auf:
-rw-rw---- 1 root root
Attention
Dieses Script wird also auf das jeweilige Cloop angewendet.
Patchklassen für Postsync-Scripte¶
Wo müssen die Anpassungen (Patches) abgelegt werden ?
Unter
/var/linbo/linuxmuster-client/
Dort finden sich weitere Unterverzeichnisse. Diese stellen die sog. Patchklasse dar. Wird also z.B. der Linuxmuster-Client 14.04 (trusty = Name der Patchklasse) verwendet, so sind alle weiteren Patches für 14.04er-Clients in diesem Verzeichnis abzulegen.
Die Anpassungen finden sich also unter:
/var/linbo/linuxmuster-client/trusty/
Bei Linuxmuster-Clients 16.04 (Xenial) wäre dies z.B. das Verzeichnis:
/var/linbo/linuxmuster-client/xenial/
Diese Patches werden nach folgendem Schema angewendet:
im Unterverzeichnis .../common liegende Patches erhalten alle Rechner
im Unterverzeichnis .../r100 liegende Patches erhalten nur die Rechner in Raum r100
im Unterverzeichnis .../r100-pc01 liegende Patches erhält nur der PC01 in Raum r100 die Dateien.
Unterhalb dieser Verzeichnisse sind alle Anpassungen so abzulegen, wie diese dann auf den betreffenden Clients angewendet werden sollen - bsp.:
.../common/etc/cups/cups.conf
Auf diese Weise würde die Datei cups.conf im Verzeichnis /etc/cups auf allen Clients der Patchklasse angepasst werden.
In der Patchklasse xenial würde eine Änderung der Datei rc.local auf allen Rechnern in folgendem Verzeichnis abgelegt:
/var/linbo/linuxmuster-client/xenial/common/etc/rc.local
Um auf dem Server obige Verzeichnisstruktur zu erhalten, ist auf dem linuxmuster.net Server das Paket linuxmuster-client-servertools zu installieren.
Hierzu ist folgender Befehel anzuwenden:
sudo apt-get install linuxmuster-client-servertools
Dieses Paket liefert ein sog. universelles Postsync-Script mit, das weiter angepasst und auf die Cloops angewendet werden kann.
Dieses Script ist zur Anwendung auf ein Cloop entsprechend zu kopieren nach:
/var/linbo/<LinuxImagename>.cloop.postsync
Die Vorlage des universellen Postsync-Scriptes liegt in folgendem Verzeichnis:
/usr/lib/linuxmuster-client-servertools/generic.postsync
Dieses Script ist so aufgebaut, dass auch noch weitere Scripte ausgeführt werden (z.B. solche, die nur in Raum r100 ausgeführt werden sollen). Scripte, die abgearbeitet werden sollen, müssen in dem jeweiligen Unterverzeichnis postsync.d liegen.
Sollen Scripte für die Patchklasse xenial und dann nur auf PCs im Raum r100 angewendet werden, so müssen die Scripte in folgendem Verzeichnis liegen:
/var/linbo/linuxmuster-client/xenial/r100/postsync.d/
Die Skripte müssen Sh-Scripte sein, da Linbo keine BASH als Shell kennt.
In diesen Scripten ist der Shebang
#!/bin/sh
voranzustellen.
Beipiele für solche Scripte finden sich im Verzeichnis
/usr/lib/linuxmuster-client-servertools/generic.postsync/generic.postsync.d/
Es finden sich folgende Skripte als Beispielvorlagen:
-rw-r--r-- 1 root root 269 Nov 21 2016 00-lcst-fix-initrd
-rw-r--r-- 1 root root 540 Nov 21 2016 01-lcst-setlocalpasswords
-rw-r--r-- 1 root root 232 Nov 21 2016 02-lcst-patch-sshd-config
-rw-r--r-- 1 root root 673 Nov 21 2016 03-lcst-fix-fstab
-rw-r--r-- 1 root root 564 Nov 21 2016 04-lcst-generate-hosts
Diese können für die gewünschte Patchklasse in das jeweilige Verzeichnis kopiert und angepasst werden. Diese Scripte werden entsprechend ihrer lexikalischen Reihenfolge ausgeführt, also hier beginnend mit der niedrigsten Ziffer.
Nachstehende Abbildungen verdeutlichen diesen Aufbau:

Das allgemeine Postsync-Script arbeitet nach folgendem Schema:

Beispiel
Nachstehender Verzeichnisbaum verdeutlicht, dass für Linuxmuster-Clients für alle PCs der Patchklasse xenial alles unterhalb von ./common angewendet wird. Zudem wird für den raum1 alles unterhalb von ./raum1 angewendet und schließlich wird für den Lehrer-PC in raum1 alles unterhalb von ./raum1-lehrer-pc angewendet.
19:06/0 server /var/linbo/linuxmuster-client/xenial # ls -ld $(find .)
drwxr-xr-x 7 root root 4096 Nov 20 10:25 .
drwxr-xr-x 3 root root 4096 Apr 22 2016 ./common
drwxr-xr-x 3 root root 4096 Mär 17 12:54 ./common/etc
drwxrwxr-x 2 root root 4096 Mai 9 2016 ./common/etc/cups
-rw-r--r-- 1 root root 21 Mai 9 2016 ./common/etc/cups/client.conf
-rw-r--r-- 1 root root 797 Mär 31 09:16 ./common/etc/fstab
-rw-r--r-- 1 root root 443 Mai 9 2016 ./common/etc/hosts
drwxr-xr-x 4 root root 4096 Mär 26 2015 ./raum1
drwxr-xr-x 7 root root 4096 Nov 20 10:10 ./raum1/etc
drwxr-xr-x 2 root root 4096 Apr 14 10:38 ./raum1/etc/cups
-rw------- 1 root root 3588 Apr 14 10:40 ./raum1/etc/cups/printers.conf
drwxr-xr-x 2 root root 4096 Mär 26 2015 ./raum1/etc/default
-rw-r--r-- 1 root root 369 Nov 5 2011 ./raum1/etc/default/epoptes
-rw-r--r-- 1 root root 668 Nov 20 10:01 ./raum1/etc/default/epoptes-client
drwxr-xr-x 2 root root 4096 Mär 26 2015 ./raum1/etc/epoptes
-rw-r--r-- 1 root root 875 Mär 26 2015 ./raum1/etc/epoptes/server.crt
-rw------- 1 root root 916 Mär 26 2015 ./raum1/etc/epoptes/server.key
-rw-r--r-- 1 root root 984 Nov 20 10:18 ./raum1/etc/hosts
drwxr-xr-x 2 root root 4096 Mär 26 2015 ./raum1/etc/init.d
-rwxr-xr-x 1 root root 1645 Apr 8 2012 ./raum1/etc/init.d/epoptes
-rwxr-xr-x 1 root root 1124 Apr 8 2012 ./raum1/etc/init.d/epoptes-client
drwxr-xr-x 3 root root 4096 Mär 26 2015 ./raum1/etc/xdg
drwxr-xr-x 2 root root 4096 Mär 26 2015 ./raum1/etc/xdg/autostart
-rw-r--r-- 1 root root 428 Nov 20 10:45 ./raum1/etc/xdg/autostart/epoptes-client.desktop
drwxr-xr-x 5 root root 4096 Jan 22 18:23 ./raum1-lehrer-pc
drwxr-xr-x 7 root root 4096 Nov 20 10:10 ./raum1-lehrer-pc/etc
drwxr-xr-x 2 root root 4096 Okt 23 2014 ./raum1-lehrer-pc/etc/cups
-rw------- 1 root root 3588 Apr 14 10:40 ./raum1-lehrer-pc/etc/cups/printers.conf
drwxr-xr-x 2 root root 4096 Mär 26 2015 ./raum1-lehrer-pc/etc/default
-rw-r--r-- 1 root root 370 Nov 20 10:14 ./raum1-lehrer-pc/etc/default/epoptes
-rw-r--r-- 1 root root 0 Nov 20 10:21 ./raum1-lehrer-pc/etc/default/epoptes-client
drwxr-xr-x 2 root root 4096 Mär 26 2015 ./raum1-lehrer-pc/etc/epoptes
-rw-r--r-- 1 root root 875 Mär 26 2015 ./raum1-lehrer-pc/etc/epoptes/server.crt
-rw-r--r-- 1 root root 916 Mär 26 2015 ./raum1-lehrer-pc/etc/epoptes/server.key
-rw-r--r-- 1 root root 983 Nov 20 10:17 ./raum1-lehrer-pc/etc/hosts
drwxr-xr-x 2 root root 4096 Mär 26 2015 ./raum1-lehrer-pc/etc/init.d
-rwxr-xr-x 1 root root 1645 Apr 8 2012 ./raum1-lehrer-pc/etc/init.d/epoptes
-rwxr-xr-x 1 root root 0 Nov 20 10:22 ./raum1-lehrer-pc/etc/init.d/epoptes-client
Universelles Postsync-Script
Das universelle Postsync-Script weist derzeit folgenden Inhalt auf:
echo "##### POSTSYNC BEGIN #####"
LOG=/mnt/var/log/postsync.log
echo "##### POSTSYNC BEGIN #####" > $LOG
NOW=$(date +%Y%m%d-%H%M)
echo $NOW | tee -a $LOG
# IP-Adresse des Servers
SERVERIP=$(nslookup dummy 2> /dev/null | head -n 1 | awk -F: '{print $2}' | sed "s/\s*//g")
# Die Hostgruppe des aktuellen Rechners
HOSTGROUP=$(hostgroup)
# Raum feststellen. Dieses Skript geht davon aus
# dass die Rechner Namen der Form
# raumname-hostname haben, also z.B. cr01-pc18
RAUM=${HOSTNAME%%-*}
# wenn der string leer ist, raum auf unknown setzen
if [ "x${RAUM}" == "x" ]; then
RAUM="unknown"
fi
# UVZ für die Patches auf dem Server. Mit dieser Variablen
# kann man verschiedene Patches, z.B. für unterschiedliche
# Linux-Versionen bereitstellen.
# Wenn man hier $HOSTGROUP einträgt, erhält jede Rechnerklasse
# ein eigenes Patchklassenverzeichnis auf dem Server.
# Damit kann man verschiedene Patchklassen mit derselben cloop-Datei
# bedienen, wenn man das benötigt.
PATCHCLASS="trusty"
# Das Verzeichnis, in dem die Serverpatches
# im lokalen Clientcache synchronisiert werden.
PATCHCACHE=/linuxmuster-client/serverpatches
echo "" | tee -a $LOG
echo "Hostname: ${HOSTNAME}" | tee -a $LOG
echo "Raum: ${RAUM}" | tee -a $LOG
echo "Patchcache: ${PATCHCACHE}" | tee -a $LOG
echo "Hostgruppe: ${HOSTGROUP}" | tee -a $LOG
echo "Patchclass: ${PATCHCLASS}" | tee -a $LOG
echo "" | tee -a $LOG
# -----------------------------------------
# Patchdateien auf das lokale Image rsyncen
# -----------------------------------------
echo " - getting patchfiles" | tee -a $LOG
# RAUM -> Raumname
# HOSTNAME -> Rechnername
# Verzeichnis anlegen, damit es sicher existiert
mkdir -p /cache/${PATCHCACHE}
rsync --delete --progress -r "${SERVERIP}::linbo/linuxmuster-client/${PATCHCLASS}" "/cache/${PATCHCACHE}" | tee -a $LOG
echo " - patching local files" | tee -a $LOG
# common: Bekommen alle clients der Patchklasse
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common ]; then
echo " - patching common to /mnt" | tee -a $LOG
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/common/* /mnt/ | tee -a $LOG
fi
# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common/tarpacks ]; then
echo " - unpacking tarpacks from common/tarpacks to /mnt" | tee -a $LOG
for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/common/tarpacks/*; do
echo " - unpacking: $pack" | tee -a $LOG
tar xvzf $pack -C /mnt | tee -a $LOG
done
fi
# Raum: Nur die Clients des Raums
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM} ]; then
echo " - patching ${RAUM} to /mnt" | tee -a $LOG
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/* /mnt/ | tee -a $LOG
fi
# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/tarpacks ]; then
echo " - unpacking tarpacks from ${RAUM}/tarpacks to /mnt" | tee -a $LOG
for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/tarpacks/*; do
echo " - unpacking: $pack" | tee -a $LOG
tar xvzf $pack -C /mnt | tee -a $LOG
done
fi
# Host: Nur der Rechner
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME} ]; then
echo " - patching ${HOSTNAME} to /mnt" | tee -a $LOG
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/* /mnt/ | tee -a $LOG
fi
# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/tarpacks ]; then
echo " - unpacking tarpacks from ${HOSTNAME}/tarpacks to /mnt" | tee -a $LOG
for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/tarpacks/*; do
echo " - unpacking: $pack" | tee -a $LOG
tar xvzf $pack -C /mnt | tee -a $LOG
done
fi
# Hook, um eigene Skripte auszuführen
if [ -d /mnt/postsync.d ]; then
for SCRIPT in /mnt/postsync.d/*
do
chmod 755 $SCRIPT
echo "Executing: $SCRIPT" | tee -a $LOG
#$SCRIPT > /dev/null 2>&1
$SCRIPT | tee -a $LOG
echo " ...done." | tee -a $LOG
done
rm -rf /mnt/postsync.d
# wenn es /mnt/tarpacks gibt - löschen
rm -rf /mnt/tarpacks
# hostname in /etc/hosts patchen
sed -i "s/HOSTNAME/$HOSTNAME/g" /mnt/etc/hosts
sed -i "s/#SERVERIP/$SERVERIP/g" /mnt/etc/hosts
# Zeitstempel letzter sync hinterlegen
echo $NOW > /mnt/lastsync
echo "##### POSTSYNC END #####" | tee -a $LOG
Aktualisierungen für dieses Script finden sich unter:
Troubleshooting¶
Welche Möglichkeiten der Fehlersuche gibt es ?
Vom linuxmuster.net Server aus kann man sich auf dem Client mithilfe von linbo_ssh anmelden und dort z.B. den Synchronisationsvorgang aktivieren. Es lassen sich so dann die Postsync-Ausgaben / Fehlermeldungen auf dem Client einsehen.
Das Postsync-Script schreibt eine LOG-Datei, die auf dem Client unter
/mnt/var/log/postsync.log abgelegt wird.
Auf dem linuxmuster.net Server gibt man hierzu folgendes an, um den Client zu starten, zu synchronisieren und dann in den Linbo-Bildschirm zu gelangen, um die Log-Datei einzusehen:
linbo-remote -i <IP-Adresse des Clients> -b 5 -w 130 -c sync:1
linbo-ssh <client-name / oder IP-Adresse>
less /var/log/postsync.log
Herunterfahren der Clients mit:
linbo-remote -i <Client-name / IP-Adresse> -c halt
Important
Hinweise zu linbo-remote und linbo-ssh
https://www.linuxmuster.net/wiki/dokumentation:handbuch:linbo:linbo.remote
Benutzer verwalten mit der Schulkonsole¶
Dieses Dokument gibt Schritt-für-Schritt-Anleitungen für die wichtigsten Tätigkeiten, die der Netzwerkbetreuer im Hinblick auf die Benutzer mit der Schulkonsole durchführt.
In der Schulkonsole werden grundlegende Einstellungen vorgenommen, die Benutzerlisten gepflegt und geprüft sowie Benutzer angelegt, versetzt und gelöscht, außerdem die Passwörter und der Plattenplatz (Quotas) für alle Benutzer und Gruppen verwaltet. Nur Passwörter von Schülern/innen sowie Projekte können auch von Personen mit normalen Lehrer-Rechten verwaltet werden.
Benutzergruppen in der linuxmuster.net¶
Wenn man auf Dienste und Dateien des Servers zugreifen möchte, muss man sich mit einem Benutzernamen (Loginname) und einem Kennwort (Passwort) am Server anmelden (authentifizieren). Dabei sollen nicht alle Benutzer am System auf die gleichen Dateien und Drucker zugreifen oder an Dateien die selben Rechte haben können.
Es ist üblich, Benutzer, die gleiche Rechte haben sollen, zu Benutzergruppen zusammenzufassen. In der linuxmuster.net gibt es, angepasst auf Schulbedürfnisse, die folgenden Hauptbenutzergruppen:
- <Klassengruppe> (z.B. 10a, 5a, usw):
- Schüler-Benutzer mit (halb)privatem Datenbereich. Es dürfen keinerlei Systemdateien modifiziert werden.
- teachers:
- Lehrer-Benutzer mit privatem Datenbereich. Es dürfen keine Systemdateien modifiziert werden. Zusätzlich hat der Lehrer Zugriff auf alle Klassentauschverzeichnisse und lesenden Zugriff auf die Schüler-Homeverzeichnisse. Alle Lehrer können über die Schulkonsole pädagogisch notwendige Aufgaben auf dem Server ausführen (z. B. Dateien austeilen, Internetzugang abschalten)
- domadmins:
- Dürfen alle für den reinen Schulbetrieb wichtigen Aufgaben am Server
durchführen, vor allem der Benutzer
administrator
wird dafür verwendet. - root:
- Darf ohne Einschränkung alle Aufgaben am Server durchführen. (u.a. alle Dateien, auch Passwortdateien, einsehen/verändern/löschen)
Konfiguration vor dem ersten Anlegen von Benutzern¶
Nach Installation des Servers sollten Sie vorab einige Konfigurationseinstellungen für Ihre Schule festlegen.
Melden Sie sich an der Schulkonsole durch Eingabe von
https://server:242 in einen Browser als administrator
an. Die
meisten der Festlegungen können in der Schulkonsole im Menü unter
Einstellungen -> Benutzerverwaltung gemacht werden.
Lesen Sie die Bedienungsanleitung unter Benutzerverwaltung, um folgende Einstellungen vorzunehmen:
- Legen Sie fest, ob die Passwortgüte überprüft wird und welche minimale Länge gefordert werden soll.
- Stellen Sie die momentan zulässigen Geburtsjahreszahlen für Schüler ein.
- Entscheiden Sie, ob Sie Speicherplatzkontingente (Quota) festlegen wollen und legen Sie die Menge fest. Beachten Sie, dass ein Benutzer höhere Quota von einer Gruppe erbt, der er angehört.
- Entscheiden Sie die Zusammensetzung der internen E-Mail-Adressen, falls Sie diese Funktion an der Schule verwenden wollen. Stellen Sie ebenso die Schwelle für Warnungen bei Plattenplatzmangel für E-Mails ein.
- Stellen Sie ein, ob und wieviel Zeichen die Zufallspasswörter für Schüler und Lehrer bekommen.
- Legen Sie fest, ob Lehrer oder Schüler ein Terminal auf einem Linux-Client öffnen können darf.
- Legen Sie einige Daten fest, die beim Ausdruck von Passwortinformationen für Benutzer verwendet werden.
Anlegen, Versetzen und Löschen von Benutzern¶
Um Benutzer neu aufzunehmen, zu versetzen oder zu löschen müssen die folgenden Schritte nacheinander ausgeführt werden:
- Schüler und Lehrerliste aus dem Schulverwaltungsprogramm exportieren.
- Die Benutzerlisten auf dem Server aktualisieren. Dazu gehört im Einzelnen:
- die Schülerliste in das System übertragen,
- die Änderungen bei den Lehrern einzeln eingeben,
- evtl. eine Extraliste für Gast- und Kooperationsschüler, die nicht in das Schulverwaltungsprogramm aufgenommen werden, pflegen,
- evtl. eine Extraliste für Kurse mit schulfremden Teilnehmern pflegen.
- Alle Benutzerlisten auf Fehleingaben, oder Ähnlichkeiten mit vorhandenen Benutzern prüfen.
- Danach evtl. die Benutzerlisten entsprechend korrigieren.
- Benutzerdaten übernehmen, d.h. Benutzer jetzt tatsächlich anlegen, versetzen oder löschen
- Passwortlisten bzw. Anmeldekärtchen ausdrucken
Änderung von Benutzerdaten¶
Sind Sie an der Schulkonsole als administrator angemeldet, erhalten Sie unter der Rubrik Benutzer die folgenden Menüpunkte, in der schwebenden Hilfe erhalten Sie eine Übersicht mit einer kurzen Beschreibung der Vorgehensweise zum Anlegen, Versetzen und Löschen von Benutzern:

Diese Vorgänge zum Aufnehmen, Versetzen und Löschen von Benutzern können beliebig oft im Verlauf eines Schuljahres durchgeführt werden.

Export von Schüler- und Lehrerliste aus dem Schulverwaltungsprogramm¶
Die meisten Schulverwaltungsprogramme bieten die Möglichkeit, eine Schüler- und eine Lehrerliste für die linuxmuster.net zu exportieren. Dabei werden die Daten mit dem benötigten Datensatzformat untereinander in eine Textdatei geschrieben. Für die Schülerliste gilt folgendes Format:
Klasse;Nachname;Vorname;Geburtsdatum;Nr;
Dabei ist das letzte Feld optional. Es enthält die im Schulverwaltungsprogramm eindeutig vergebene Schülernummer. Ist sie vorhanden, sollte man sie unbedingt mit übernehmen, das sie die Identifikation des richtigen Datensatzes bei Versetzungen, Namensänderungen usw. erheblich erleichtert. Falls die Nummer nicht vorhanden ist, besteht jede Zeile nur aus den 4 Feldern
Klasse;Nachname;Vorname;Geburtsdatum;
Auch wenn Ihr Schulverwaltungsprogramm keine direkte Ausgabe für die Musterlösung vorsieht, können die Daten meist unter Angabe der benötigten Felder und mit dem Semikolon als Trennzeichen exportiert werden.
Wichtig ist noch, die Kodierung zu wissen, da man diese in der Schulkonsole unter Schulkonsole vor dem ersten Import einstellen muss. [1]
Pflege der Schülerdatei¶

Die Datei aus dem Schulverwaltungsprogramm können Sie mittels Durchsuchen auswählen und dann mittels Hochladen auf den Server kopieren. Sie wird automatisch umbenannt und liegt dann als Datei schueler.txt
im Verzeichnis /etc/sophomorix/user
. Dort befinden sich alle Benutzer- und Konfigurationsdateien von Sophomorix.
Im Abschnitt Editieren können Sie zwar die Datei schueler.txt editieren und anschließend Änderungen übernehmen anklicken, davon sollten Sie jedoch nur in Ausnahmefällen Gebrauch machen, da mit dem Einspielen einer neuen Datei aus dem Schulverwaltungsprogramm Ihre Änderungen wieder überschrieben werden.
Wenn Daten korrigiert werden müssen, geben Sie Rückmeldung an das Sekretariat z.B. mit Hilfe des Report für das Sekretariat, damit die Daten dort korrigiert werden. Spielen Sie die geänderte Datei dann neu ein.
Wollen Sie zusätzliche Schüler eingeben, die nicht in das Schulverwaltungsprogramm aufgenommen werden, so verwenden Sie dazu die Datei extraschueler.txt
, die Sie über Extralisten pflegen editieren können.
Pflege der Lehrerdatei¶
Für die Lehrer besteht die Möglichkeit einen Wunsch-Login-Namen anzugeben. Der Datensatz aus dem Schulverwaltungsprogramm wird also um ein Feld ergänzt. Der Klassenname ist für alle Lehrer lehrer, somit ist das Format der Datei lehrer.txt
:
lehrer;Nachname;Vorname;Geburtsdatum;Wunschlogin;
Außerdem werden von Sophomorix noch die für einzelne Lehrer gesondert eingegebenen Quotas hinten angehängt.
Aus diesem Grund macht es keinen Sinn, eine vorhandene Lehrerdatei mit derjenigen aus dem Schulverwaltungsprogramm zu überspielen, da Sie dann für alle Lehrer Wunschlogin und Sonderquota wieder neu eingeben müssten.
Sie erhalten deshalb in der Schulkonsole nur dann die Gelegenheit eine Datei auf den Server zu spielen, wenn noch keine Datei lehrer.txt
vorhanden ist: Ist bereits eine Datei lehrer.txt
im System vorhanden, entfällt der Abschnitt Datei importieren und Sie haben nur die Möglichkeit, die vorhandenen Lehrer zu editieren, wobei Sie den Loginnamen, der unter Kürzel steht, nicht ändern können:
Nach gemachten Änderungen müssen Sie Änderungen übernehmen anklicken, damit die geänderten Daten in die Datei lehrer.txt
übernommen werden. [2]
Unterhalb des Abschnitts Lehrer hinzufügen finden Sie noch zwei weitere Abschnitte, um Lehrer zu editieren oder zu entfernen:
Auch hier gilt wieder: Änderungen übernehmen schreibt die Änderungen in die lehrer.txt
, vollzieht sie aber noch nicht im System.
Pflege der Extraschüler und Extrakurse¶
Zur Verwaltung von Schülern, die nicht im Schulverwaltungsprogramm aufgenommen sind, gibt es für den administrator in der Schulkonsole unter der Rubrik Benutzer den Unterpunkt Extralisten pflegen:
Im Bereich Extraschüler editieren können Schüler von Kooperationsschulen oder Austausch- bzw. Gastschüler eingegeben werden. Die Syntax ist oben im Editierfenster erläutert und dieselbe wie bei der Schülerdatei, ergänzt um ein Feld für einen Wunschanmeldenamen:
Klasse;Nachname;Vorname;Geburtsdatum;Wunschlogin;
Der Name für die Klasse ist frei wählbar, z.B: koop (für Kooperation) oder at (für Austausch). Es können aber, gerade auch bei Kooperationsschülern, die bestehenden Klassennamen verwendet werden. Dies ist wichtig, falls der Zugriff auf das Klassentauschverzeichnis der Klasse ermöglicht werden soll. Bei neuen Gruppennamen, wird auch ein neues Klassentauschverzeichnis angelegt.

Hier wurden einige Schüler ohne Wunschloginnamen aufgenommen, teils in die Jahrgangsstufe 12 (12), teils in eine Extragruppe at*(Austauschschüler), die damit ein eigenes Tauschverzeichnis haben. Durch Anklicken von *Änderungen speichern werden die geänderten Daten in die Datei /etc/sophomorix/user/extraschueler.txt
übernommen.
Unterhalb von Extraschüler editieren befindet sich Extrakurse editieren.
Für VHS-Kurse oder Lehrerfortbildungen mit schulfremden Lehrern können hier zeitlich befristete Gastkonten für einen gesamten Kurs mit einheitlichem Passwort generiert werden. Die Syntax ergibt sich aus der Beschreibung oben im Editierfenster.
Mit Änderungen übernehmen werden die geänderten Daten in die Datei /etc/sophomorix/user/extrakurse.txt
geschrieben.
Übernahme geänderter Daten in das System¶
Durch die Änderungen der Dateien werden die Benutzer noch nicht in das System übernommen, da dieser Vorgang unter Umständen recht zeitaufwändig ist. Nachdem man alle gewünschten Änderungen vorgenommen hat, geschieht das ‘’in einem Rutsch’‘.
Benutzerlisten prüfen¶
Über den Schaltknopf Benutzerlisten überprüfen im Unterpunkt Benutzerlisten prüfen werden alle Dateien [3] von sophomorix-check daraufhin überprüft,
- ob die Geburtsdaten im Rahmen der Vorgaben liegen,
- ob die Benutzer schon im System vorhanden sind,
- ob abgegangene Schüler gelöscht werden sollen, oder
- ob Benutzer ähnlichen Namens zum Entfernen vorgesehen sind.
Nach erfolgtem Check wird ein Protokoll ausgegeben, aus dem man weitergehende Informationen entnehmen kann. Außerdem kann man im Erfolgsfall mit dem dann neu ausgewiesenen Link Benutzerdaten übernehmen gleich weitergehen:
Beim Überprüfen der Benutzerlisten werden intern alle Datensätze aus den vier Dateien sortiert in Benutzer,
- die neu angelegt werden sollen,
- die unverändert bleiben sollen,
- die in eine andere Klasse versetzt werden sollen,
- die entfernt werden sollen und solche,
- die daraufhin überprüft werden sollen, ob sie mit kleinen Abweichungen anderen entsprechen, die aus dem System gelöscht werden sollen.

Benutzerdaten übernehmen¶
Hat man den Punkt Benutzerlisten prüfen erfolgreich durchlaufen, können die Daten jetzt in das System übernommen werden, d.h. die neuen Benutzer angelegt (sophomorix-add), die zu versetzenden versetzt (sophomorix-move) und die zu löschenden gelöscht (sophomorix-kill) werden. Unter dem Unterpunkt Benutzerdaten übernehmen bekommt man die Benutzer angezeigt, die zum Anlegen, Versetzen und Löschen vorgesehen sind:
Im Normalfall wird man alle drei Aktionen direkt nacheinander ablaufen lassen durch einen Klick auf die Schaltfläche Benutzer anlegen/versetzen/löschen. Man kann jedoch auch die Operationen einzeln ausführen lassen.

In obigem Beispiel würden zwei Benutzer neu angelegt. Während der Bearbeitung werden die laufenden Systemmeldungen ausgegeben.

Benutzer anlegen¶
Beim Anlegen wird jedem neuen Benutzer ein Benutzername (Loginname) und eine Gruppe, zu der er gehört und deren Rechte er hat, zugewiesen.
Der Benutzername wird bei Schülern aus Vor- und Nachnamen standardmäßig in der Form ”sechs Buchstaben des Nachnamens plus zwei Buchstaben des Vornamens” gebildet (bei kürzerem Nachnamen entsprechend weniger Buchstaben). Beim Anlegen der Benutzer werden Sonderzeichen umgeschrieben, d.h. ä, ö, ü und ß wird zu ae, oe, ue und ss. Bei Lehrern wird der Wunschloginname schon in der Datei lehrer.txt
festgelegt. Das Geburtsdatum dient zur Unterscheidung bei gleichnamigen Benutzern. Ist der Benutzername bereits vorhanden, wird an den zweiten sonst gleichen Benutzernamen eine 1 angehängt.
In der linuxmuster.net wird jedem Schüler als Gruppe seine Klasse zugewiesen. Der Klassenbezeichner ist beliebig aber auf 8 Zeichen begrenzt. Dieser Bezeichner wird als primäre Gruppe verwendet. Alle Lehrer gehören der Gruppe teachers
an.
Jeder neue Benutzer bekommt ein Passwort zugewiesen und erhält die angegebenen Standardquota.
Dies alles wird von sophomorix-add
erledigt.
Benutzer versetzen¶
Zum neuen Schuljahr sind bei den Schülerdaten aus dem Schulverwaltungsprogramm die neuen Klassen angegeben. sophomorix-move
versetzt diese Schüler automatisch in die neuen Klassen.
Beim Versetzen bzw. Löschen ist folgende Besonderheit zu beachten:
Ist der Datensatz eines Benutzers nicht mehr in der zugehörigen Textdatei (z.B. bei Schülern in der schueler.txt) vorhanden, wird er nicht sofort gelöscht, sondern er wird auf den Dachboden (Gruppe attic) geschoben und bekommt den Status
T
(tolerated).
Ab sofort wird der Benutzer nur noch geduldet, d.h. er kann sich noch anmelden, hat aber keinen Zugriff mehr auf sein Klassentauschverzeichnis.
Ist der Duldungszeitraum abgelaufen, bekommt er nach dem nächsten Überprüfen der Benutzerdaten den Status
D
(disabled).
Jetzt beginnt der Reaktivierungszeitraum, der Benutzer kann sich jetzt nicht mehr anmelden. Seine Daten werden aber noch nicht gelöscht und befinden sich weiterhin auf dem Dachboden (attic). Ist der Reaktivierungszeitraum beendet, wird der Benutzer mit dem nächsten Benutzerdaten überprüfen durch Vergabe des Status
R
(removable)
zum Löschen freigegeben und beim nächsten Aufruf von Löschen sophomorix-kill
tatsächlich gelöscht.
Benutzer löschen¶
Durch Auswahl von Benutzer löschen werden zum Löschen markierte Benutzer mitsamt ihren Daten aus dem System entfernt und können nicht wieder zurückgeholt werden.
Berichte¶
Im Unterpunkt Berichte finden Sie unter Administrator-Report ein Protokoll des letzten Durchlaufs zu anlegen/versetzen und löschen evtl. versehen mit dem Hinweis Teach-in aufzurufen, was über Benutzerlisten prüfen gemacht werden kann.
Unter Protokoll für das Sekretariat finden Sie Angaben zu Datensätzen, die nicht den Vorgaben von Sophomorix entsprechen.
Diese Fehler sollten im Schulverwaltungsprogramm korrigiert werden, dann die Datei neu exportiert und wieder ins System übernommen werden. (Nicht von Hand editieren unter Schülerliste pflegen!)
Sollte sich hier herausstellen, dass die Umlaute und Sonderzeichen, wie z.B. é, nicht richtig übernommen wurden, liegt das wahrscheinlich an unterschiedlich eingestellten Zeichensätzen der beteiligten PCs. Dann kann z.B. mittels Aufruf der Datei schueler.txt
als csv-Datei in LibreOffice der Zeichensatz geändert werden (z.B. auf utf8). Danach sollte dann die Übertragung problemlos
möglich sein.
Benutzer reaktivieren¶
Sind Schüler oder Lehrer, die bereits einen Benutzernamen haben, nicht mehr in den Benutzerlisten aufgeführt, so werden sie auf den Dachboden verschoben. War das Entfernen aus den Benutzerlisten ein Versehen, können Benutzer vom Dachboden wieder vollwertig in das System zurückgeholt (reaktiviert) werden, indem man folgende Schritte nacheinander ausführt.
- Die Benutzer werden wieder in die Benutzerlisten eingetragen,
- Benutzer -> Benutzerlisten prüfen,
- Benutzer -> Benutzerdaten übernehmen -> Benutzer versetzen.
Danach können sich die Benutzer wieder anmelden und haben wieder alle ihre Daten im Home- und den Tausch-Verzeichnissen zur Verfügung.
[1] | Die Kodierung kann auch nachträglich geändert werden. Dabei ist die Reihenfolge wichtig: Zuerst die neue Kodierung einstellen, dann die Benutzer in das System übernehmen, damit sie in der richtigen Kodierung übernommen werden. Eine Kontrolle der Umlaute ist ein gutes Indiz für die richtig eingestellte Kodierung. |
[2] | Damit ist jetzt die Datei lehrer.txt geändert, aber die Daten sind noch nicht geprüft oder gar in das System übernommen. |
[3] | schueler.txt, lehrer.txt, extraschueler.txt und extrakurse.txt |
Weiterführendes zur Benutzerverwaltung mit Sophomorix¶
In der linuxmuster.net wird die Benutzerverwaltung mit Hilfe des Programms Sophomorix durchgeführt. Alle Schüler und Lehrer einer Schule, die als Benutzer im System vorhanden sein sollen, sind in vier Benutzerlisten (schueler.txt, lehrer.txt, extraschueler.txt und extrakurse.txt) aufgeführt.
Zur Verwaltung der Benutzer wird folgendermaßen verfahren:
- Alle Datensätze aus den Benutzerlisten werden geprüft und vorsortiert.
- Bestehende Benutzer, die nicht mehr in den Listen aufgeführt sind, werden zum Verschieben auf dem Dachboden (attic) vorgesehen.
- Ähnelt ein Datensatz (z.B. nach Namenskorrekturen im Sekretariat) einem, der zum Verschieben auf dem Dachboden vorgesehen wurde, wird er - evtl. nach Rückfrage - mit dem bestehenden Benutzernamen verbunden und somit der Benutzer nicht auf den Dachboden verschoben. In diesem Fall behält der Benutzer seinen alten Login-Namen.
- Neue Datensätze werden als Benutzer neu angelegt (Status U) und bekommen Benutzername und Passwort zugewiesen.
- Bestehende Benutzer werden evtl. in neue Klassen versetzt.
- Bestehende Benutzer, die nicht mehr in den Benutzerlisten vorhanden sind, werden auf den Dachboden verschoben (Status T). Sie können sich dann während eines Duldungszeitraumes zwar noch anmelden, haben aber keinen Zugriff mehr auf die Tauschverzeichnisse.
- Benutzer, deren Duldungszeitraum auf dem Dachboden abgelaufen ist, können sich nicht mehr anmelden, aber ihre Daten verbleiben während eines Reaktivierungszeitraumes noch auf dem Dachboden (Status D).
- Benutzer, deren Reaktivierungszeitraum abgelaufen ist, werden zum Löschen vorgesehen (Status R).
- Benutzer auf dem Dachboden, die wieder in den Benutzerlisten aufgeführt sind, werden aus dem Dachboden wieder zurückgeholt (reaktiviert) und bekommen den Status E.
- Benutzer, die zum Löschen markiert sind, werden mit ihren Daten endgültig gelöscht.
Ändern des eigenen Passwortes¶
Benutzernamen und Passwörter werden in der linuxmuster.net zentral verwaltet, d.h. Sie können sich an den Computern, an der Schulkonsole und in Horde mit dem selben Passwort anmelden. Um Ihr Passwort zu ändern melden Sie sich mit Ihrem Benutzernamen (bestehend aus Kleinbuchstaben und event. Zahlen) und dem aktuellen Passwort an der Schulkonsole an.

Geben Sie unter „Passwortänderung“ nochmals Ihr aktuelles Passwort ein, sowie zweimal das neue Passwort. Beachten Sie die Anforderungen an das neue Passwort:
Nicht alle Sonderzeichen können verwendet werden. Folgende Zeichen funktionieren nicht:
ä ö ü ß { } [ ] + #Folgende Sonderzeichen dürfen ebenso nicht verwendet werden:
$ & !
Darüberhinaus können bei Ihrer Schule folgende Einschränkungen gelten:
Die Mindestlänge des Passwortes sind 6 Zeichen. (Mindestlänge kann der Netzwerkberater vorgeben).
Das Passwort muss mindestens zwei unterschiedliche Zeichenklassen enthalten. Zeichenklassen sind Großbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen. (Abschaltbar vom Netzwerkberater).
Beispielsweise sollte das Passwort dann aus Groß- und Kleinbuchstaben oder Zahlen und Kleinbuchstaben bestehen, etc.
Das erfolgreiche Ändern des Passwortes wird mit einer grünen Leiste unterhalb der Menüleiste bestätigt.

Falls die Änderung nicht erfolgreich war erhalten Sie eine Fehlermeldung mit einem Hinweis auf den Fehler.

In dieser Beispielfehlermeldung bestand das Passwort nur aus Kleinbuchstaben.
Lehrer-Passwörter zurücksetzen und ausdrucken¶
Melden Sie sich wie im Handbuch Schulkonsole nutzen
beschrieben an der Schulkonsole als administrator
an.

Der Administrator hat in der Schulkonsole im Menü unter Benutzer -> Lehrerpasswörter die gleichen Möglichkeiten für die Passwörter der Lehrer, wie die Lehrer für die Passwörter der Schüler.
Important
Der Administrator kann vom Lehrer geänderte Passwörter nicht einsehen. Sie werden grundsätzlich verschlüsselt gespeichert.
Passwortliste herunterladen und ausdrucken¶
Laden Sie die komplette Passwortliste als PDF zum Ausdrucken herunter oder als CSV-Datei zur Weiterverarbeitung.

Die PDF-Datei bietet kleine Rechtecke zum Ausschneiden und Austeilen an die Lehrer an. In der CSV-Datei werden die selben Informationen in Tabellenform angeboten.
Passwörter zurücksetzen¶
Wählen Sie in der Liste durch Setzen eines Häkchens den oder die Lehrer aus, deren Passwort Sie zurücksetzen wollen.

Unterhalb der Liste können Sie unter “Schnellauswahl” mit dem Knopf “An” auch alle Lehrer auswählen, wenn Sie allen das Passwort zurücksetzen wollen.
Wählen Sie nun ganz unten auf dieser Seite
- Passwort auf Erstpasswort setzen
- um das Passwort auf dessen Erstpasswort zurückzusetzen,
- Passwort auf Erstpasswort setzen (Zufallswert)
- um dem Lehrer ein neues zufälliges Erstpasswort zuzuteilen und sein Passwort darauf zu setzen,
- Passwort auf Erstpasswort setzen (Eingabewert):
- um dem Lehrer ein von Ihnen gewähltes Passwornt als Erstpasswort zuzuweisen. Diese Eingabe ist nicht dafür geeignet, dass der Lehrer sein dauerhaftes Passwort setzt, weil das Erstpasswort nicht verschlüsselt abgespeichert wird und somit nicht geheim ist.
Erstpasswort anzeigen¶
Um ein einzelnes Passwort anzeigen zu lassen, drücken Sie in der Reihe des entsprechenden Lehrers auf den Knopf “Erstpasswort anzeigen”.
Weiterführende Informationen¶
Weitere Informationen zum Thema finden Sie
- im Handbuch zur Schulkonsole im Abschnitt Menü: Benutzerverwaltung
Schüler-Passwörter zurücksetzen und ausdrucken¶
Vergisst ein Schüler sein Passwort, kann jede Lehrkraft das Passwort des Schülers über die Schulkonsole auf das Erstpasswort [1] zurücksetzen. Dieses teilen Sie dem Schüler mit.
[1] | Die Bezeichnung Erstpasswort bezieht sich dabei immer auf das zeitlich neueste über die Schulkonsole vergebene Passwort, also entweder das vergebene Passwort beim Anlegen des Schülers durch den Administrator oder das aktuellste Passwort, das eine Lehrperson über die Schulkonsole vergeben hat. |
Dazu melden Sie sich an der Schulkonsole wie im Handbuch Schulkonsole nutzen beschrieben an. Wählen Sie unter „Klassen” den Menüpunkt „Passwörter“.

Wählen Sie nun Ihre Klasse aus indem Sie auf die Klassenbezeichnung klicken.
Note
Falls Ihre Klasse nicht in der oberen Liste (im Beispiel: 10b) auftaucht, müssen Sie sich zunächst in die Klasse eintragen. Wählen Sie dazu im Dropdown-Menü die Klasse aus und klicken anschließend auf “Eintragen”.

Setzen Sie hinter dem vergesslichen Schüler den Haken und scrollen Sie auf das Ende der Seite. Unterhalb der Liste können Sie unter “Schnellauswahl” mit dem Knopf “An” auch alle Schüler auswählen, wenn Sie allen das Passwort zurücksetzen wollen.
Klicken Sie nun ganz unten auf dieser Seite auf
- Passwort auf Erstpasswort setzen
- um das Passwort auf dessen Erstpasswort zurückzusetzen,
- Passwort und Erstpasswort setzen (Zufallswert)
- um dem Schüler ein neues zufälliges Erstpasswort zuzuteilen und sein Passwort darauf zu setzen,
- Passwort und Erstpasswort setzen (Eingabewert):
- um dem Schüler ein von Ihnen gewähltes Passwort als Erstpasswort zuzuweisen. Diese Eingabe ist nicht dafür geeignet, dass der Schüler sein dauerhaftes Passwort setzt, weil das Erstpasswort nicht verschlüsselt abgespeichert wird und somit nicht geheim ist.

Die Seite wird neu geladen. Klicken Sie neben dem Schülernamen auf „Erstpasswort anzeigen“.

Teilen Sie das angezeigte Erstpasswort dem Schüler mit der Aufforderung mit, es in der Schulkonsole zu ändern.

Important
Weder Lehrer noch Administrator können vom Schüler geänderte Passwörter einsehen. Sie werden grundsätzlich verschlüsselt gespeichert.
Die kompletten Anmeldekärtchen der Klasse können als PDF-Datei ausgedruckt oder als CSV-Datei heruntergeladen und mit einem Tabellenkalkulationsprogramm weiterverarbeitet werden.
Weiterführende Informationen¶
Weitere Informationen zum Thema finden Sie
- im Handbuch zur Schulkonsole im Abschnitt Schulkonsole als Lehrer nutzen
Festplattenplatz für Benutzer einschränken (Quota)¶
Alle Benutzer im System dürfen Daten auf dem Server abspeichern. Es kann also vorkommen, dass Schüler und Lehrer so viele Daten abspeichern, dass der Festplattenplatz des Servers erschöpft ist, was bis zur Einstellung des Betriebes führen kann. Außerdem kann das „Vollmüllen“ des Servers auch vom Internet aus z.B. durch E-Mail-Bombing erfolgen.
Einziger Ausweg: Sie beschränken (“quotieren”) den Festplattenplatz eines jeden Benutzers und achten darauf, dass die Summe der vergebenen „Quota” nicht die Kapazität der Festplatten des Servers übersteigt.
Melden Sie sich wie im Handbuch Schulkonsole nutzen
beschrieben an der Schulkonsole als administrator
an.
Standardeinstellungen ändern¶
Im Abschnitt Benutzerverwaltung des Handbuchs zur Schulkonsole finden Sie eine Übersicht über alle Einstellungsmöglichkeiten.
Im Bereich Quotierung können Sie diese aktivieren (Standard) oder deaktivieren. Ebenso können Sie für Schüler und Lehrer jeweils drei Quotas angeben.

Ändern Sie die Einstellungen für /home
, dann beschränkt das den
Platz, den neue Lehrer oder versetzte Schüler auf Home_auf_Server
bzw. unter H:\
und Tausch_auf_Server
bzw. unter T:\
belegen können.
Ändern Sie die Einstellungen für /var
, dann beschränkt das den
Platz, den neue Lehrer oder versetzte Schüler auf
Vorlagen_auf_Server
bzw. unter V:\
oder mit Dateien während
des Klassenarbeitsmodus belegen können.
Ändern Sie die Einstellungen in der dritten Spalte, dann beschränkt das den Platz für Mails, die auf dem Server liegen.
Attention
Wirksam sind die geänderten Werte erst nach einem Durchlauf zum Anlegen/Versetzen/Löschen von Benutzern. Auf das Quota bestehender Lehrer haben die Einstellungen keinen Einfluss.
Ändern von einzelnen Lehrerquota¶
Der Administrator hat in der Schulkonsole im Menü unter Quota die Möglichkeit, den Festplattenplatz für Lehrer und Schüler zu beschränken.

Benötigt ein Kollege mehr Platz, können Sie dessen Quota leicht über die Schulkonsole unter Quota -> Lehrer ändern:

Sind die Felder leer, gelten die Standardwerte. Mit einem Klick auf die Schaltfläche Änderungen übernehmen werden die geänderten Werte gleich gesetzt.
Important
Beachten Sie auch, dass das gesetzte Quota immer für eine ganze
Festplattenpartition auf dem Linux-Server gilt. Üblicherweise
befinden sich alle Netzlaufwerke auf der selben Serverpartition
/home
. Befindet sich z.B. das Kollegiumstauschverzeichnis auf
der selben Serverpartition wie das Heimatverzeichnis H:
bzw. Home_auf_Server
, werden die Daten auf dem
Tauschverzeichnis zum verbrauchten Plattenplatz hinzugerechnet.
Ein Lehrer kann also auf allen Netzlaufwerken zusammen nicht mehr als das voreingestellte Quota belegen.
Ändern von Klassen- und Projektquota¶
Unter Quota -> Klassen können Sie die Quota für alle Schüler einer Klasse ändern.
Unter Quota -> Projekte können Sie zusätzliche Quota für alle Schüler eines Projektes vergeben.
Mit Änderungen übernehmen werden die geänderten Quotas in diesen beiden Fällen nicht in einer Datei abgelegt, sondern gleich in die Sophomorix-Datenbank geschrieben und sind damit sofort gültig.
Sonderquota: Quota für Administratoren und einzelne Schüler¶
Mittels Quota -> Sonderquota in der Schulkonsole können Sie nun Quota für
- einzelne Schüler,
- Administratoren und
- den max. für Homepages zur Verfügung stehenden Platz (Webspace)
festlegen.
Für den Webspace und die Administratoren können einfach die Werte überschrieben werden und dann mittels Änderungen übernehmen gesetzt werden.
Für einzelne Schüler müssen Sonderquota erst neu angelegt werden, indem der Login-Name und die gewünschten Quota eingegeben werden. Nach einem Klick auf Änderungen übernehmen ist dann der Schüler in einer Schülerliste unterhalb des Abschnitts für die Administratoren aufgeführt.
Für bereits dort vorhandene Schüler können Sie einfach die Quotawerte überschreiben und dann mittels Änderungen übernehmen setzten.
Important
Die obige wichtige Anmerkung gilt auch für Schüler: Befindet sich
z.B. das Klassentauschverzeichnis eines Schülers auf der selben
Serverpartition wie das Heimatverzeichnis H:
bzw. Home_auf_Server
, werden die Daten auf dem
Tauschverzeichnis zum verbrauchten Plattenplatz hinzugerechnet.
Ein Schüler kann also auf allen Netzlaufwerken zusammen nicht mehr als das voreingestellte Quota belegen.
Vorbereitung am Schuljahresanfang¶
Klassenliste aktualisieren¶
Zu Schuljahresbeginn müssen Sie als Lehrer einmalig die Klassenliste aktualisieren. Sie fügen neue Klassen, die Sie unterrichten, hinzu und tragen Klassen aus, die Sie abgegeben haben.
Um die Klassenliste zu aktualisieren, melden Sie sich zunächst als Lehrer an der Schulkonsole an.

Klassenliste auswählen¶
Nach erfolgreicher Anmeldung in der Schulkonsole für Lehrer, wählen Sie aus dem Menü Klassen und danach den Unterpunkt Klassenliste aus.

Sie sehen dann die bereits zugeordneten Klassen.

Unter den bereits zugeordneten Klassen finden Sie ein Drop-down Menü, in dem Sie diejenigen Klassen finden, die Sie sich noch zuordnen können.

Wählen Sie aus dieser Liste nun diejenige Klasse aus, die Sie hinzufügen möchten und klicken auf den Button eintragen. Benötigen Sie mehrere neue Klasse, so fügen Sie diese nacheinander hinzu.
Neue Anmeldung¶
Abschliessend müssen Sie sich von Ihrem Client abmelden und wieder neu anmelden, damit die Netzlaufwerke korrekt zugeordnet sind.
Dies können Sie kontrollieren, indem Sie nach der erneuten Anmeldung mit dem Dateimanager prüfen, ob für die neue Klasse ein Tauschverzeichnis vorhanden ist.
Individuelle E-Mail-Adressen verwalten¶
Zielgruppe: Netzwerkberater und Supportfirmen
Einige Programme greifen standardmäßig auf die im LDAP unter dem Attribut mail gespeicherte Mail-Adresse zu. Beispiele dafür sind moodle, owncloud, …
Standardmäßig wird für diesen Zweck die interne Mailadresse des linuxmuster.net Servers verwendet (<Benutzer>@<Domain>).
Diese Dokumentation beschreibt, wie man von diesem Standard abweichen und die hinterlegte Adresse mit der Schulkonsole bearbeiten kann. Die Installation sollte der Netzwerkbetreuer oder Administrator ausführen. Jeder Nutzer kann dann selbst seine eigene Adresse verwalten. Sollte für einen Benutzer keine Adresse eingetragen sein, wird automatisch oben genannte Standardadresse verwendet.
Installation¶
Rechte für Gruppen festlegen¶
Der Bereich für die Eingabe der eigenen Mail-Adresse muss zunächst in der Schulkonsole aktiviert werden. Dazu erstellt man im Verzeichnis
/etc/linuxmuster/schulkonsole/permissions.d
die Datei all-pages-mymail
mit dem Inhalt
ALL=start_mymail
und im gleichen Verzeichnis die Datei all-programs-mymail
mit dem Inhalt
ALL=set_user_mymail
Die erste Datei all-pages-myemail
erlaubt es allen Benutzern, den
Bereich auf der Startseite der Schulkonsole zur Änderung der
Mailadresse zu sehen. Die zweite Datei all-programs-mymail
erlaubt
es dem Benutzer, die Funktion zur Änderung der Mailadresse zu
verwenden.
Sollen nur die Lehrer in der Lage sein, eine eigene Mailadresse zu verwenden, so lauten
die Dateinamen teachers-pages-mymail
mit dem Eintrag
teachers=start_mymail
und teachers-programs-mymail
mit dem Eintrag
teachers=set_user_mymail
Analog kann die Funktion auch lediglich für Administratoren freigeschaltet werden.
Es ist auch möglich, die Seite freizugeben (über die pages-Datei), nicht aber die Funktion zur Änderung. In diesem Fall kann der Benutzer den Eintrag zwar sehen, ist aber nicht in der Lage, ihn zu verändern.
Rechte übernehmen¶
Nachdem die Dateien fertig editiert wurden, müssen die neuen Einstellungen ins System
übernommen werden. Das geschieht durch zwei Skripte im Verzeichnis
/usr/share/schulkonsole/scripts
. Diese Skripte müssen ausgeführt werden, also
server ~ # /usr/share/schulkonsole/scripts/update-permissions.sh
server ~ # /usr/share/schulkonsole/scripts/make-menus.sh
Nach Ausführung dieser Skripte erscheint auf der Startseite der Schulkonsole für die berechtigten Benutzer ein neuer Bereich zur Änderung der Adresse.
Nutzung einer eigenen Mailadresse im LDAP¶
Voraussetzung ist die korrekte Installation.
Starten Sie die Schulkonsole und melden Sie sich an. Auf der Seite “Mein Konto” sehen Sie jetzt einen neuen Bereich mit der Überschrift Private Mailadresse.
Mailadresse eintragen¶
Voreingestellt ist die interne Mailadresse nach dem Muster <Benutzer>@<Domain>. Tragen Sie die gewünschte Mailadresse ein und bestätigen Sie diese durch Klicken auf Mailadresse ändern.
Mailadresse entfernen¶
Entfernen Sie den Eintrag im Feld Mailadresse und klicken Sie auf Mailadresse ändern. Dadurch wird der Standardeintrag nach dem Muster <Benutzer>@<Domain> wieder hergestellt.
Weitere Informationen¶
Internetrecherche¶
Um im Unterricht den Schülern eine Internet-Recherche zu ermöglichen, müssen Sie sich zunächst an der Schulkonsole als Lehrer anmelden, danach den Raum auswählen, in dem Sie unterrichten, im Raum den Unterricht beginnen und ggf. den Internet-Zugriff für die gewünschten PCs freischalten.
Raum auswählen¶
Nachdem Sie sich an der Schulkonsole als Lehrer angemeldet haben, gehen Sie zu dem Menüpunkt Aktueller Raum und dort zum Unterpunkt Unterricht.
Wählen Sie hier den richtigen Raum über das Drop-down Menü aus, sofern dieser noch nicht korrekt eingestellt ist.

Wählen Sie hierzu den Raumnamen aus der Liste aus und klicken dann den Button wechseln.
Danach sehen Sie die Einträge zu den PCs des Raumes, in dem Sie unterrichten.

Unterricht beginnen¶
Haben Sie den Raum erfolgreich ausgewählt, müssen Sie nun Ihren Unterricht in dem Raum beginnen.
Klicken Sie hierzu auf den Button Unterricht beginnen, der sich ganz oben auf der Seite der Raumübersicht befindet.
Haben Sie den Unterricht erfolgreich begonnen, so sehen Sie wie in nachstehender Abbildung, wann der Unterricht automatisch im System beendet wird und wer in dem Raum unterrichtet.

Hier können Sie ggf. auch die benötigte Unterrichtszeit auf Ihren Unterricht anpassen, indem Sie die gewünschte Uhrzeit auswählen und auf den Button beenden lassen klicken.
Internet an- und ausschalten¶
Um den Schülern nun an den PCs den Zugriff auf das Internet zu ermöglichen, wählen Sie in o.g. Ansicht alle PCs des Raumes aus, die Zugriff haben sollen. Abschließend aktivieren Sie diese Einstelung mit einem Klick auf den Button Änderungen übernehmen, der sich am Ende der PC-Übersicht befindet.
Um den Zugriff für alle PCs zu aktivieren oder zu deaktivieren, können Sie einfach das Aktivierungskästchen unterhalb der jeweiligen Funktionsspalte anklicken.
Unterricht beenden¶
Nach Ablauf der eingestellten Zeit wird der Unterricht im Raum von der Lehrperson automatisch beendet. Eine vorzeitige Beendigung des Unterrichts ist ebenfalls jederzeit möglich, indem Sie auf der Raumübersicht oben den Button sofort beenden klicken.

Austeilen von Dateien und weitere Funktionen¶
Mithilfe der Schulkonsole können Sie in Ihrem Unterricht folgende Funktionen nutzen:
- Austeilen
- Einsammeln
- Klassenarbeit
Wollen Sie die Funktionen unmittelbar in dem Raum nutzen, in dem Sie unterrichten, wählen Sie diese Funktionen im Menü aktueller Raum.
Möchten Sie vorbereitend diese Funktionen für eine Ihrer Klassen verwenden, wählen Sie die gewünschte Funktion aus dem Menü Klassen aus.
Austeilen¶
Nachdem Sie sich an der Schulkonsole als Lehrer angemeldet haben, gehen Sie zu dem Menüpunkt Klassen und dort zum Unterpunkt Auteilen.
Sie sehen dann die Übersicht der auszuteilenden Dateien für eine Klasse.

Wählen Sie nun oben rechts die gewünschte Klasse im Drop-don Menü aus. Danach klicken Sie auf den Button Durchsuchen`, um eine auszuteilende Datei hochzuladen. Es erscheint Ihr Dateimanager. Hier wählen Sie aus dem geeigenten Verzeichnis die gewünschte Datei aus. Danach erscheint der Dateiname in der Liste der auszuteilenden Dateien. Um diese noch für das Austeilen zur Verfügung zu stellen, klicken Sie auf den Button Daten absenden.
Alle zu verteilende Dateien erscheinen in der darüber angezeigten Dateiliste. Wollen Sie weitere Dateien hinzufügen, so ist o.g. Vorgang entsprechend zu wiederholen.

Um die so bereitgestellten Dateien nun zu verteilen, wählen Sie die Schüler der Klasse aus, denen Sie die Dateien zur Verfügung stellen wollen. Hierzu klicken Sie pro Schüler in der Spalte Auswahl auf die Auswahlbox. Sollen alle Schüler der Klasse die Dateien erhalten, so können Sie hierzu die Auswahlbox unterhalb der Spalte nutzen. Danach klicken Sie auf den Button austeilen. Auszuteilende Dateien liegen dann in Ihrem Heimatverzeichnis unter _auszuteilen -> auszuteilen-Klasse.

Die auszuteilenden Dateien liegen nun in den Heimatverzeichnissen der Schüler/innen in dem Ordner __austeilen -> austeilen-Klasse.
Einsammeln¶
Haben Schüler Dateien erstellt, die Sie als Lehrkraft einsammeln möchten, so müssen Sie Schüler die Dateien in ihrem Heimatverzeichnis im Ordner __einsammeln ablgen. Es kann auch in diesem Ordner ein Verzeichnis angelegt werden, in das mehrere Dateien abgelegt werden. Beim Einsammlen würden dann pro Schüler das Verzeichnis mit allen enthaltenden Dateien eingesammelt werden.
Haben die Schüler ihre Dateien entsprechend kopiert, rufen Sie in der Schulkonsole das Menü Klassen und dort das Untermenü Einsammeln auf.

Sie sehen hinter jedem Schüler, ob und welche Dateien bereitgestellt wurden. Wählen Sie aus, ob die einzusammelnden Dateien erhalten bleiben oder gelöscht werden sollen. Wählen Sie die Schüler/innen, von denen Sie einsammeln wollen, oder die ganze Klasse aus.
Sie finden die eingesammelten Arbeiten in Ihrem Heimatverzeichnis unter „_eingesammelt -> eingesammelt-Klasse“.
Klassenarbeit¶
Im Klassenarbeitsmodus haben Sie als Lehrer die Möglichkeit, Dateien an Schüler zu verteilen und die Lösungen via Netzwerk wieder einzusammeln. Zugleich unterbindet dieser Modus den Internet-Zugriff sowie den Zugriff auf das Heimatverzeichnis der Schüler sowie auf Tauschverzeichnisse.
Um in den Klassenarbeitsmodus zu gelangen, rufen Sie in der Schulkonsole als Lehrer den Menüpunkt aktueller Raum und dort das Untermenü Klassenarbeitmodus auf.
Sollten Sie im Raum noch keinen Unterricht begonnen haben, so gelangen Sie zum Menü des aktuellen Raums, um den Unterricht zuerst zu beginnen.

Haben Sie den Unterricht für den Raum begonnen und die korrekte Zeit für die Klassenarbeit eingetragen, so müssen Sie das Menü für den Klassenarbeitsmodus erneut aufrufen.
Sie gelangen dann zur Festlegung des sog. Workstationspasswort. Dieses legen Sie hier fest und teilen es, nach der Aktivierung des Modus den Schülern mit. Diese müssen sich nach Start der Clients mit dem Namen des des als Benutzername und dem hier festgelegten Kennwort an.

Klicken Sie zum Abschluss auf den Button Klassenarbeit starten.
Danach gelangen zur Übersicht im Klassenarbeitsmodus. Haben Sie den Schülern migeteilt, dass Sie sich mit dem Namen des PC (z.B. musterraum01) und dem festgelegten Kennwort (z.B. linuxmuster) am PC anmelden, warten Sie, bis alle Schüler dies durchgeführt haben.

Danach klicken Sie den Button Aktualisieren. Es müssten dann alle PCs in der Übersicht erscheinen, an den sich Nutzer angemeldet hat.
Wollen Sie Aufgaben der Klassenarbeit oder eine Vorlage zur weiteren Bearbeitung zur Verfügung stellen, so klicken Sie auf den Button Durchsuchen. Wählen Sie in Ihrem Dateisystem dann die gewünschten Dateien aus und klicken Sie den Button Daten absenden, um die Datei hochzuladen. Um mehrere Dateien bereitzustellen, wiederholen Sie diesen Vorgang.
Die bereitzustellenden Dateien werden in einer Dateiliste angezeigt. Um diese Dateien nun allen angemeldeten Schülern für die Klassenarbeit bereitzustellen, klicken Sie den Button bereitstellen.
Die Schüler finden diese Vorlagen in ihrem Heimatverzeichnis im Unterordner tasks -> Raumnummer -> Lehrerlogin.
Danach werden Sie aufgefordert, das Passwort für die Workstations neu zu setzen.

Klicken Sie nun den Button Passwort ändern, um die Klassenarbeit zu beginnen. Sie gelangen zur Übersicht im Klassenarbeitsmodus.

Unter der Spalte Hostname werden alle PCs, die aktiv angemldet sind, angezeigt. Zudem sehen Sie unter Dateien, ob und welche Dateien jeweils im Ordner einsammeln abgelegt sind.
Sollten Schüler vor Beendigung des Klassenarbeitsmodus die Klassenarbeit abgeben wollen, so müssen Sie sicherstellen, dass diese ihre Arbeit unter __einsammeln abgespeichert haben. Ist dies der Fall, so können diese den PC herunterfahren. Zur Überprüfung können Sie die Ansicht mit dem Button Aktualisieren immer wieder auf den aktuellen Stand bringen.
Um die Klassenarbeit zu beenden und gleichzeitig alle Schülerarbeiten einzusammeln, klicken Sie auf den Button Einsammeln und beenden.

Bestätigen Sie das Beenden der Klassenarbeit. Die eingesammelten Ergebnisse finden Sie danach in Ihrem Heimatverzeichnis unter „_eingesammelt -> eingesammelt-klassenarbeit“.
Falls Sie doch noch nicht beenden wollen, können Sie über den Link „Einsammeln“ wieder zur vorigen Seite zurückkehren.
Schulinternen E-Mail-Versand nutzen¶
Diese Schritt-für-Schritt-Anleitung erklärt, wie Sie im Schulnetzwerk E-Mails mit Hilfe eines Webmailers versenden und empfangen können. In dem Webmailer ist auch die Möglichkeit enthalten, Weiterleitungen auf externe E-Mail-Adressen einzurichten und auf die “Home_auf_Server” und “Tausch”-Verzeichnisse zuzugreifen.
Auf dem Schulserver läuft ein Webmail-Programm mit dem Namen Horde. Rufen Sie im Browser die Adresse
auf. Üblicherweise ist diese Adresse nur von innerhalb des Schulnetzwerkes erreichbar.

Melden Sie sich mit Ihrem Benutzernamen und Passwort des Schulkontos an. Auf der Startseite können Sie das Speicherplatzkontingent einsehen.

Unter Webmail -> Posteingang erreichen Sie ihr Mail-Konto. Unter Neue Nachricht wird ein neues Fenster geöffnet.

Ihre eigene E-Mail-Adresse wird unter “Identität” angezeigt und ist - je nach Schulkonfiguration - auf “benutzername@linuxmuster-net.lokal” eingestellt. Das bedeutet, dass Sie mit dieser E-Mail-Adresse nur interne E-Mails von anderen Schülern oder Lehrern bekommen können, denn “linuxmuster-net.lokal” ist keine weltweit eindeutige Adresse.
Für interne Adressen kann die E-Mail-Domäne weggelassen werden. Man kann aber auch weltweit gültige E-Mail-Adressen als Empfänger einstellen.
Warning
Standardmäßig wird der Versand an weltweite Adressen erlaubt. Vorsicht: Die Empfänger dieser E-Mail können nicht darauf antworten, wenn “linuxmuster-net.lokal” als Domäne in Ihrer Schule voreingestellt ist.
Adressbuch verwenden¶
Um Schüler und Lehrer im Adressbuch zu finden, wählen Sie im Menü Organisieren -> Adressbuch -> Suche aus und suchen Sie nach Namensbestandteilen.

Weiterleitung an externe E-Mail-Adressen konfigurieren¶
Horde erlaubt die Einrichtung vieler unterschiedlicher sogenannter Filter für das Mailsystem. Der wohl wichtigste davon ist der vordefinierte Filter Weiterleitung, den man im Menü über Einstellungen -> Filter und dann im oberen Menü Weiterleitung erreicht. Man trägt dort ein oder mehrere gewünschte Adressen zur Weiterleitung ein und entscheidet, ob zusätzlich eine Kopie im Postfach an der Schule verbleiben soll.

Zugriff auf Tauschordner und Heimatverzeichnis¶
Um auf die eigenen Dateien auf dem Server (“Home_auf_Server”) und auf die Tauschverzeichnisse zuzugreifen, wählen Sie im Menü Mein Konto -> Dateimanager -> Home bzw. Tauschen.

Warning
Sollten Umlaute im Dateinamen vorkommen, kann man die Dateien nicht herunterladen. Ändern Sie den Dateinamen am Schulcomputer im dortigen Dateimanager.
Dateien, die heruntergeladen werden, sollten standardmäßig abgespeichert werden, da ein direktes Ausführen meist nicht funktioniert.
Melden Sie sich nach getaner Arbeit über Abmelden ab.
OpenVPN nutzen¶
Externer Zugang zum Schulnetz¶
Funktionsweise
Sie können auch von extern auf das Schulnetzwerk zugreifen. Hierzu müssen Sie Ihren Computer (temporär) in das Schulnetzwerk integrieren. Dies funktioniert über ein sogenanntes „Virtual Private Network“, kurz VPN genannt. Dies erstellt über Ihre Internetverbindung einen abhörsicheren Tunnel in die Schule und integriert Ihren PC in das Schulnetzwerk. Sie bekommen (temporär) eine schulinterne IP-Adresse. Voraussetzung ist, dass Ihr Schulserver mithilfe einer Internet-Adresse (URL) erreichbar ist. Ob dies so ist, kann Ihnen Ihr Administrator des Schulnetzes sagen.
Alle Aktivitäten, die Sie mit geöffnetem VPN-Tunnel im Internet durchführen, laufen über den Schulserver bzw. die Schul-Internetleitung. Es gilt somit die Nutzervereinbarung der Schule. Da die Schule i.d.R. nur über eine einfache DSL-Leitung verfügt, sollten Sie z.B. das Herunterladen oder das Bereitsstellen von größeren Dateien in den Tauschordner (v.a. während der Unterrichtszeit) vermeiden.
Warning
Je nach Einstellung kann es sein, dass sie auf Ihr Netzwerk zu Hause (Netzwerkdrucker, Network Attached Storage, Netzwerkfreigaben) während eines geöffneten Tunnels nicht zugreifen können. Die Internet-Geschwindigkeit ist durch die geringe Upload-Geschwindigkeit der Schul-Internetverbindung langsam.
Note
VPN ist nicht für einen Internet-Zugriff gedacht.
Der VPN-Tunnel wird verschlüsselt, damit der Datenverkehr nicht abgehört werden kann. Hierfür benötigen Sie ihren persönlichen Schlüssel, der zusätzlich mit einem Passwort gesichert ist.
Hierzu hat der Netzwerkbetreuer auf dem IPFire-Server bereits den OpenVPN-Server aktiviert.
Ob dies so ist, können Sie selbst in der Schulkonsole kontrollieren.
VPN-Zugang einrichten¶
VPN-Zertifikat erstellen¶
Melden Sie sich an der Schulkonsole an und gehen Sie mit der Bildlaufleiste zum Ende der Übersichtseite Ihres Kontos zum Bereich OpenVPN-Zertifikat.
Sehen Sie nachstehende Eingabemöglichkeit,

so erstellen Sie für sich ein OpenVPN-Zertifikat, indem Sie ein Kennwort für das Zertifikat festlegen. Bestätigen Sie dieses Kennwort in der darunter liegenden Zeile und klicken Sie dann den Button Zertifikat erstellen und herunterladen.
Danach erhalten Sie die Bestätigung, dass das Zertifikat für Sie erstellt wurde:


Die Dateien des Zertifikates finden Sich nun in Ihrem Home-Laufwerk im Verzeichnis OpenVPN.

Laden Sie diese Dateien herunter. Sie benötigen diese zur Nutzung Ihres VPN-Clients. Haben Sie Zertifikate für sich erstellt und heruntergeladen, müssen Sie Ihren Administrator bitten, diese noch zu aktivieren.
VPN-Client einrichten¶
Haben Sie sich die Schlüssel- und Konfigurationsdateien heruntergeladen, benötigen Sie noch eine Client- Software für den Zugriff via OpenVPN.
Windows-Client¶
Sie benötigen den aktuellen OpenVPN-Client 2.4 (OpenSource - Download OPenVPN Windows)
Konfiguration
Bei der Installation des OpenVPN Clients werden unter Windows neue Netzwerkadapter (TUN- und TAP-Devices installiert. Der OpenVPN-Client wird dabei in das Verzeichnis C:\Programme\OpenVPN\
installiert.
Kopieren Sie nun die heruntergeladenen Dateien in das Unterverzeichnis c:\Programme\OpenVPN\config\
.
Öffnen Sie nun als Administrator die Datei <dateiname>-RED.ovpn
und passen Sie ggf. Einträge an.
Für Windows haben sich bislang folgende Einträge bewährt:
#OpenVPN Server conf
tls-client
client
dev tun
proto udp
tun-mtu 1400
remote <IP des Servers oder Adresse> 1194
pkcs12 <benutzer>.p12
cipher BF-CBC
comp-lzo
verb 3
ns-cert-type server
route-method exe
route-delay 2
Testen Sie nun die Verbindung, indem Sie mit der rechten Maustaste auf das Symbol des OpenVPN-Clients klicken und diesen dann als Administrator starten. Rechts unten in der Symbolleiste finden Sie dann das Symbol des gestarteten OpenVPN-Clients. Klicken Sie mit der rechten Maustaste hierauf und wählen Sie den Menüpunkt Connect aus. Sie werden nach dem Kennwort gefragt. Haben Sie das Kennwort des OpenVPN-Zertifikats erfolgreich eingegeben, wird eine Verbindung aufgebaut. War dieser Vorgang erfolgreiche, sehen Sie unten rechts in der Symbolleiste einen grünen Tunnel.
Linux-Clients¶
Sie benötigen ebenfalls den aktuellen OpenVPN-Client. Installieren Sie diesen mit Ihrer Paketverwaltung. Unter Ubuntu geben Sie bitte folgende Befehle zur Installation an:
sudo apt-get update
sudo apt-get install openvpn
Konfiguration
Es kann mithilfe der grafischen Oberfläche Gnome der sog. Netzwerkmanager zur Konfiguration genutzt werden. Damit dieser ebenfalls für VPN-Verbindungen genutzt werden kann, muss noch das Plugin hierfür installiert werden.
Hierzu sind folgende Befehle auf der Konsole anzugeben:
sudo apt-get update
sudo apt-get install network-manager-openvpn network-manager-openvpn-gnome
Nach der Installation ist der Netzwerkmanager wie folgt neu zu starten:
sudo service network-manager restart
Legen Sie einen neuen Ordner OpenVPN in Ihrem Benutzerverzeichnis (Persönlicher Ordner) an. Kopieren Sie die zuvor heruntergeladenen Dateien in dieses Verzeichnis.

Klicken Sie jetzt auf das Doppelpfeil-Symbol in der Kopfleiste, um den Netzwerkmanagers aufzurufen. Wählen Sie den Menüpunkt VPN Verbindungen bearbeiten aus.

Wählen Sie im neuen Fenster Netzwerkverbindungen Den Button Hinzufügen. Wählen Sie dann als Verbindungstyp OpenVPN aus und klicken den Button Erzeugen.
In dem neuen Fenster geben Sie bitte einen Namen für die VPB-Verbindung an. Die weiteren Felder füllen Sie wie in den beiden nachstehenden Abbildungen angegeben. Die angegebenen Dateinamen sind die Dateien, die Sie soeben in das Verzeichnis OpenVPN kopiert haben.

In o.g. Fenster klicken Sie auf den Button Erweitert….

Speichern Sie nun die OpenVPN-Verbindung ab.
Testen Sie den Verbindungsuafbau, in dem Sie oben rechts mit der rechten Maustaste auf das Doppelpfeil-Symbol des Netzwerkmanagers klicken und danach den Menüeintrag VPN-Verbindungen -> <Meine-OpenVPN-Verbindung> auswählen, die Sie gerade angelegt haben.
Der erfolgreiche Verbindungsaufbau wird dann im Netzwerkmanager bestätigt.
MAC-Clients¶
Unter MAC OS X benötigen Sie als Client für OpenVPN das Programm Tunnelblick (Download OpenVPN MAC).
Installieren Sie dieses Programm. Während der Installation werden Sie nach einem Benutzer und einem Kennwort gefragt. Hier müssen Sie einen lokalen Benutzernamen mit Administratorrechten des MAC OS X Systems angeben - nicht den OpenVPN-Benutzer.
Konfiguration
War die Installation erfolgreich klicken Sie am Ende der Installation auf den Button Ausführen. Sie gelangen in das nächste Fenster Willkommen zu Tunnelblick. Klicken Sie hier den Button Ich habe Konfigurationsdateien. Danach wählen Sie die heruntergeladenen Zertifikatsdateien (OVPN-Datei und Zertifikatsdateien) aus. Zum Abschluss der Konfiguration geben Sie an, dass die Konfiguration nur für diesen Benutzer installiert werden soll. Zum Abschluss fragt Tunneblick wieder nach dem lokalen Benutzer mit Administrationsrechten.
Nach Installation und Konfiguration wurd Tunnelblick nun nach jeder Anmeldung am MAC OS X System gestartet und Sie finden oben rechts in der Symbolleiste das graue Tunnel-Icon.
Zum Testen der Verbindung klicken Sie mit der Maus auf dieses Icon und wählen im Kontextmenü den Eintrag <Benutzer> verbinden aus. Während des Verbindungsaufbaus erhalten Sie eine Rückfrage nach Ihrem OpenVPN Benutzer und Ihrem Kennwort. Nach erfolgreicher Verbindung erscheint das Tunnel-Symbol schwarz hinterlegt.
Nutzungshinweise¶
Zugriff auf die Schulkonsole¶
Haben Sie von den Tunnel aufgebaut, haben Sie Zugriff zum Schulnetzwerk. Sie könne somit nun uach auf die Schulkonsole zugreifen. Geben Sie dann in Ihrem Browser die gleichen Adressen wie in der Schule ein:
Für die Schulkonsole (evtl. kommt eine Sicherheitszertifikatsabfrage, einfach annehmen):
Zugriff auf das Home-Verzeichnis (Server)¶
Windows
- Gehen Sie im Explorer auf Extras → Netzwerklaufwerk verbinden
- Geben Sie unter Adresse „\<Name-oder-IP-des-Servers>“ gefolgt von Ihrem Kürzel ein, also z.B. \serverme
- Wählen Sie einen freien Laufwerksbuchstaben
- Geben Sie ihren Schul-Benutzernamen (eben dieses Kürzel) samt Kennwort ein.
Danach wurde Ihr Home-Verzeichnis auf dem Server dem zuvor gewählten Laufwerksbuchstaben zugeordnet.
Linux
Ihr Home-Verzeichnis bekommen Sie im Datei-Browser (Nautilus) über Gehe zu → Ort, dann geben Sie .. code::bash
smb://<Servername-oder-IP>/<benutzername>
ein (ersetzen Sie <benutzername> immer mit Ihrem Login-Kürzel).
MAC
Das Vorgehen erfolgt wie unter Linux beschrieben.
Attention
Der externe Zugang zum Server ist nur für gelegentliche Zugriffe gedacht. Daher ist der Zugriff so konfiguriert, dass Sie nicht über die VPN-Verbindung auf dem Schuldrucker ausdrucken können. Dies und auch weitere Funktionen können Sie aber mithilfe einiger Anpassungen selbst aktivieren. Hilfestellungen finden Sie hierzu in unserem Anwenderwiki.
Attention
Weiterführende Hinweise: * Druckerzugriff via VPN: http://www.linuxmuster.net/wiki/dokumentation:handbuch:printing:remoteaccess * Mounten des Home-Verzeichnisses unter Linux: http://www.linuxmuster.net/wiki/anwenderwiki:openvpn:start * Hinweise zu den Zertifikaten: http://www.linuxmuster.net/wiki/dokumentation:handbuch:maintenance:certificates.openvpn * Viel weitere Hinweise zu VPN: http://www.linuxmuster.net/wiki/version3:openvpn
Drucken der Erstpasswortlisten¶
Jede Lehrkraft kann z.B. zum Schuljahresanfang die Erstpasswortlisten ihrer Schülerinnen und Schüler ausdrucken.
Note
Sobald ein Schüler sein Erstpasswort geändert hat, funktioniert das Erstpasswort nicht mehr.
Dazu melden Sie sich an der Schulkonsole an und wählen unter „Klassen” den Menüpunkt „Passwörter“.

Wälen Sie nun Ihre Klasse aus indem Sie auf die Klassenbezeichnung klicken.
Note
Falls Ihre Klasse nicht in der oberen Liste auftaucht, müssen Sie sich zunäst in die Klasse eintragen. Wählen Sie dazu im Dropdown-Menü die Klasse aus und klicken anschließend auf eintragen.

Laden Sie sich die Liste durch klicken auf „Passwortliste als PDF“ herunter.

Abschließend drucken Sie die Datei aus.
Anzeigen des eigenen Plattenplatzes¶
Jeder Benutzer kann sich auf der Startseite der Schulkonsole über seinen verbrauchten Speicherplatz und seine Quota (im zustehenden Anteil) informieren.
Melden Sie sich in der Schulkonsole an.

In diesem Beispiel ist die Quota nur zur Hälfte ausgeschöpft. Um genauere Angaben zu bekommen, genügt es, mit dem Mauszeiger auf die entsprechende Leiste zu gehen. Die Zahlen bedeuten: 180308 kiloByte von ca. 400 MegaByte sind belegt, das entspricht 45%. Nur 6 von 40000 möglichen Dateien machen die 180 MB aus und gehören dem Benutzer.
Es gibt ein “soft limit” (hier 400MB), das unter einem Windows-Arbeitsplatz als maximaler Speicherplatz angezeigt wird. Überschreitet das Datenvolumen diese Grenze, wird ein Warnhinweis ausgegeben, die Dateien werden aber noch bis zum Erreichen des “hard limit” (hier 500MB) abgespeichert. Bei Erreichen des “hard limit” geht dann für diesen Benutzer wirklich nichts mehr, bis er wieder so viel Platz geschaffen hat, dass er unter das “soft-limit” rutscht. Ebenso wird auch die Anzahl der Dateien begrenzt.
Beachten Sie auch, dass das gesetzte Quota immer für eine ganze Festplattenpartition auf dem Linux-Server gilt, d.h. in den meisten Fällen zählen auch Dateien auf den Tauschverzeichnissen zum verbrauchten Speicherplatz.
Neben der Speicherplatzbeschränkung kann im Schulnetz auch eine Beschränkung des E-Mail-Speicherplatzes und der gedruckten Seiten eingerichtet sein.
Schüler-quota überprüfen - Arbeitstitel¶
MoniPi for linuxmuster.net¶
The “MoniPi” project offers a prepared image for the Raspberry Pi 2 / Raspberry Pi 3, so that you can monitor a small network.
MoniPi is based on Raspbian Jessie Lite with the Open Monitor Distribution (OMD) packages from bananian.org
This documentation explains the preparation and installation of the Raspberry Pi and the setup of the monitoring for a linuxmuster.net server.
Content
Setup Raspberry Pi¶
Attention
It is absolutely necessary to use a Raspberry Pi 2 or a Raspberry Pi 3 [1] ! Older models have another CPU that to weak to run OMD!
Hint
This guide assumes that the following steps are performed on a computer running Linux as the operating system.
Download the linuxmuster-monipi-image¶
Download the prepared Raspbian-Image. Unpack it with the following command
$ gunzip monipi_<version>.img.gz
Write Image to an SD card¶
The SD card must have a minimum size of 4GB.
Insert the SD card into a suitable reader.
Open a root shell.
Enter the command
$ fdisk -l
and refer to the output of the command for the devicename of the SD card. In the example below the device name
/dev/mmcblk0
contains the additional characters (p1
, …) for the partitions of the SD card.Disk /dev/mmcblk0: 32.0 GB, 32010928128 bytes 4 Köpfe, 16 Sektoren/Spur, 976896 Zylinder, zusammen 62521344 Sektoren Einheiten = Sektoren von 1 × 512 = 512 Bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Festplattenidentifikation: 0xb3c5e39a Gerät boot. Anfang Ende Blöcke Id System /dev/mmcblk0p1 2048 62521343 31259648 83 Linux
The image file already contains the necessary partitions and the partition table and must therefore be written directly to the device file and not to a partition already existing on the card.
The following command does this, the device name of the SD card may have to be adjusted:
$ dd bs=4M if=monipi.img of=/dev/mmcblk0
After completing the process, insert the SD card into the Raspberry Pi and start it.
First Setup of Raspberry Pi¶
Hint
The following steps must be performed at the Raspberry Pi command line.
Default access data: Overview¶
In the delivery state, the MoniPi system has the following access data:
User name | password | Remarks |
---|---|---|
pi | muster | Administrative user for the console. Can login via ssh, root shell with |
omdadmin | omd | Administrative user for the CheckMK Web Interface Accessible under |
Turnkey¶
To personalize the Raspbian image, run monipi-turnkey
as root. This creates new SSH host keys and a new “Snake-Oil” SSL certificate, as well as a new password for the administrative user pi
.
Log on to Raspberry. The username in the delivery state is
pi
, the passwordmuster
Become root by typing the command
sudo -i
Run
monipi-turnkey
and follow the instructions. Enter a good password for the administrative user twice when prompted.pi@raspberrypi:~ $ sudo -i root@raspberrypi:~# monipi-turnkey Generiere neue SSH Host-Keys... Creating SSH2 RSA key; this may take some time ... 2048 4d:f7:1c:98:78:9b:05:0c:95:dd:b4:e4:c1:33:4f:62 /etc/ssh/ssh_host_rsa_key.pub (RSA) Creating SSH2 DSA key; this may take some time ... 1024 a6:05:41:0e:02:7d:99:6f:58:0c:0a:ea:ce:54:e7:b9 /etc/ssh/ssh_host_dsa_key.pub (DSA) Creating SSH2 ECDSA key; this may take some time ... 256 55:e6:b6:79:ca:47:59:4a:54:3c:1b:ee:2b:5e:0f:0a /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA) Creating SSH2 ED25519 key; this may take some time ... 256 28:95:7a:3d:81:38:6a:c6:6a:c7:09:58:8c:d8:e5:e6 /etc/ssh/ssh_host_ed25519_key.pub (ED25519) Geben Sie ein neues Passwort für den administrativen Benutzer (pi) ein Geben Sie ein neues UNIX-Passwort ein: Geben Sie das neue UNIX-Passwort erneut ein: passwd: Passwort erfolgreich geändert root@raspberrypi:~#
Raspi-Config¶
Usually the SD cards available today are larger than 4GB, it is recommended to increase the system partition of the MoniPi according to the SD card.
To do this, start the command raspi-config
on the command line as root. Then select the first entry, exit raspi-config with “Finish” and restart the Raspberry Pi, if this is suggested.


After rebooting, the system partition should include the total SD card size minus the space for the boot partition. In the example below with a 32GB card the output of df -h
looks as follows:
pi@raspberrypi:~ $ df -h
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/root 30G 1,7G 27G 6% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 463M 0 463M 0% /dev/shm
tmpfs 463M 6,3M 457M 2% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 463M 0 463M 0% /sys/fs/cgroup
/dev/mmcblk0p1 60M 20M 41M 34% /boot
tmpfs 463M 88K 463M 1% /opt/omd/sites/default/tmp
footnote
[1] | When using a Raspberry Pi 3 care must be taken that at least the 1.1 version of the MoniPi image is used for installation. |
Setup on the linumuster.net server¶
On the server, the check_mk client must be installed, which sends the monitoring server the performance data on demand.
Log on to the server console as an administrative user and install check-mk-agent
and xinetd
:
$ apt-get install check-mk-agent xinetd
The xinetd must then be configured so that the monitoring data can be queried. To do this, edit the file /etc/xinetd.d/check_mk
as follows:
service check_mk
{
type = UNLISTED
port = 6556
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/check_mk_agent
# If you use fully redundant monitoring and poll the client
# from more then one monitoring servers in parallel you might
# want to use the agent cache wrapper:
#server = /usr/bin/check_mk_caching_agent
# configure the IP address(es) of your Nagios server here:
# EDIT: KANN GEAENDERT WERDEN
# Wenn der MoniPi eine feste IP-Adresse hat, ist es sinnvoll,
# das Kommentarzeichen an der nächsten Zeile zu entfernen und dort
# die IP-Adresse des Monitoring Servers einzutragen
#only_from = 127.0.0.1 10.17.1.3
# Don't be too verbose. Don't log every check. This might be
# commented out for debugging. If this option is commented out
# the default options will be used for this service.
log_on_success =
# EDIT: MUSS GEAENDERT WERDEN von "yes" auf "no"
disable = no
}
The limitation of access to certain IP addresses is useful for security reasons, but can only be carried out if the monitoring server (MoniPi) has a permanent IP address.
Restart the xinetd after the customizations:
$ service xinetd restart
To check whether the setup was successful, you can use the command []
$ telnet localhost 6556
This should result in a longer output of performance data:

Footnotes
[1] | You may also need to reinstall the telnet command: apt-get install telnet |
Adding server to OMD/check_mk¶
In the last step, the prepared server must be included in the OMD/check_mk web interface.
Log in to the Check_MK Web Interface of the MoniPi¶
Login to the Webinterface under https://<ip-des-monipi>/default/
with the following credetials:
- User name: omdadmin
- Password: omd
You must ignore the certificate warning (the connection is encrypted with a debian Snake-Oil certificate).

You should then be redirected to the Web interface of Check_MK.

Change the password¶
Attention
Be sure to first change the password for the administrative user of the Web Interface.
First, click the tool icon in the lower-left corner of the Web Interface.

Enter a new password twice in the next screen and accept it by clicking on “Save”.

Setup the linuxmuster.net server as another host¶
Select the “Hosts” area in the “Wato-Configuration” box at the bottom left to get to the host list.

Click on “New Host” to create a new host.

Enter a hostname, which should be checked by the system to be monitored in the Check-MK web interface, check the IP address
and enter the IP address of the server. Close the process by clicking Save & go to Service
.

If the server is reachable on port 6556 at the specified IP address, the monitored services of the server that the automatic inventory could find on the server are displayed.
Apply these services by clicking on `` Automatic Refresh (Tabula Rasa) ``.

The Web Interface jumps back to the host list and shows in orange that there are unsaved changes. Click on the orange button.

The unsaved changes will be displayed and you will be taken to the system by clicking on Activate Changes
.

The changes are accepted.

Now the server appears in the host list of the monitored systems, if the you click on Hosts
→ All Hosts
in the Views
menu. Clicking on the server name will take you to the overview of the monitored services.


Notifications in case of failure¶
On the MoniPi, no active notification path is configured in the delivery schedule. To be able to see errors you have to log on to the web interface, which of course is not good for a monitoring system.
To solve this problem, we would like to refer to various apps that allow you to display the status of your MoniPi.
For Chromium / Chrome and iOS, there are also enhancements and apps available; in principle, any application that can query Nagios / Icinga instances should work.
If you want to receive notifications by mail, you first have to “teach” the MoniPi mail on the console and then define corresponding notifications in the configuration of Check-MK.
Index¶
Backup und Restore mit Mondo durchführen¶
Inhaltsverzeichnis:
Übersicht¶
Note
Das notwendige Paket mondo befindet sich in einem externen Repository. Dieses muss also vor der Installation eingebunden werden. Zur Vorgehensweise siehe Abschnitt Installation.
Backup und Restore des Servers können in linuxmuster.net 6.1 mit dem Opensource-Tool Mondo Rescue realisiert werden. Es ermöglicht:
- Vollbackup im Live-Betrieb;
- Automatische Backups per Cronjob;
- Backup-Strategien mit inkrementellen und differentiellen Backups;
- Backup auf Wechselplatte/NFS-Share;
- Restore von Festplatte, NFS oder CD-/DVD-Medien;
- Komplettwiederherstellung des Servers inklusive LVM- oder Raidsystem;
- Wiederherstellung einzelner Dateien und Verzeichnisse im Live-Betrieb.
Weiterführende Informationen zu Mondo Rescue finden Sie im MondoRescue HOWTO.
Attention
Führen Sie nach der Erstinstallation des Servers - noch bevor Sie Benutzer und Arbeitsstationen einrichten - testweise ein Vollbackup und danach einen Restore durch, um sicherzugehen, dass MondoRescue mit Ihrer Hardware kompatibel ist. Falls Probleme mit IDE-Festplatten auftreten, sollten Sie SATA-Platten einsetzen oder ein alternatives Backupverfahren wählen.
Installation¶
Das linuxmuster-backup-Programm befindet sich im Hauptrepo, ist also in der normalen Paketauswahl verfügbar. Für das eigentlich Backup wird mondo verwendet. Dieses befindet sich nicht im Hauptrepo und auch nicht in den üblichen Paketquellen für Ubuntu. Daher muss die Paketquelle für mondo eingerichtet werden, was im folgenden schrittweise beschrieben wird.
- Erstellen Sie mit dem Editor ihrer Wahl als Benutzer ‘’root’’ auf dem Server die Datei
/etc/apt/sources.list.d/mondorescue.list
mit folgendem Inhalt:
Note
Momentan (April/2015) ist die Mondorescue-Version 3.2.0 aktuell. Sie enthält einen schwerwiegenden Fehler, der ein korrektes Backup großer Dateien verhindert. Daher muss abweichend die aktuelle Testversion 3.2.0.xxx verwendet werden, bis die Version 3.2.1 erschienen ist.
Die Paketquelle lautet:
# Quellen für mondorescue
#deb ftp://ftp.mondorescue.org/ubuntu 12.04 contrib
# deb-src ftp://ftp.mondorescue.org/ubuntu 12.04 contrib
# Quellen für mondorescue Testversion
deb ftp://ftp.mondorescue.org/test/ubuntu 12.04 contrib
# deb-src ftp://ftp.mondorescue.org/test/ubuntu 12.04 contrib
Zusätzlich muss noch ein Link gesetzt werden:
ln -s /sbin/parted2fdisk /usr/sbin/parted2fdisk
Note
- Damit das System der Quelle vertraut, müssen noch der Repository-Schlüssel installiert werden:
wget ftp://ftp.mondorescue.org/ubuntu/12.04/mondorescue.pubkey
apt-key add mondorescue.pubkey
rm mondorescue.pubkey
- Nun aktualisieren wir die Paketlisten, damit dem System bekannt wird, welche zusätzlichen Pakete zur Verfügung stehen:
apt-get update
- Schließlich installieren wir das Paket, welches das Backup-Programm zur Verfügung stellt und mondo mit installiert:
apt-get install linuxmuster-backup
Abhängigkeiten werden dadurch automatisch mit installiert.
Konfiguration¶
Die Konfiguration des Backupverhaltens kann direkt in der Datei /etc/linuxmuster/backup.conf
geschehen.
Alternativ kann die Konfiguration über die Schulkonsole erfolgen, siehe Konfiguration mit der Schulkonsole beschrieben.
Die Parameter im Einzelnen:
- backupdevice
Festplattenpartition oder NFS-Share, auf das gesichert werden soll, wird nach
/media/backup
gemountet.Beispiele:
backupdevice=/dev/sdb1 backupdevice=10.16.1.10:/home/nfs backupdevice="/dev/disk/by-uuid/ccfc9531-3486-4af0-9317-8f895f5a1c97"
Note
Wichtiger Hinweis
Das Backupgerät darf nicht in
/etc/fstab
eingetragen sein, da alle dort eingetragenen Dateisysteme bei einer Komplettrestaurierung formatiert werden!- restoremethod
Mögl. Werte: “hd” oder “nfs”, je nachdem, ob von Festplatte oder NFS-Share restauriert werden soll.
Standard: .. code-block:: bash
restoremethod=hd- firewall
Mögl. Werte: “yes” oder “no”, je nachdem, ob die aktuellen Einstellungen des IPFire gesichert werden sollen. Es wird unter
/var/backup/ipfire
gesichert. Diese Sicherung kann nach einer Vollrestauration bei der Erstellung des IPFire eingespielt werden.Standard:
firewall=yes
- verify
Mögl. Werte: “yes” oder “no”, je nachdem, ob die gesicherten Daten nach dem Backuplauf auf Konsistenz überprüft werden sollen.
Standard:
verify=yes
- isoprefix
Wird für die Bezeichnung der ISO-Images und des Backup-Verzeichnisses verwendet.
Standard:
isoprefix=server
- mediasize
mondo benutzt ISO-Images als Backup-Container, die bei Bedarf auch auf CD/DVD gebrannt werden können. Diese Option legt die Größe der Images in MB fest. Da Mondo Schwierigkeiten bei mehr als 50 Medien bekommt, sollte man die Größe seiner Installation anpassen. Falls die Medien nicht auf DVD gebrannt werden müssen, ist eine beliebige Größe möglich.
Standard:
mediasize=4430
- excludedirs
Eine durch Kommas separierte Liste der Verzeichnisse, die nicht gesichert werden sollen. Die Standardeinstellung sollte nicht entfernt werden.
Standard:
excludedirs=/var/tmp,/var/cache/apt/archives
- includedirs
- Eine durch Kommas separierte Liste der Verzeichnisse, die gesichert werden sollen. Wird nichts angegeben (Standard), wird das gesamte Dateisystem gesichert.
- services
Mögliche Werte: “all” oder eine Komma separierte Liste der Dienste des aktuellen Runlevels, die vor dem Start des Backups heruntergefahren werden sollen. “all” fährt alle Dienste des aktuellen Runlevels herunter. Nach dem Backuplauf werden die Dienste wieder hochgefahren. Wird nichts angegeben, werden auch keine Dienste heruntergefahren. Die in der Standardeinstellung vorgesehenen Dienste sollten nicht entfernt werden.
Standard:
services=cups,nagios3,postgresql,mysql,slapd,smbd,nmbd,postfix,apache2,cyrus-imapd,saslauthd,clamav-daemon,clamav-freshclam,rsync,atftpd,nscd,cron,bittorrent,linbo-bittorrent,linbo-multicast
- compression
Kompressionsgrad, mögl. Werte 0-9, der Standardwert 3 ist ein guter Kompromiss zwischen Schnelligkeit und Komprimierung. Wert 0 bedeutet keine Komprimierung.
Standard:
compression=3
- unmount
Mögl. Werte: “yes” oder “no”, bei “yes” wird versucht das backupdevice nach dem Backup auszuhängen. Das klappt natürlich nur, wenn es nicht noch anderweitig in Gebrauch ist.
Standard:
unmount=yes
- keepfull
Mögl. Werte: integer ab 1. Definiert die Anzahl der Vollbackups, die vorgehalten werden.
Standard:
keepfull=1
- keepdiff
Mögl. Werte: integer ab 1. Definiert die Anzahl der differentiellen Backups, die vorgehalten werden.
Standard:
keepdiff=3
- keepinc
Mögl. Werte: integer ab 1. Definiert die Anzahl der inkrementellen Backups, die vorgehalten werden.
Standard:
keepinc=7
- cronbackup
Mögl. Werte: boolean yes|no. Legt fest, ob automatisch tägliche inkrementelle und wöchentliche differentielle bzw. Vollbackups durchgeführt werden.
Standard:
cronbackup=no
Note
Anmerkung Alte Backups werden nur gelöscht, wenn das Backup zuvor fehlerfrei durchlief.
Die Backupsets werden in ISO-Dateien in ein Verzeichnis nach dem Schema <isoprefix>/<datum>_full
, <isoprefix>/<datum>_diff
bzw. <isoprefix>/<datum>_inc
auf das Backupmedium gesichert.

Dabei werden die ISO-Dateien nach dem Schema <isoprefix>-1.iso
, <isoprefix>-2.iso
usw. abgelegt. Die ISO-Dateien dienen als Backup-Container und können ggf. auch auf CD/DVD gebrannt werden, um davon zu restaurieren. Desweiteren wird bei einem Vollbackup das für die Restauration benötigte Bootimage mondorescue.iso
im Backupverzeichnis abgelegt.

Im Homeverzeichnis des Benutzers administrator
wird ein Link _backup
zum Mountpoint /media/backup
des Backupmediums angelegt, sodass er in der Lage ist, ISO-Images von einem Client aus auf einen Rohling zu brennen. Dazu muss jedoch das Backupmedium gemountet sein.
Konfiguration mit der Schulkonsole¶
Anstatt direkt die Konfigurationsdatei zu bearbeiten, kann man auch die Schulkonsole zur Konfiguration verwenden. Dazu installiert man zunächst das Paket linuxmuster-schulkonsole-backup
.
Das erweitert das Einstellungen-Menü des Netzwerkbetreuers um den Menüpunkt Backup.

Zur Bedeutung der einzelnen Parameter siehe Konfiguration.
Backups durchführen¶
Gestartet wird ein Backup über das Wrapper-Skript /usr/sbin/linuxmuster-backup
, das das Programm mondoarchive mit den entsprechenden Optionen für einen nicht interaktiven Ablauf aufruft. Hat man alle benötigten Einstellungen in der Datei backup.conf
getroffen, so genügt es, wenn man das Skript mit den Optionen --full
bzw. --diff
oder --inc
startet. Der Backuplauf wird dann vollautomatisch ohne weitere Eingaben durchgeführt und kann somit auch über einen Cronjob nachts angestoßen werden.
Skriptaufrufe für Voll-, differentielles und inkrementelles Backup:
linuxmuster-backup --full
linuxmuster-backup --diff
linuxmuster-backup --inc
Desweiteren ist es möglich, das Skript mit allen Optionen auch über die Kommandozeile zu starten. Kommandozeilenoptionen überschreiben die Werte, die in backup.conf
festgelegt wurden. Zu beachten ist, dass vor jede Option ein Doppelminus --
zu setzen ist.
Beispiele:
linuxmuster-backup --full --includedirs=/home --isoprefix=home --backupdevice=/dev/sdc1
linuxmuster-backup --diff --ipcop=no --verify=no
linuxmuster-backup --inc --unmount=no --mediasize=700
Einen Gesamtüberblick über die Kommandozeilenparameter von linuxmuster-backup
liefert der Befehl:
linuxmuster-backup --help
Note
Wichtiger Hinweis
mondoarchive schreibt ausführliche Informationen über den Backupverlauf in die Logdatei /var/log/mondoarchive.log
. Leider wird die Datei bei jedem Aufruf des Programms überschrieben. Bei Problemen sollte man also die Datei wegsichern bevor das Backup erneut gestartet wird.
Backupstrategie und Automatisierung¶
In der Schulkonsole gibt es keine Oberfläche zur Konfiguration automatischer Backups. Es gibt aber eine Voreinstellung zur regelmäßigen Durchführung von Backups, mit deren Hilfe einerseits die Einschränkungen((während eines Backup-Laufs sind bestimmte Dienste des Servers nicht verfügbar)) gering gehalten werden, andererseits aber dennoch eine taggenaue Wiederherstellung des gewünschten Zustands möglich ist.
Automatisches Backup¶
Die Strategie ist in der Datei /etc/cron.d/linuxmuster-backup
eingetragen und wird im Abschnitt Konfiguration durch die Einstellung cronbackup=yes
aktiviert.
Die voreingestellte Strategie bedient sich des Programms /usr/sbin/linuxmuster-backup-diff-full
zur Ermittlung des 1. Samstags im Monat und damit der Entscheidung, ob ein differentielles oder Vollbackup durchgeführt werden soll. Die angewandte Stragie wird weiter unten genauer beschrieben.
Vollbackup¶
Durch den voreingestellten Cronjob wird ein Vollbackup immer am 1. Samstag eines Monats um 1 Uhr nachts ausgeführt.
Differentielles Backup¶
Differentielle Backups werden dreimal im Monat jeweils Samstag Nacht [1] um 1 Uhr nachts ausgeführt.
Inkrementelles Backup¶
Inkrementelle Backups werden an den übrigen Tagen des jeweiligen Monats um 2 Uhr nachts ausgeführt.
Mit dieser Backupstrategie erhalten Sie über einen Monatszeitraum hinweg eine Backup-Historie, die es ermöglicht, den Serverzustand eines bestimmten Zeitpunktes wieder herzustellen:
Durch die Verwendung von differentiellen und inkrementellen Backups wird der Speicherplatzverbrauch auf dem Backupmedium minimiert.
Caution
Wichtiger Hinweis
Den Wechsel des Backupmediums sollten Sie immer vor einem Vollbackup vornehmen, da bei differentiellen und inkrementellen Backups die Sicherungsdaten der vorher durchgeführten Backups auf dem Backupmedium vorhanden sein müssen.
[1] | außer am 1. Samstag |
Dateiwiederherstellung im Live-Betrieb¶
Wiederherstellung von Dateien und Verzeichnissen im Live-Betrieb¶
Dazu muss das Backupmedium unter /media/backup
gemountet sein:
mount /dev/sdb1 /media/backup
Starten Sie als root
in einer Konsole das Programm mondorestore:
mondorestore
Es begrüßt Sie der Startbildschirm von Mondo Rescue. Drücken Sie ENTER:

Wählen Sie als Backupmedium Hard Disk aus:
Geben Sie nun den kompletten Pfad zu dem Backupset an, von dem Sie restaurieren wollen:

Im nächsten Schritt geben Sie das Präfix für die ISO-Dateien ein (in unserem Fall “server”):

Anschließend liest mondorescue die Dateilisten ein:

Sind alle Dateilisten geladen, wird Ihnen der zugegebenermaßen etwas umständlich zu bedienende Dateilisten-Editor präsentiert. Navigieren Sie mit den Pfeiltasten auf ein Verzeichnis. Mit der TAB-Taste gelangen Sie in das Menü und wieder heraus. Innerhalb des Menüs können Sie wiederum mit der TAB-Taste navigieren. Wählen Sie More, um den Verzeichnisbaum aufzuklappen, Less um ihn wieder zuzuklappen. Mit Toggle können Sie ein Verzeichnis oder eine Datei für den Restore markieren oder die Markierung wieder aufheben. Für den Restore markierte Elemente werden mit einem * gekennzeichnet. Haben Sie die Auswahl abgeschlossen, so navigieren Sie auf OK und drücken ENTER. Mit Cancel wird das Programm ohne Nachfrage verlassen.

Bestätigen Sie die folgende Sicherheitsabfrage, um schließlich den Zielpfad einzugeben. Es ist sicher eine gute Idee, erst einmal in ein temporäres Verzeichnis (z. Bsp. /var/tmp
) zu restaurieren, um die Dateien dann nach eingehender Prüfung an den vorgesehenen Ort zu verschieben.

Die ausgewählten Dateien und Verzeichnisse werden nun unter /var/tmp
wieder hergestellt. Danach beendet sich mondorestore und Sie können das Backupmedium wieder unmounten.
Komplettrestore des Servers¶
Da dies nicht im Livebetrieb geschehen kann, muss ein Bootmedium hergestellt werden. Dazu brennen Sie die ISO-Datei mondorescue.iso
aus dem Verzeichnis des jüngsten Vollbackupsets (vgl. Abschnitt Konfiguration) mit einem handelsüblichen Brennprogramm auf einen CD-Rohling.
Schließen Sie gegebenenfalls die Backupfestplatte an den Server an oder stellen Sie sicher, dass Netzwerkverbindung zum NFS-Backup-Server besteht. Booten Sie dann den Server von der mondorescue-Boot-CD. Nach kurzer Zeit erscheint der Bootprompt von Mondo Rescue:

Hier haben Sie nun unter anderem folgende Möglichkeiten für die Restaurationsmethode:
- nuke
- Im Abschnitt Restore eines Vollbackups wird die automatische Restauration erläutert.
- interactive
- Der interaktive Modus im Abschnitt Interaktiver Restore beschreibt die Benutzer gesteuerte Wiederherstellung.
Restore eines Vollbackups¶
Nach der Eingabe von nuke am Bootprompt wird der Rechner vollautomatisch aus dem letzten Vollbackupset restauriert. Die Festplatte(n) werden partitioniert und formatiert. Raid- bzw. LVM-Systeme werden wiederhergestellt. Falls auf dem Zielsystem größere Festplatten vorhanden sind, werden die Partitionsgrößen dynamisch angepasst.

Anschließend wird der auf dem Backupmedium gefundene Vollbackupset, aus dem das zur Restauration verwendete ISO-Image mondorescue.iso
stammt, wieder hergestellt.

Nach Abschluss des Restaurationsvorgangs erscheint noch ein Hinweis, den Sie mit ENTER bestätigen müssen,

um schließlich auf die Konsole zu gelangen.

Falls Sie keine differentiellen und inkrementellen Backupsets restaurieren müssen, geben Sie am Prompt exit ein, um in den frisch restaurierten Server zu booten. Was im anderen Fall ist noch zu tun ist, lesen Sie im Abschnitt Restore von differentiellen und inkrementellen Backups.
Restore von differentiellen und inkrementellen Backups¶
Wenn Sie nach einem Vollbackup noch weitere differentielle und/oder inkrementelle Backups erstellt haben, müssen diese anschließend an den Restore des Vollbackups in chronologischer Reihenfolge zurückgespielt werden. Das muss dann im [[backup.disaster.recovery.interactiv|interaktiven Modus]] erfolgen. FIXME
Haben Sie differentielle Backups erstellt, wird als nächstes das aktuellste, differentielle Backup restauriert. Sind dann noch inkrementelle Backups jüngeren Datums vorhanden, müssen diese nacheinander auch noch zurückgespielt werden.
Die Vorgehensweise anhand des oben genannten Beispiels

wäre dann:
- Automatisches Restore des Vollbackups 070201_010002_full, wie im Abschnitt Restore eines Vollbackups beschrieben;
- Restore des differentiellen Backups 070225_020002_diff;
- Restore der beiden nachfolgenden inkrementellen Backups 070227_030002_inc und 070228_030002_inc.
Nach erfolgtem Restore des Vollbackups booten Sie das System also nicht neu, sondern starten auf der Mondo-Rescue-Konsole das Programm mondorestore:
mondorestore
Fahren Sie fort, wie im Interaktiver Restore beschrieben. Wiederholen Sie den Restorevorgang für jedes differentielle und inkrementelle Backup, das Sie restaurieren müssen.
Interaktiver Restore¶
Geben Sie am Bootprompt interactive ein. Die CD bootet dann direkt in das Startmenü von mondorestore.
Wählen Sie im Startmenü die Option Interactively:

Wählen Sie im nächsten Schritt das Backupmedium aus:

Geben Sie den Präfix für die ISO-Dateien nun ein (in unserem Fall “server”):

Geben Sie das Backupgerät ebenfalls ein (in unserem Beispiel eine Festplattenpartition):

Das Dateisystem der Backup-Partition wird automatisch erkannt, das Eingabefeld kann also leer bleiben:

Geben Sie den Pfad zum gewünschten Backupset ein. Vorgegeben wird der Pfad zum Vollbackup. Wenn Sie ein differentielles oder inkrementelles Backupset zurückspielen möchten, müssen Sie den Pfad anpassen.

Jetzt können Sie noch die Partitionierung der Festplatte(n) anpassen. Das ist jedoch nur in Spezialfällen notwendig, wenn Sie zum Beispiel ein Vollbackup interaktiv restaurieren und die Partitionierung auf dem Zielsystem anders sein soll als auf dem System, das gesichert wurde. Um weiter zu gelangen, navigieren Sie mit der TAB-Taste auf OK und drücken Sie ENTER.

Bestätigen Sie noch die Sicherheitsabfrage bezüglich der Mountliste.

Nachdem die Zieldateisysteme gemountet wurden, werden Sie noch gefragt, ob Sie alle Dateien des Backupsets restaurieren wollen. Wählen Sie Yes, um den Backupset komplett zu restaurieren. Mit No erhalten Sie die im Abschnitt Interaktiver Restore beschriebene Möglichkeit, einzelne Dateien und Verzeichnisse für die Restauration auszuwählen.

Schließlich startet der Restaurationsvorgang.

Sind alle Dateien restauriert kann der Bootloader initialisiert werden. Wählen Sie Yes.

In einem weiteren Schritt muss noch angegeben werden, ob die Mountliste geändert wurde.

Sollen die Partitionen mit einem Label versehen werden? Hier kann mit Yes geantwortet werden.

Bestätigen Sie abschließend noch den Start des post-nuke scripts.

Nun ist die Restauration des Backupsets abgeschlossen und die Mondo-Rescue-Konsole erscheint. Wenn Sie weitere Backupsets zurückspielen müssen, starten Sie mondorestore auf der Konsole. Um das System neu zu starten, geben Sie exit ein.
Hardwaretest mit mindi¶
Mit Hilfe des Tools mindi erzeugt mondoarchive beim Backup ein bootbares Restore-CD-Image. Um zu testen, ob bei einem späteren Restore die Festplatten und Partitionen richtig erkannt werden, ist es empfehlenswert den Server einmal von einer mit mindi erzeugten CD zu booten.
Das mindi-CD-Image erstellen Sie einfach mit dem Befehl
mindi
auf der Konsole. In der Folge müssen Sie zwei Fragen beantworten. Die Frage nach dem eigenen Kernel beantworten Sie mit y:
Mindi Linux mini-distro generator v2.0.4-r2045
Latest Mindi is available from http://www.mondorescue.org
BusyBox sources are available from http://www.busybox.net
------------------------------------------------------------------------------
Mindi-BusyBox v1.2.1 (2008.10.20-18:41+0000) multi-call binary
Do you want to use your own kernel to build the boot disk ([y]/n) ?
Danach wird das System analysiert und das ISO-Image erstellt. Die abschließende Frage nach dem bootbaren USB Image beantworten Sie mit n.
Analyzing dependency requirements Done.
Making complete dependency list Done.
Analyzing your keyboard's configuration.
Adding the following keyboard mapping tables: Done.
Assembling dependency files...................................Done. ..........
Your mountlist will look like this:
Analyzing LVM...
DEVICE MOUNTPOINT FORMAT SIZE (MB) LABEL/UUID
/dev/sda6 lvm lvm 140003
/dev/sda1 / ext3 9554
/dev/mapper/vg_lml-home /home ext3 lvm
/dev/mapper/vg_lml-var /var ext3 lvm
/dev/mapper/vg_lml-var+spool+cups /var/spool/cups ext3 lvm
/dev/sda5 swap swap 3067
Tarring and zipping the data content... Done.
Making 16384KB boot disk...............udev device manager found
WARNING: No Hardware support for ST20V10
You may ask your manufacturer to contribute to the mindi project
...11709 blocks
............ Done.
In the directory '/var/cache/mindi' you will find the images:-
mindi-bootroot.16384.img
Created bootable ISO image at /var/cache/mindi/mindi.iso
Shall I make a bootable USB image ? (y/[n])
Das mindi-CD-Image finden Sie unter /var/cache/mindi/mindi.iso
. Brennen Sie nun das ISO-Image auf einen CD-Rohling und booten Sie den Server damit.
Ist der Bootvorgang abgeschlossen, erscheint eine Konsole. Durch Eingabe des Befehls
fdisk -l
verschaffen Sie sich einen Überblick über die gefundenen Festplattenpartitionen. Wenn die Partitionen (inkl. Backuppartition) nicht so angezeigt werden, wie auf dem laufenden linuxmuster.net-Server, wurde wahrscheinlich der Festplattenkontroller nicht erkannt. In dem Fall kann man durch Hinzufügen des entsprechenden Treibermoduls in der Konfigurationsdatei /etc/mindi/mindi.conf
unter SCSI_MODS oder IDE_MODS den Fehler eventuell beheben. Ein Vergleich der Ausgabe von
lsmod
des linuxmuster.net-Servers mit derjenigen unter mindi hilft gegebenenfalls bei der Suche nach fehlenden Modulen.
Caution
Wichtiger Hinweis
Ein Workaround, der evtl. hilft auf linuxmuster.net/openML-Systemen der Version 4.0.x Hardware-Probleme beim Restore zu vermeiden, besteht darin die Konfigurationsdatei /etc/mindi/mindi.conf
zu entfernen, sodass mindi die Hardwarekonfiguration nach Standardeinstellungen ermittelt. Erstellen Sie, wie oben beschrieben, ein Mindi-ISO-Image, verschieben Sie jedoch zuvor die Konfigurationsdatei /etc/mindi/mindi.conf
in ein anderes Verzeichnis, zum Beispiel:
mv /etc/mindi/mindi.conf /root
Note
Im Forum findet sich dieser Hinweis auf die Konfiguration der /etc/mindi/mindi.conf
.
Falls Mindi Fehler liefert, kann es nach folgender Anpassung funktionieren:
In der Datei /etc/mindi/mindi.conf
die Parameter anpassen:
#
# Example of mindi configuration file
#
# $Id$
#
# FORCE_MODS="crc_ccitt crc_ccitt"
#
# EXTRA_SPACE=80152 # increase if you run out of ramdisk space
# BOOT_SIZE=32768 # size of the boot disk
# MINDI_ADDITIONAL_BOOT_PARAMS="devfs=nomount noresume selinux=0 barrier=off udevtimeout=10 acpi=off"
EXTRA_SPACE=120000
BOOT_SIZE=96000
Index¶
Virtualisierung über KVM¶
Section author: @morbweb, @Tobias, @MachtDochNix (pics)
In diesem Dokument findest Du “Schritt für Schritt” Anleitungen zum Installieren der linuxmuster.net-Musterlösung in der Version 7.0 auf Basis von KVM unter Ubuntu Server 18.04 LTS. Lies zuerst die Abschnitte Was ist neu in 7.0? und Voraussetzungen, bevor Du dieses Kapitel durcharbeitest.
Im folgenden Bild ist die einfachste Form der Implementierung der
Musterlösung schematisch mit dem gewählten (Standard-)Netzwerk 10.0.0.0/12
dargestellt:

Nach der Installation gemäß dieser Anleitung erhältst Du eine einsatzbereite Umgebung bestehend aus
- einem Host (KVM) für alle virtuellen Maschinen,
- einer Firewall (OPNSense) und
- eines Servers (linuxmuster.net)
Ähnliche, nicht dokumentierte, Installationen gelten für einen OPSI-Server und einen Docker-Host, die dann ebenso auf dem KVM-Host laufen können.
Voraussetzungen¶
- Es wird vorausgesetzt, dass Du einen Administrationsrechner (Admin-PC genannt) besitzt, den Du je nach Bedarf in die entsprechenden Netzwerke einstecken kannst und dessen Netzwerkkonfiguration entsprechend vornehmen kannst. Für diese Anleitung reicht ein Rechner mit ssh-Software aus, empfohlen wird allerdings ein Ubuntu-Desktop mit der Verwaltungssoftware virt-manager.
- Der Internetzugang des Admin-PCs und auch des späteren KVM-Hosts sollte zunächst gewährleistet sein, d.h. dass beide zunächst z.B. an einem Router angeschlossen werden, über den die beiden ins Internet können. Sobald später die Firewall korrekt eingerichtet ist, bekommt der Admin-PC und bei Bedarf auch der KVM-Host eine IP-Adresse im Schulnetz.
Installation des KVM-Hosts¶
Hint
Der KVM-Host bildet das Grundgerüst für die Firewall OPNsense und den Schulserver server. Da KVM im Gegensatz zu Xen oder VMWare auf die Virtualisierungsfunktionen der CPU angewiesen ist, müssen diese natürlich vorhanden sein und eventuell im BIOS aktiviert werden.
Die folgende Anleitung beschreibt die einfachste Implementierung ohne Dinge wie VLANs, Teaming oder Raids. Diese Themen werden in zusätzlichen Anleitungen betrachtet.
Erstellen eines USB-Sticks für den KVM-Host¶
- Download für den KVM-Host
- Es wird für die Installation auf dem KVM-Host ein Ubuntu Server 64bit in der Version 18.04 LTS verwendet. Ein Installationsimage für DVD/USB-Stick kann hier heruntergeladen werden.
Hilfreiche Befehle sind (Vorsicht - mit dd
werden vorhandene Daten
unwiderruflich zerstört):
Löschen des MBRs des USB-Sticks
# sudo dd if=/dev/zero of=/dev/sdX bs=1M count=10
Kopieren des ISOs auf den Stick
# sudo dd if=<Name des ISOs> | sudo pv -s <Groesse des ISOs> | sudo dd of=/dev/sdX bs=1M && sync
Natürlich können auch alle anderen gängigen Tools zur Erstellung genutzt werden.
Installation des KVM-Hosts¶
Hint
Bei der Installation sind folgende Merkmale zu berücksichtigen:
- Erstellung eines Nutzers
lmadmin
, der später wieder gelöscht wird. - Auswahl des HWE Kernels
- Einrichtung eines LVMs auf der HDD mit 25GB für das Betriebssystem
- Auswahl der Pakete Virtual Machine host und OpenSSH server
Des Weiteren ist es (wie in den Voraussetzungen angesprochen) sinnvoll, die erste Netzwerkkarte des Servers an den Internet-Router anzuschließen, um eventuell notwendige Pakete (Sprachpakete) während der Installation zu installieren.
todo: | neues Video auf Basis von Ubuntu 18.04 LTS |
---|
Netzwerkkonfiguration des KVM-Hosts¶
In diesem Schritt erfolgt die Anbindung des KVM-Hosts an das Schulnetz und an das Internet sowohl für den KVM-Host selbst, als auch für die virtuellen Maschinen. Dafür werden virtuelle Netzwerkswitche (so genannte bridges) eingerichtet mit denen die virtuellen Maschinen netzwerktechnisch verbunden werden. Der KVM-Host selbst kann auch mit Brücken verbunden werden, wenn er im jeweiligen Netz sichtbar sein soll.
Herausfinden der Namen der Netzwerkkarten. Wenn du nicht gerade VLANs auf dem KVM-Host einrichten willst, sollten hier alle physischen Netzwerkkarten auftauchen. Eventuell wurden sie umbenannt (“ens3: renamed from eth0”, usw.):
# dmesg | grep eth [ 9.230673] e1000e 0000:06:00.0 eth0: (PCI Express:2.5GT/s:Width x4) 00:30:48:dd:ee:ff [ 9.273215] e1000e 0000:06:00.1 eth1: (PCI Express:2.5GT/s:Width x4) 00:30:48:aa:bb:cc
- Anpassen der Netzwerkkonfiguration
/etc/netplan/50-linuxmuster.yaml network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no eth1: dhcp4: no dhcp6: no bridges: br-red: interfaces: [eth0] link-local: [ ] addresses: [ ] br-server: interfaces: [eth1] link-local: [ ] addresses: [ ] #br-dmz: # interfaces: [eth2] # link-local: [ ] # addresses: [ ]
Mit dieser Netzwerkkonfiguration werden die Netzwerkbrücken
br-red
undbr-server
erstellt, aber dem KVM-Host im jeweiligen Netz keine IP-Adresse zugewiesen. Will man (zumindest zeitweilig) von außen per ssh auf den KVM-Host zugreifen, muss man auch im entsprechenden Netzwerk eine Netzwerkadresse festlegen, z.B. im Netzwerkbr-server
ersetzt man obigen Abschnitt in:... bridges: ... br-server: interfaces: [eth1] link-local: [ ] addresses: [10.0.0.9/16] gateway4: 10.0.0.254 nameservers: addresses: [10.0.0.1] search: ["meine-schule.de"] ...
Um im Netzwerk der äußeren Internetverbindung
br-red
beispielsweise per DHCP eine IPv4-Adresse zu erhalten, konfiguriert man den entsprechenden Abschnitt so... bridges: ... br-red: interfaces: [eth0] link-local: [ ] dhcp4: true ...
Hint
Wer seinen KVM-Host von früheren Ubuntu-Versionen updatet, bei dem
wird nicht automatisch netplan installiert, sondern ifupdown
mit der Konfigurationsdatei /etc/network/interfaces
wird
beibehalten.
Installation von Updates¶
Nach der Erstinstallation ist es sinnvoll, das System erst einmal auf den aktuellen Stand zu bringen. Auf der Konsole wird dies mit folgenden Befehlen durchgeführt:
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get dist-upgrade
# sudo apt-get autoremove
# sudo apt-get autoclean
Einrichten des SSH-Zugangs auf Zertifikatsbasis¶
todo: | check/redo for 18.04 |
---|
Die Remote-Administration des KVM-Hosts soll per SSH und Zertifikaten erfolgen. Als Benutzer wird root verwendet.
- Setzen des Rootpassworts
# passwd
- Aktivierung des SSH-Zugangs für root
# nano /etc/ssh/sshd_config ... PermitRootLogin yes ...
- Erstellen von SSH-Zertifikaten auf dem Admin-PC und Kopieren auf den KVM-Host
# ssh-keygen # ssh-copy-id root@192.168.1.10
- Deaktivierung des SSH-Zugangs für root per Passwort
# nano /etc/ssh/sshd_config ... PermitRootLogin prohibit-password ...
- Löschen des Users
lmadmin
auf dem KVM-Host # userdel -r lmadmin
Einrichten der Zeit-Synchronisation¶
todo: | check/redo for 18.04 |
---|
Immer eine gute Sache ist es, z.B. in Logfiles die korrekte Zeit zu finden. Aus diesem Grund erfolgt die Konfiguration eines NTP-Clients.
Installieren von ntpdate
# apt-get install ntpdate
Einmaliges Stellen der Uhrzeit
# ntpdate 0.de.pool.ntp.org
Installieren des NTP-Daemons
# apt-get install ntp
Anzeigen der Zeitsynchronisation
# ntpq -p
Vorbereitungen für den Import der virtuellen Maschinen¶
- Download Virtuelle Maschinen
Lade auf dem KVM-Host die aktuellen OVA-Abbilder von der Webseite herunter, die zu dem Adressbereich gehören, den Du brauchst (
10.0.0.1/16
oder10.16.1.1/12
)# wget http://fleischsalat.linuxmuster.org/ova/lmn7-opnsense-20181109.ova # wget http://fleischsalat.linuxmuster.org/ova/lmn7-server-20181109.ova # wget http://fleischsalat.linuxmuster.org/ova/lmn7-opsi-20181109.ova # wget http://fleischsalat.linuxmuster.org/ova/lmn7-docker-20181109.ova
und überprüfe die md5-Summe mit dem entsprechenden Werkzeug und vergleiche mit der Webseite auf Integrität. In der weiteren Anleitung wird statt der Dateien mit Datumsstempel
20181109
die Datei mit*
verwendet. Solange Du nur je ein (das aktuelle) OVA-Abbild vorliegen hast, funktionieren die Befehle auch mit dem*
.- KVM-Anpassungen
- Nach der Integration bietet es sich an, die Hardware der importierten Appliances anzupassen und z.B. die Festplattentypen auf “virtio” zu stellen. Ebenso habe ich den Typ der “Grafikkarte” von spice auf vnc gesetzt.
Import der Firewall¶
Importiere die Firewall-Appliance lmn7-opnsense.
# virt-convert lmn7-opnsense-*.ova
...
Running /usr/bin/qemu-img convert -O raw lmn7-opnsense-20181109-disk1.vmdk /var/lib/libvirt/images/lmn7-opnsense-20181109-disk1.raw
Creating guest 'lmn7-opnsense'.
Wer als Speichermedium lieber das LVM verwendet, der muss die Festplattengröße ermitteln, ein logical volume erstellen, das Abbild nochmals kopieren und die Konfiguration editieren.
# qemu-img info /var/lib/libvirt/images/lmn7-opnsense-*disk1.raw | grep virtual\ size
virtual size: 10G (10737418240 bytes)
# lvcreate -L 10737418240b -n opnsense vghost
# qemu-img convert -O raw /var/lib/libvirt/images/lmn7-opnsense-*disk1.raw /dev/vghost/opnsense
# virsh edit lmn7-opnsense
...
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/vghost/opnsense'/>
...
Falls das Abbild erfolgreich ins LVM des Hosts übertragen wurde,
kann das Abbild in /var/lib/libvirt/images
gelöscht werden.
Netzwerkanpassung der Firewall¶
Die Netzwerkkarten der Appliance werden in der Reihenfolge importiert, wie sie in der Appliance definiert wurden:
- LAN, 10.0.0.254/16, d.h. diese Schnittstelle wird auf der pädagogischen Seite des Netzwerks angeschlossen
- WAN, DHCP, d.h. diese Schnittstelle wird auf der Internetseite angeschlossen
- OPT1, unkonfiguriert, d.h. diese Schnittstelle wird für optionale Netzwerke verwendet und muss zunächst nicht angeschlossen werden.
Öffne die Konfiguration und editiere die erste Schnittstelle, so dass sie sich im Schulnetzwerk befindet, hier im Beispiel wird diese an die virtuelle Brücke br-green mit dem Stichwort bridge und dem Typ bridge angeschlossen. Die MAC-Adresse sollte bei dieser Gelegenheit auch (beliebig) geändert werden.
# virsh edit lmn7-opnsense
...
<interface type='bridge'>
<mac address='52:54:00:20:ea:70'/>
<source bridge='br-green'/>
...
Die zweite Schnittstelle sollte genauso dem Typ bridge zugeordnet werden, allerdings an die Brücke br-red angeschlossen werden.
# virsh edit lmn7-opnsense
...
<interface type='bridge'>
<mac address='52:54:00:d2:0c:62'/>
<source bridge='br-red'/>
...
Test der Verbindung zur Firewall¶
Starte die Firewall. Der Admin-PC sollte sich nach ca. 3 Minuten mit der Firewall verbinden lassen.
# virsh start lmn7-opnsense
Domain lmn7-opnsense started
# ping 10.0.0.254
PING 10.0.0.254 (10.0.0.254) 56(84) bytes of data.
64 bytes from 10.0.0.254: icmp_seq=1 ttl=64 time=0.183 ms
64 bytes from 10.0.0.254: icmp_seq=2 ttl=64 time=0.242 ms
...
STRG-C
# ssh 10.0.0.254 -l root
Password for root@OPNsense.localdomain:
...
LAN (em0) -> v4: 10.0.0.254/16
WAN (em1) -> v4/DHCP4: 192.168.1.23/16
...
Man erkennt, dass die Firewall die Netzwerkkarten für innen (LAN) und außen (WAN) richtig zugeordnet hat. Sollte diese Verbindung nicht gelingen, dann empfiehlt sich ein Admin-PC, mit dem man über das Programm virt-manager den VM-Host und damit die Firewall über eine GUI-Verbindung erreicht und die Netzkonfiguration der opnsense überprüfen und korrigieren kann.
Import des Servers¶
Importiere die Server-Appliance lmn7-server.
# virt-convert lmn7-server-*.ova
...
Running /usr/bin/qemu-img convert -O raw lmn7-server-20181109-disk1.vmdk /var/lib/libvirt/images/lmn7-server-20181109-disk1.raw
Running /usr/bin/qemu-img convert -O raw lmn7-server-20181109-disk2.vmdk /var/lib/libvirt/images/lmn7-server-20181109-disk2.raw
Creating guest 'lmn7-server'.
Festplattengrößen für den Server¶
An dieser Stelle sollte man die Festplattengrößen an seine eigenen
Bedürfnisse anpassen. Beispielhaft wird die zweite Festplatte und das
darin befindliche server-LVM vergrößert, so dass /dev/vg_srv/linbo
und /dev/vg_srv/default-school
auf jeweils 175G vergrößert werden.
Zunächst wird der Container entsprechend (10+10+175+175 GB) vergrößert, dann der mit Hilfe von kpartx aufgeschlossen.
# qemu-img resize -f raw /var/lib/libvirt/images/lmn7-server-*disk2.raw 370G
Image resized.
# qemu-img info /var/lib/libvirt/images/lmn7-server-*disk2.raw | grep virtual\ size
virtual size: 370G (397284474880 bytes)
# kpartx -av /var/lib/libvirt/images/lmn7-server-*disk2.raw
# vgdisplay -s vg_srv
"vg_srv" <100,00 GiB [<100,00 GiB used / 0,00 GiB free]
Durch kpartx wurde der Container über ein so genanntes loop-device geöffnet und das darin liegende LVM wurde auf dem Serverhost hinzugefügt. Daher kann jetzt sowohl das loop-device als physical volume vergrößert als auch die logical volumes vergrößert werden. Zu letzt muss noch das Dateisystem geprüft und erweitert werden.
# pvresize /dev/loop0
Physical volume "/dev/loop0" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
# vgdisplay -s vg_srv
"vg_srv" <370,00 GiB [<100,00 GiB used / 270,00 GiB free]
# lvresize /dev/vg_srv/default-school -L 175G
Size of logical volume vg_srv/default-school changed from 40,00 GiB (10240 extents) to 175,00 GiB (44800 extents).
Logical volume vg_srv/default-school successfully resized.
# e2fsck -f /dev/vg_srv/default-school
...
linbo: 1010/2621440 Dateien (0.6% nicht zusammenhängend), 263136/10485760 Blöcke
# resize2fs /dev/vg_srv/default-school
...
Das Dateisystem auf /dev/vg_srv/default-school is nun 45875200 (4k) Blöcke lang.
# lvresize /dev/vg_srv/linbo -L 175G
Insufficient free space: 34560 extents needed, but only 34559 available
# lvresize /dev/vg_srv/linbo -l +34599
Size of logical volume vg_srv/linbo changed from <40,00 GiB (10239 extents) to <175,00 GiB (44799 extents).
Logical volume vg_srv/linbo successfully resized.
# e2fsck -f /dev/vg_srv/linbo
...
default-school: 13/2621440 Dateien (0.0% nicht zusammenhängend), 242386/10484736 Blöcke
# resize2fs /dev/vg_srv/linbo
...
Das Dateisystem auf /dev/vg_srv/linbo is nun 45874176 (4k) Blöcke lang.
Um den Container wieder ordentlich zu schließen, muss man die volume group abmelden und mit kpartx abschließen.
# vgchange -a n vg_srv
0 logical volume(s) in volume group "vg_srv" now active
# kpartx -dv /var/lib/libvirt/images/lmn7-server-*disk2.raw
loop deleted : /dev/loop0
Auch hier muss man, wenn man als Speichermedium auf dem Host lieber LVM verwendet, weitere Anpassungen vornehmen.Hier habe ich auch den Festplattentyp auf virtio und die Festplattenbezeichnung daher auf vdX umgestellt.
# qemu-img info /var/lib/libvirt/images/lmn7-server-*disk1.raw | grep virtual\ size
virtual size: 25G (26843545600 bytes)
# lvcreate -L 26843545600b -n serverroot vghost
# qemu-img convert -O raw /var/lib/libvirt/images/lmn7-server-*disk1.raw /dev/vghost/serverroot
# virsh edit lmn7-server
...
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/vghost/serverroot'/>
<target dev='vda' bus='virtio'/>
...
# qemu-img info /var/lib/libvirt/images/lmn7-server-*disk2.raw | grep virtual\ size
virtual size: 370G (397284474880 bytes)
# lvcreate -L 397284474880b -n serverdata vghost
# qemu-img convert -O raw /var/lib/libvirt/images/lmn7-server-*disk2.raw /dev/vghost/serverdata
# virsh edit lmn7-server
...
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/vghost/serverdata'/>
<target dev='vdb' bus='virtio'/>
...
Falls die Abbilder erfolgreich ins LVM des Hosts übertragen wurden,
können die Abbilder in /var/lib/libvirt/images
gelöscht werden.
Netzwerkanpassung des Servers¶
Es muss nur eine Netzwerkschnittstelle angepasst werden und in die Brücke br-green gestöpselt werden.
# virsh edit lmn7-server
...
<interface type='bridge'>
<mac address='52:54:00:9f:b8:af'/>
<source bridge='br-green'/>
...
Test der Verbindung zum Server¶
Starte den Server. Teste, ob Du von deinem Admin-PC auf den Server mit dem Standardpasswort Muster! kommst.
# virsh start lmn7-opnsense
Domain lmn7-opnsense started
# ssh 10.0.0.1 -l root
root@10.0.0.1's password:
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-38-generic x86_64)
...
Sollte diese Verbindung nicht gelingen, dann empfiehlt sich ein Admin-PC, mit dem man über das Programm virt-manager den VM-Host erreicht und über eine GUI-Verbindung den Server begutachtet.
Abschließende Konfigurationen¶
Aktivieren des Autostarts der VMs¶
Damit die VMs zukünftig bei einem Neustart des KVM-Servers nicht immer von Hand gestartet werden müssen, ist es sinnvoll den Autostart zu aktivieren.
# virsh autostart lmn7-opnsense
Domain lmn7-opnsense marked as autostarted
# virsh autostart lmn7-server
Domain lmn7-server marked as autostarted
Ab jetzt ist eine Installation der Musterlösung möglich. Folge der Anleitung hier.
Virtualisierung mit XCP-ng¶
Section author: @cweikl
XCP-ng ist eine reine OpenSource-Virtualisierungslösung, die auf Basis von XEN arbeitet und alle sog. Enterprise-Features wie Replikation, automatisierte Backups, Verschieben von VMs im laufenden Betrieb etc. bietet. Daher eignet sie sich besonders für den virtuellen Betrieb von linuxmuster.net, da diese recht einfach skalierbar ist und dann sog. Ressourcen-Pools erstellt und verwaltet werden können.
Der Betrieb wird auf jeglicher Markenhardware unterstützt und auf einer Vielzahl an NoName-Hardware. linuxmuster.net hat die vorgefertigten virtuellen Maschinen in einem sog. SupplementalPack für XCP-ng zusammengefasst. Dieses kann sehr einfach am Ende der Installation von XCP-ng zusätzlich während des Installationsprozesses installiert werden.
Für die Installation benötigen Sie lediglich
- einen Installationsdatenträger mit XCP-ng 7.4.1 (zu finden auf XCP Webseite)
- sowie die Erweiterungs-DVD linuxmuster.net-SupplementalPack (zu finden auf linuxmuster.net)
Nach der Installation gemäß dieser Anleitung erhalten Sie eine einsatzbereite Umgebung bestehend aus
- Server,
- Firewall (OPNsense),
- Web-Administrationsoberfläche (XOA)
- Docker-Host,
- OPSI.
Installation XCP-ng¶
Herunterladen von XCP-ng¶
Der Hypervisor kann von der Projekthomepage https://xcp-ng.org/download/ heruntergeladen werden. Diese Anleitung bezieht sich auf die Version 7.4.1.
Die ISO-Datei muss heruntergeladen und ein bootbarer USB-Stick erstellt werden.
- Herunterladen: XCP Webseite
- USB-Stick erstellen: In das Download Verzeichnis Wechseln, Buchstaben für USB-Stick unter Linux ermitteln X durch den korrekten Buchstaben ersetzen und dann nachstehenden Befehl ein.
dd if=XCP-ng_7.4.1.iso of=/dev/sdX bs=8M status=progress oflag=direct
Installieren von XCP-ng¶
Vom USB-Stick booten und dem Setup folgen:

Wählen Sie Ihr Tastaturlayout. Wir verwenden [querz] de
.

Sollten Sie zusätzliche Treiber benötigen können Sie diese nun laden in dem Sie F9
drücken und
akzeptieren Sie danach die Lizenzbedingungen mit Accept EULA
..

XCP-ng prüft, ob bereits eine vorherige Version ggf. auch von XCP-ng installiert war und bietet an, diese zu aktualisieren oder eine Neuinstallation vorzunehmen. Wählen Sie das gewünschte Vorgehen aus.

Wählen Sie danach den Datenträger aus, der verwendet werden soll und setzen Sie den Haken bei „Enable thin provisioning“. Bestätigen Sie mit Ok
.
fixme: | Andere Abb |
---|

Danach werden Sie nach der Installationsquelle gefragt. Geben Sie hier Local Media
an.
Danach werden Sie danach gefragt, ob Sie Zusatzpakete (SupplementalPacks) installieren möchten. Geben Sie hier Yes
an. Später müssen Sie dann das entsprechende Medium auswählen, auf dem das Ihnen heruntergelade linuxmuster.net-supplemtalpack als ISO-Datei liegt.
Danach werden Sie gefragt, ob das Installationsmedium überprüft werden soll, bestätigen Sie dies mit Yes
.
Legen Sie danach das Kennwort für den Administrator (user: root) fest und bestätigen Sie dieses.

Bestätigen Sie die Frage nach der Installation von XCP-ng. Es werden für das gewählte Medium dann die Partitionen erstellt, das Dateisystem erzeugt und alle Daten auf dem Medium gelöscht.

Danach startet die Installation

Nach erfolgreicher Installation können Sie mit Ok
den Server neu starten.

Beim Startvorgang erscheint folgende Auswahl

und nachstehender Startbildschirm

Nach erfolgreichem Start bootet XCP-ng in folgende Konsole des Hypervisors:

Danach gehen Sie weiter zur Initialisierung des Servers.
XCP-ng initialisieren¶
fixme: | Andere Abbildungen angepasst auf das zu erstellen SupplementalPack |
---|
Wählen Sie auf der Konsole des XCP-ng Servers den Punkt Local Command Shell
und drücken Sie Enter
.

Geben Sie den Benutzer root an und das Passwort das Sie während der Installation vergeben haben.

Geben Sie in der Konsole den Befehl linuxmuster-hv-setup --first
ein und bestätigen Sie mit Enter

Starten Sie die Installation mit Ok

Sofern genügend Netzwerkkarten vorhanden sind erscheint diese Meldung:

Stecken Sie alle Netzwerkkabel außer das Netzwerkkabel GREEN (internes Schulnetz) aus. Es muss eine Verbindung zwischen Switch und Server stehen. Bestätigen Sie dann mit Ok
.

Verbinden Sie nun die Netzwerkkarte RED mit Ihrem Modem oder Switch für das Netz RED. Es wird die betroffene Netzwerkkarte erkannt und konfiguriert.

Verbinden Sie nun das Netzwerk BLUE mit dem gewünschten Interface am Server.

Legen Sie nun die CD „linuxmuster-SupplementalPack“ erneut in das Laufwerk ein und bestätigen Sie mit Ok
.

Sie werden nun der Reihe nach abgefragt welche VMs Sie importieren wollen. Wählen Sie jeweils Yes
bzw. No
und bestätigen mit Enter
.



Entnehmen Sie nun die CD und bestätigen Sie mit Ok
.

Sie werden nun gefragt ob Sie die Autostartfunktion nutzen wollen. Wenn Sie diese Funktion aktivieren können im Folgeschritt VMs ausgewählt werden, die beim Start des XCP-ngs automatisch gestartet werden sollen. Wählen Sie Yes
oder No
.

Sie werden nun der Reihe nach abgefragt welche VMs automatisch gestartet werden sollen. Wählen Sie jeweils Yes
bzw. No
und bestätigen Sie mit Enter
.



Sie können nun das System mit der Auswahl Yes
neu starten.

Das System fährt herunter und startet danach wieder. Die VMs, die Sie importiert haben, werden - sofern entsprechend konfiguriert - direkt gestartet und sind bereit für die Konfiguration.
XCP-ng: Administration¶
Für die Administration Ihrer virtualisierten Umgebung mit XCP-ng stehen Ihnen mehrere Möglichkeiten zur Verfügung.
Sofern Sie einen Windows-Rechner im Netzwerk haben, können Sie das Programm XCP-ng Center
verwenden.
Für Linuxrechner gibt es einen Clone von XenCenter namens OpenXenManager.
Für eine web-basierte Administration können Sie, die VM „XOA.lmn7“ importieren.
XCP-ng Center¶
Laden Sie sich den Windows-Client von der Seite des XCP-ng Projekts herunter:
XCP-ng Center v7.4.2.7-RC3
Entpacken Sie das ZIP-Archiv auf dem Windows-Rechner inkl. der enthaltenen Verzeichnisse. Legen Sie sich einen Link auf den Desktop, der auf die Datei XCP-ng Center.exe
verweist, die sich im soeben entpackten Verzeichnis befindet.
Starten Sie das Programm
fixme: | Weitere Erklärungen |
---|
Xen Orchestra (XOA)¶
Note
Um XOA nutzen zu können, muss die xoa.lmn7 importiert sein!
Öffnen Sie einen Webbrowser und wechseln auf die Seite http://10.0.0.4. Geben Sie den User admin@admin.net
mit dem Passwort muster
ein und klicken Sie auf Login.

Klicken Sie auf das Kachelsymbol rechts oben und wählen Settings.

Tragen Sie links die IP-Adresse 10.X.X.X
ein und das Passwort, das Sie vergeben haben. Klicken Sie zum Übernehmen auf Save
.

Wenn Sie mit der Maus über eine VM fahren erscheinen direkt einige Schaltflächen. Klicken Sie auf VM Console um eine Maschine zu bedienen.

Sie können nun die Virtuelle Maschine bedienen.

OpenXen Manager¶
Um OpenXen Manager zu verwenden müssen Sie zunächst das Paket installieren. Gehen Sie dazu wie folgt vor.
Öffnen Sie ein Terminal und geben folgenden Befehl ein:
$ nano /etc/apt/sources.list.d/netzint.list

Schreiben Sie nun in die Zeile:
deb http://pkg.netzint.de/ precise main

Verlassen Sie den Editor in dem Sie Strg+x
drücken. Sie werden gefragt ob Sie die Änderungen speichern wollen. Drücken Sie Y
und bestätigen den Speicherort/Dateinamen mit Enter
.
Schreiben Sie folgende Befehle in die Konsole und bestätigen Sie jeweils mit Enter
:
$ wget http://pkg.netzint.de/netzint.pub.key
$ apt-key add netzint.pub.key

Schreiben Sie den Befehl apt-get update
in die Konsole und drücken Sie Enter
.
$ apt-get update

Schreiben Sie den Befehl apt-get install netzint-xenmanager
in die Konsole und drücken Enter
. Bestätigen Sie die Abfrage fortzufahren mit Y
.
$ apt-get install netzint-xenmanager

Nach der Installation starten Sie OpenXenmanager mit dem Befehl
$ xenmanager

Klicken Sie auf Add New Server
und geben die IP-Adresse sowie den Benutzernamen root und das Passwort ein. Bestätigen Sie mit Connect
.

Sie sehen nun die Verwaltungsoberfläche mit der Sie den XCP-ng Server administrieren können.

Linuxmuster.net helfen¶
Es gibt verschiedene Möglichkeiten, wie Sie helfen können, linuxmuster.net zu verbessern.
- Über linuxmuster.net berichten (z.B. in Blogs, Sozialen Netzwerken, etc.)
- Fragen stellen und Fehler melden: https://ask.linuxmuster.net
- selbst Fragen beantworten: https://ask.linuxmuster.net
- Eigene Tipps und Tricks dokumentieren: https://linuxmuster.net/wiki
- Dem Verein beitreten
Dokumentation¶
Die Dokumentation wird bei github gelagert und bei Transifex übersetzt. Es ist sehr einfach, hier ohne weitere Hilfsmittel mitzuhelfen.
Ein bisschen herausfordernder ist, die Dokumentation in größerem Rahmen zu überarbeiten und lokal zu bauen, aber auch dafür gibt es eine Anleitung.
Dokumentation in GitHub ändern¶
Wenn Sie einen Fehler (Rechtschreibfehler, kleine inhaltliche Fehler, etc.) in der Dokumentation gefunden haben, klicken Sie einfach auf den “Edit on Github” Link am rechten oberen Rand jeder Dokumentationsseite.

Sie werden auf github.com geleitet. Mit einem Klick auf den Stift (siehe Bild) können Sie das aktuelle Kapitel bearbeiten. Dafür müssen Sie sich bei GitHub anmelden. Wenn Sie noch kein Konto bei Github haben, können Sie sich hier eines anlegen oder oben rechts auf “Sign up” klicken.

Die Dokumentation ist in der Auszeichnungssprache “rST” geschrieben. Hier finden Sie einen guten Überblick über die am häufigsten verwendeten Elemente.

Im Beispiel wurde der Rechtschreibfehler und die Länge der zur Überschrift gehörenden Unterschreichung geändert.
Nachdem du alle Änderungen vorgenommen hast, gib unten einen Titel und einen Kommentar ein. Die Änderungen können nun mit einem Klick auf “Propose file changes” eingereicht werden.

Dein Änderungsvorschlag wird dann vom Dokumentationsteam geprüft und gegebenenfalls übernommen. Sekunden später erscheint die Änderung dann auch hier in der offiziellen Dokumentation.
Hint
Bitte beachten Sie auch unbedingt die Leitlinien zur Dokumentation, damit ihre Änderungen schnell eingepflegt werden könnnen!
Sollest du bereits Schreibrechte am Repositorium haben und bist dir sicher, dass die Dokumentation durch deine Änderung nicht beeinträchtigt wird, kannst du die Änderungen direkt einbauen (“Commit”) oder im Zweifel einen Zweig und einen so genannten Pull-Request erstellen.

Größere Änderungen an der Dokumentation sind immer über Pull-Requests zu erstellen. Dafür ist es nützlich, lokal eine Kopie (fork) vorzuhalten und Änderungen lokal zu testen, das im entsprechenden Kapitel erklärt wird.
Dokumentation übersetzen¶
Die Dokumentation kann auf der Projektseite bei Transifex übersetzt werden. Klicken Sie einfach auf den blauen “Help Translate ‘official documentation’” und melden Sie sich mit ihrem Transifex-Konto an bzw. erstellen Sie ein neues.
Dokumentation lokal bearbeiten und veröffentlichen¶
Wenn du die Dokumentation erweitern willst, z.B. mit einem eigenen HowTo, ein fehlendes Kapitel ergänzen möchtest oder größere Änderungen machen und testen willst, benötigst du folgende Dinge:
- ein Konto bei Github
- Die Software git (wird zur Verwaltung und Versionierung der Dokumentation verwendet)
- Die Software sphinx (zum Übersetzen und Testen der Quelldateien), die wiederum python voraussetzt
- optional: SSH-Schlüssel bei Github hochladen (erleichtert die Arbeit mit git)
Virtualbox-Appliance verwenden¶
Um den Umgang mit rST/sphinx, git und github zu erleichtern, wird von uns eine virtuelle Umgebung angeboten.
- Installiere VirtualBox (mind. 5.2.2) von hier https://www.virtualbox.org/wiki/Downloads inklusive des Extension Packs
- Lade dir die neueste virtuelle Umgebung von hier herunter: http://www.lehrer.uni-karlsruhe.de/~za3966/lmn/
- Importiere die heruntergeladene OVA-Datei und starte die virtuelle Umgebung
- Benutzername:
- linuxadmin (angezeigt wird: Linux Admin)
- Passwort:
- linuxmuster
Manuelle Installation (Ubuntu)¶
Wer die virtuelle Appliance nicht nutzen will, kann mit folgenden Befehlen unter aktuellen (ab 16.04) Ubuntu-Distributionen git, python und sphinx nachinstallieren:
$ sudo apt install git
$ sudo apt install python3-pip
$ pip3 install sphinx
$ pip3 install sphinx_rtd_theme
Nachfolgende Befehle gehen davon aus, dass die virtuelle Umgebung verwendet wird.
Erste Schritte: Offizielle Dokumentation kompilieren¶
Jetzt kannst du bereits die bereits heruntergeladene Dokumentation aus dem offiziellen Repositorium bauen und betrachten. Öffne dazu ein Terminal, navigiere zum Ordner linuxmuster-docs/main, führe make html aus und führe xdg-open build/html/index.html aus, um das Ergebnis zu betrachten.
linuxadmin@lmn-docs:~$ cd linuxmuster-docs/
linuxadmin@lmn-docs:~/linuxmuster-docs$ cd main/
linuxadmin@lmn-docs:~/linuxmuster-docs/main$ make html
sphinx-build -b html -d build/doctrees source build/html
Running Sphinx v1.6.5
loading translations [de_DE]... done
loading pickled environment... done
...
linuxadmin@lmn-docs:~/linuxmuster-docs/main$ xdg-open build/html/index.html
GitHub Konto erstellen¶
Spätestens jetzt sollte ein Konto bei GitHub erstellt werden: https://github.com/join. Verifziere deine E-Mail-Adresse. Natürlich kannst du die Dokumentation zu GitHub durchlesen. Weiter geht es dann unter https://github.com/linuxmuster-docs/main
Hint
Im folgenden wird das Konto “lmn-docs-bot” verwendet. Überall wo dieser auftaucht, ersetze ihn durch dein Kontonamen bei GitHub.
Linuxmuster Dokumentation forken¶
Öffnen Sie die linuxmuster.net Dokumentation auf Github und klicken Sie auf “Fork”.

Öffnen Sie nun einen Terminal / Eingabeauffoderung (Strg+Alt+t
in Ubuntu) and geben Sie folgenden Befehl ein:
Note
Nutzen Sie die URL git@github.com:lmn-docs-bot/main.git
falls Sie bereits einen SSH-Schlüssel bei Github hochgeladen haben!
linuxadmin@lmn-docs:~$ git clone https://github.com/lmn-docs-bot/main.git my-docs
Klone nach 'my-docs' ...
...
linuxadmin@lmn-docs:~$ cd my-docs
Sie können nun mit
linuxadmin@lmn-docs:~/my-docs$ make html
linuxadmin@lmn-docs:~/my-docs$ xdg-open build/html/index.html
die Dokumentation in HTML übersetzen und in ihrem Browser öffnen.
Dokumentation ändern oder neu erstellen¶
Die Dokumentation ist in der Markupsprache “rST” geschrieben. Hier finden Sie einen guten Überblick über die am häufigsten verwendeten Elemente.
Hint
Bitte beachten Sie auch unbedingt die Leitlinien zur Dokumentation, damit ihre Änderungen schnell eingepflegt werden könnnen!
Im Verzeichnis source
und den entsprechenden Unterordnern befinden sich alle Dokumentationsdateien. Öffnen Sie einfach eine dieser Dateien und nehmen Sie die gewünschten Änderungen vor. Sie können auch eine neue Dokumentation in einem der Unterordner anlegen. Erstellen Sie dazu einfach einen Ordner mit einem passenden Namen und die notwendige index.rst
Datei.
$ mkdir source/howto/foobar
$ touch source/howto/foobar/index.rst
Schauen Sie sich auch die anderen Dokumentationsdateien an, um mehr über den Aufbau und Syntax zu lernen.
Commit und push¶
Haben Sie alle Änderungen vorgenommen, können Sie sie nun zur Überprüfung einreichen. Dazu sind folgende Schritte notwendig:
Important
Überprüfen Sie bitte zuerst, ob make html
ohne Fehler
durchläuft! Falls nicht, beheben Sie bitte alle Fehler und
Warnungen, bevor Sie Ihre Änderungen hochladen!
$ make html
Falls Sie neue Dateien oder Ordner erstellt haben, müssen diese noch hinzugefügt werden:
$ git add source/howto/foobar
Geben Sie nun noch einen Kommentar zu Ihren Änderungen ein und laden Sie alles in Ihren Fork hoch:
$ git commit -a -m"My great documentation"
$ git push
Pull-Request¶
Erstellen Sie nun einen “Pull-Request” unter https://github.com/lmn-docs-bot/main, indem Sie auf “New Pull Request” klicken.

Wenn Sie weitere Änderungen vornehmen und mit git commit -a -m"My comment"
und git push
bei Github hochladen, werden diese Änderungen automatisch dem Pull Request hinzugefügt.
Den eigenen Fork aktualisieren¶
Um später weiter Änderungen vornehmen zu können, kann der eigene Fork bei GitHub komplett gelöscht werden und ein neuer erzeugt werden. Alternativ kann der eigene Fork auf den Stand des offiziellen Repositoriums gebracht werden:
Verschiebe alle lokalen Änderungen mit
git stash
in den Hintergrund~/my-docs$ git stash
Füge (einmalig) einen remote-tracking branch hinzu:
~/my-docs$ git remote add upstream https://github.com/linuxmuster-docs/main.git
Hole und merge den aktuellen offiziellen branch:
~/my-docs$ git fetch upstream ~/my-docs$ git merge upstream/master Aktualisiere 76e2e32..be2f941 Fast-forward
Wenn der merge nicht in einem “Fast-forward” endet, sollte man besser den Fork löschen und neu erzeugen. Andernfalls kann man jetzt die offiziellen Änderungen hochladen.
~/my-docs$ git push
Jetzt kann man seine lokale Änderungen wieder hervorholen
~/my-docs$ git stash pop
Für Fortgeschrittene: andere Zweige bearbeiten¶
Unterschiedliche Versionen von linuxmuster.net werden in
unterschiedlichen Zweigen des github-Repositoriums dokumentiert. Die
aktuelle Version ist im Zweig master
untergebracht und obige
Abschnitte beziehen sich darauf.
Will man einen anderen Zweig bearbeiten, beispielsweise den Zweig
v7
, dann gibt es nur Folgendes zu beachten.
Man muss einmalig den Zweig mit
git checkout v7
lokal initialisieren. Mitgit branch
sieht man, welche Zweige aktuell sind.linuxadmin@lmn-docs:~/my-docs$ git branch -l * master linuxadmin@lmn-docs:~/my-docs$ git checkout v7 Zu Branch 'v7' gewechselt Ihr Branch ist auf demselben Stand wie 'origin/v7'. linuxadmin@lmn-docs:~/my-docs$ git branch master * v7
Man sollte also immer im Kopf haben oder nachschauen, in welchem Zweig man gerade arbeitet.
Die Abschnitte zu
commit
undpush
stimmen in jedem Zweig.Wird ein Pull-Request in Github erstellt, dann ist zu beachten, dass auch die gleichen Zweige verglichen werden.
Aktualisiert man den eigenen Fork über das
upstream
-Repositorium, dann muss man den Befehl zum Zusammenführen anpassen. Ein Ablauf kann da so aussehen:linuxadmin@lmn-docs:~/my-docs$ git fetch upstream remote: Enumerating objects: 15, done. remote: Counting objects: 100% (15/15), done. remote: Compressing objects: 100% (12/12), done. remote: Total 19 (delta 4), reused 3 (delta 3), pack-reused 4 Entpacke Objekte: 100% (19/19), Fertig. Von https://github.com/linuxmuster-docs/main 7d25598..2c31c06 master -> upstream/master 4a27d6b..d4edde9 v7 -> upstream/v7 linuxadmin@lmn-docs:~/my-docs$ git branch master * v7 linuxadmin@lmn-docs:~/my-docs$ git merge upstream/v7 Aktualisiere d3ada10..d4edde9 Fast-forward source/appendix/install-on-kvm/index.rst | 2 ++ 1 file changed, 2 insertions(+)
Ein “merge” des falschen Zweiges, z.B.
upstream/master
hätte hier zu Folge, dass alle Änderungen zwischen den Zweigen versucht würde zusammenzuführen, was bei sich stark unterscheidenden Zweigen nicht erfolgreich wäre.
Der master
-Zweig ist kein besonderer Zweig. Man kann also dorthin
zurückkehren, wie man zu jedem Zweig wechselt, mit git checkout
master
.
Leitlinien zur Dokumentation¶
Strukturguide¶
Auf Ebene der Dateien:
- Dateinamen klein schreiben, englisch Begriffe, Leerzeichen vermeiden, “-“-Bindestrich statt “_”-Unterstrich
- Eine rst-Datei pro Kapitel, möglichst ein englischer Begriff, bsp: configuration.rst
- Medien, wie Bilder, etc.: Einen Unterordner media/ erstellen, bei vielen Bildern einen Ordner mit dem Namen der Kapiteldatei, darin Dateien abspeichern, bsp: media/configuration/screenshot-usage.png
Styleguide¶
Verwende “Du”
Benutze zwei
``backticks``
für URLs, URIs, Dateipfade und Dateinamen und Code im Fließtext (inline)Benutze einen
`backtick`
für das Hervorheben für Benutzernamen, Schaltflächen, besondere Aktionenfür Konsolenbefehle nutze
.. code-block:: console # mein kommando --force output
Für Bilder kann man image oder figure verwenden. Bei figure kann man Bildunterschriften hinzufügen
.. figure:: media/proposeChanges.png :align: center :alt: propose changes Bildunterschriften
Ein Kapitel sollte einen toctree enthalten, wenn es mehrere Dateien gibt
Ein Kapitel kann ein Label erhalten
.. _knownbugs-label: Bekannte Fehler ===============
Mit diesem Sprungpunkt kann man an anderer Stelle auf ihn verweisen
Bitte lesen Sie :ref:`hier <knownbugs-label>` nach, welche Fehler bekannt sind.
linuxmuster.net Community Feedback¶
linuxmuster-community-feedback ist ein Paket zur Erhebung fein konfigurierbarer Statistiken zum Einsatz von linuxmuster.net.
Das Paket kann ohne die Übermittlung personen- beziehungsweise institutionsbezogener Daten verwendet werden, es können jedoch auf expliziten Wunsch auch Informationen wie Schulname oder Einsatzort an das Projekt übermittelt werden.
Important
Eine Übermittlung der Statistiken ist für das Open Source Projekt “linuxmuster.net” sehr wichtig, da es mitunter schwer ist, offizielle Entscheider von der Zuverlässigkeit eines “kostenlosen” Produkts zu überzeugen.
Ein wichtiges Argument ist hier stets auch die Verbreitung des Systems belegen zu können, damit man darlegen kann, dass es sich bei linuxmuster.net nicht um ein “Nischenprodukt” handelt. In diesem Sinne sind zuverlässige Zahlen ein Baustein für den Erfolg des Projekts - bitte helfen Sie mit.
Inhalt:
Installation des Pakets¶
Das Paket linuxmuster-community-feedback wird mit dem Paketverwaltungswerkzeug aus den linuxmuster Repositorys installiert.
apt-get update
apt-get install linuxmuster-community-feedback
Direkt nach der Installation wird detailliert abgefragt, welche Informationen übermittelt werden sollen, am Ende des Konfigurationsvorgangs wird angezeigt, welche Daten genau übermittelt werden.
Konfiguration¶
Nach der Paketinstallation wird zunächst die zentrale Frage gestellt: Sollen überhaupt Daten an linuxmuster.net übermittelt werden?
Wird hier mit Nein
geantwortet, ist die Konfiguration des Pakets damit beendet, es werden
keine weiteren Änderungen am System vorgenommen und keinerlei Daten an
linuxmuster.net übermittelt.

Wenn Statistiken übermittelt werden sollen, wird zunächst erfragt, in welchem Umfeld die linuxmuster.net-Installation zum Einsatz kommt.

Anschließend geben Sie bitte an, ob und wie die Installation von linuxmuster.net virtualisiert ist.

Wird die linuxmuster.net Installation ganz oder teilweise durch einen Dienstleister betreut oder liegen Installation und Pflege des Systems alleine an der Schule?

Wo wird Ihre linuxmuster.net Installation eingesetzt? wenn Sie Nicht in Deutschland
auswählen, können Sie im nächsten Schritt eine freie Angabe zum Einsatzort machen.

Diese Eingabemöglichkeit gibt es nur bei der Auswahl Nicht in Deutschland
im vorigen Schritt:

Darf die Anzahl der Nutzer übermittelt werden? Wenn Sie hier mit YES
antworten, ermittelt das Feedback-Paket aus den Dateien “schueler.txt” und
“lehrer.txt” die Anzahl der Schüler beziehungsweise der Lehrer. Dabei werden
keine personenbezogenen Daten erhoben.

Dürfen Informationen über Zahl und Art der eingesetzten Clients übermittelt werden?
Wenn Sie hier mit YES
antworten, ermittelt das Feedback-Paket aus der Datei
“workstations” die Anzahl der dort eingetragenen Clientcomputer. Die Zahlen werden
getrennt aufgelistet, je nachdem ob ein Clientrechner von linuxmuster.net
mit linbo, mit linbo und opsi mit opsi oder als IP-Host verwaltet wird.
Weitere Informtionen zu den Clients wie Namen, Hardware Adresse, Hersteller o.ä. werden weder ermittelt, noch übertragen.

Mit der Beantwortung der nächsten Frage entscheiden Sie, ob Ihre Datenübermittlung anonym bleibt oder nicht. Wenn Sie sich entscheiden, den Namen Ihrer Schule an linuxmuster.net zu übertragen, können Sie später im Konfigurationsprozess festlegen, ob Ihre Installation auf der Nutzerkarte erscheinen soll und ob der Schulname auf der Karte dargestellt werden soll.
Der Schulname wird darüberhinaus nicht automatisiert veröffentlicht.

Der Schulname wird nur dann erfragt, wenn man im vorherigen Schritt der Übermittlung zugestimmt hat:

Darf Ihre Installation auf der Nutzerkarte erscheinen? Wenn ja, müssen Sie anschließende die Postleitzahl angeben.

Die Postleitzahl muss nur angegeben werden, wenn ein Eintrag auf der Karte gewünscht ist:

Soll der Name am Kartenpin angezeigt werden? Diese Frage erscheint nur, wenn zuvor der Schulname angegeben wurde.

Am Ende der Konfiguration wird eine Übersicht angezeigt, welche Daten an linuxmuster.net übertragen werden. Die dargestellten Informationen sind dabei exakt der Inhalt der Datei, die später an den Projektserver übermittelt wird.

Bestätigung der Anfrage überträgt die Daten wie dargestellt zum linuxmuster.net Server und erstellt einen Cronjob, der diesen Vorgang einmal wöchentlich automatisch wiederholt.
Dabei werden die Werte im Anschnitt “Statistiken” jeweils nach den Vorgaben der Konfiguration neu ermittelt.
Beispielkonfiguration: Minimale Angaben¶
Der folgende Screenshot zeigt den minimalen Datensatz, der als Feedback übertragen wird:

Übertragen werden dabei Informationen zu:
- Virtualisierung
- Bundesland/Einsatzort
- Einsatzzweck
- Dienstleisterunterstützung
Außerdem werden einmal je Woche die installierten Versionen der linuxmuster-Basispakete
- linuxmuster-base
- linuxmuster-linbo
- linuxmuster-schulkonsole
- sophomorix2
und der Status der Einstellung “subnetting” ermittelt und in der Statistikdatei aktualisiert.
Note
Die id der Installation wird aus der Mac-Adresse, dem Schulnamen und der Domäne ermittelt und mit MD5 gehasht, so dass das System zwar für statistische Zwecke anonym identifizierbar wird, aber ohne weitere Angaben keine Rückschlüsse auf die Ausgangswerte möglich sind.
Beispielkonfiguration: Maximale Angaben¶
Der folgende Screenshot zeigt den maximalen Datensatz, der als Feedback übertragen wird:

Der maximale Datensatz enthält alle Informationen des minimalen Datensatzes, ergänzt um:
- Schulname
- Postleitzahl
- Einverständnis zur Kartendarstellung und zur Darstellung des Schunamens am Kartenpin
Aktuell gehalten werden zusätzlich Informationen zu:
- Anzahl der Schüler/Lehreraccounts
- Anzahl der Clients, aufgeschlüsselt nach Kategorie
Konfigurationsänderungen vornehmen¶
Um die Konfiguration zu ändern oder anzupassen, etwa um die zu übermittelnden Daten zu verändern kann man alle Schritte der Paketkonfiguration durch Aufruf von
dpkg-reconfigure linuxmuster-community-feedback
erneut durchlaufen.
Die Optionen und Abfragen entsprechen dabe genau denen, bei der Paketinstallation.
Kommandozeilenbefehl¶
Das Paket installiert den Kommandozeilenbefehl
linuxmuster-community-feedback
. Der Befehl kennt vier Optionen, die mit
Ausnahme der Hilfe beliebig kombiniert werden können:
# linuxmuster-community-feedback -h
Usage: /usr/bin/linuxmuster-community-feedback [-v] [-u] [-s]
-v : Show stats file
-u : Upload stats to linuxmuster.net server
-s : Show cronjob status
-h : Print this help and exit
Die Option -v
zeigt Informationen über das Statusfile an - sowohl wie dieses
heißt, als auch welchen Inhalt es hat. Das Statusfile ist die Datei, die
letztlich beim übermitteln der Informationen an den Projektserver
übertragen wird.
Die Option -u
stößt eine Übertragung an.
Die Option -s
zeigt Informationen zum Cronjob an, der vom Paket in der
Datei /etc/cron.d/linuxmuster-community-feedback
eingerichtet wird:
# linuxmuster-community-feedback -s
Cronjob enabled in file:
/etc/cron.d/linuxmuster-community-feedback
--------------------------------
# Diese Datei wird automatisch erstellt.
# Manuelle Aenderungen werden ueberschrieben!
58 4 * * 0 root /usr/bin/linuxmuster-community-feedback -u > /dev/null 2>&1
--------------------------------
Hier zeigt die Ausgabe, dass jeden Sonntag um 04:58 Uhr eine aktualisierte Version der Statistik zum Projektserver übertragen wird.
Technische Hintergrundinformationen¶
Das Paket linuxmuster-community-feedback wird über das Debian eigene debconf
System konfiguriert, schreibt seine Konfiguration anschließend aber nach
/etc/linuxmuster/community-feedback.conf
.
Wird bei der Paketkonfiguration der Übermittlung statistischer Daten
zugestimmt, erzeugt das Skript /usr/bin/linuxmuster-community-feedback
aus
den Werten, die bei der Installation des linuxmuster.net-Servers für den
Schulnamen und die Domäne angegeben wurde sowie der MAC Adresse des “grünen”
Interfaces durch aneinanderhängen und bilden der
MD5-Summe eine eindeutige ID für das aktuelle System.
Anschließend werden entsprechend der vom Benutzer bei der Paketinstallation
gewählten Konfiguration Informationen über das System gesammelt, z.B. die
Versionsnummern der installierten linuxmuster Pakete oder die Anzahl der
Benutzer, und zusammen mit den Informationen aus der Konfigurationsdatei
in der Datei var/cache/linuxmuster/feedback-<ID>.txt
abgelegt.
Bei der Übermittlung an den Projektserver wird der Inhalt dieser Datei per https verschlüsselt zum linuxmuster.net Server übertragen. Dort werden die Dateien statistisch ausgewertet.
Außerdem wird in der Datei /etc/cron.d/linuxmuster-community-feedback
ein
Cronjob eingerichtet, der den Upload einmal pro Woche anstößt. Dieser Cronjob
sollte nicht deaktiviert werden, da auf dem linuxmuster.net-Server Server-IDs,
die mehr als zwei Wochen keine aktualisierte Datei mehr geliefert haben aus der
Statistik entfernt werden.
FAQ - Häufige Fragen¶
Wie kann ich ich sehen, welche Daten übertragen werden?¶
Mit dem Befehl
linuxmuster-community-feedback -v
werden die Daten angezeigt, die dem linuxmuster.net Server übermittelt werden.
Technisch wird dabei die Datei
/var/cache/linuxmuster/feedback-<systemid>.txt
zum linuxmuster.net Server übertragen.
Stimmt es, dass die Daten regelmäßig übermittelt werden?¶
Ja.
Nach Aktivierung des Feedbacks wird auf dem System in der Datei
/etc/cron.d/linuxmuster-community-feedback
ein cronjob eingerichtet, der
die Statistikdaten einmal pro Woche zum linuxmuster.net-Server überträgt. Der
genaue Zeitpunkt (Uhrzeit, Samstag/Sonntag) wird bei der Paketkonfiguration
zufällig ermittelt und variiert von System zu System.
# Diese Datei wird automatisch erstellt.
# Manuelle Aenderungen werden ueberschrieben!
48 4 * * 6 root /usr/bin/linuxmuster-community-feedback -u > /dev/null 2>&1
Warum werden die Daten regelmäßig übertragen?¶
Die regelmäßige Übertragung hat zwei Gründe:
1. Einige der statistischen Daten sind nicht statisch, beispielsweise die Versionsnummern der essentiellen linuxmuster-Pakete. Für die Projektentwicklung ist es wichtig, zu wissen, wie der Update-Stand der Lösung im Einsatz ist. Aus diesem Grund müssen die Daten regelmäßig aktualisiert werden.
2. Um “Karteileichen” von Systemen, die außer Betrieb genommen werden zu vermeiden, werden Installationen, die einige Zeit keine aktualisierten Daten mehr übermittelt haben serverseitig automatisch aus der Statistik entfernt.
Index¶
Schulkonsole¶
Schulkonsole nutzen¶
Aufgerufen wird die Schulkonsole mittels https://server:242 in einem Webbrowser.

Nach der Anmeldung als administrator
findet man im Hauptmenü
folgende Einstellungsmöglichkeiten

Die Statusleiste unterhalb des Menüs zeigt über Farbe und Text an, ob der letzte Befehl erfolgreich (grün) oder nicht erfolgreich (orange) ausgeführt wurde.
Schulkonsole als Lehrer nutzen¶
Aufgerufen wird die Schulkonsole mittels https://server:242 in einem Webbrowser.

Nach der Anmeldung als Lehrer findet man im Hauptmenü folgende Einstellungsmöglichkeiten

Die Statusleiste unterhalb des Menüs zeigt über Farbe und Text an, ob der letzte Befehl erfolgreich (grün) oder nicht erfolgreich (orange) ausgeführt wurde.
Aktueller Raum¶
Unterricht¶

Auf dieser Seite können Sie den Unterricht steuern: Unterricht beginnen und beenden, die Verbindung zu Internet, Intranet, den Druckern steuern, den Webfilter ein- oder ausschalten.
Sobald der Unterricht begonnen wurde, kann man im Menü weitere pädagogische Funktionen nutzen:

Tauschen¶
Steuern Sie hier den Zugriff auf das globale Tauschverzeichnis, indem Sie entweder einzelne Arbeitsplätze über die Checkboxen auswählen oder über die Schnellauswahl für alle. Mit Änderungen übernehmen aktivieren Sie Ihre Auswahl.
Austeilen¶
Auszuteilende Dateien müssen in Ihrem Heimatverzeichnis unter
_auszuteilen -> auszuteilen-aktueller_raum
abgelegt sein. Der Inhalt
dieses Ordners wird hier aufgelistet. Nachträglich dorthin abgelegte
Dateien können Sie über die Schaltfläche Ansicht aktualiseren
sichtbar machen.
Die Schüler/innen finden die ausgeteilten Dateien in ihrem
Heimatverzeichnis unter __austeilen -> austeilen-aktueller_raum
.
Einsammeln¶
Einzusammelnde Dateien müssen im Heimatverzeichnis der Schüler/innen
im Ordner __einsammeln
abgelegt sein, damit sie hier aufgelistet
werden. Nachträglich von den Schüler/innen dorthin abgelegte Dateien
können Sie über Ansicht aktualisieren sichtbar machen.
Wählen Sie aus, ob die Originaldateien auf Schülerseite gelöscht werden oder erhalten bleiben sollen.
Sie finden die eingesammelten Dateien in Ihrem Heimatverzeichnis unter
_eingesammelt -> eingesammelt-aktueller_raum
.
Klassenarbeit¶
Übernehmen Sie entweder das vorgegebene Zufallspasswort oder geben Sie ein eigenes Passwort ein.
Mit Betätigung der Schaltfläche Klassenarbeit starten wird das neue Passwort an alle Arbeitsstationen im Raum verteilt, und die Schüler/innen können sich mit dem Namen der Arbeitsstation und dem eben vergebenen Passwort anmelden.