LINBO4 nutzen¶
LINBO steht für GNU/Linux Network Boot. Es wurde ursprünglich 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 linuxmuster.net
LINBO4, das von linuxmuster.net entwickelt wurde, weist einige Neuerungen auf:
Für neue Images wird nur noch das Format qcow2 unterstützt. Der Name des Basis-Images muss daher in der übernommenen start.conf angepasst werden (z.B. image.qcow2).
Die Bennenung der zusätzlichen Image-Dateien postsync, prestart and reg ändert sich, so dass diese nur noch ohne dem Image-Format angegeben werden (z.B. image.postsync, image.prestart and image.reg, früher: image.cloop.postsync etc.).
qemu-img wird nun genutzt, um die Erstellung und Wiederherstellung der qcow2-Images durchzuführen.
Es wird nur noch 64 Bit Client-Hardware unterstützt.
linuxmuster.net <=6.2 wird nicht mehr unterstützt.
Ab LINBO v4.1 stehen differentielle Images zur Verfügung.
Bisherige Images im cloop Format sind direkt in das neue qcow2 Format zu konvertieren.
Dieses Kapitel führt Dich in die Nutzung von LINBO4 ein und erklärt die wesentlichen Schritte zur Imageverwaltung.
Hinweis
Die meisten PC mit UEFI verwenden standardmäßig „SecureBoot“. Dies muss deaktiviert werden, um Linbo booten zu können!
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.
Sobald der Client registriert wurde, zeigt der Startbildschirm weitere Optionen an.
Informationen¶
Drückst Du im Startbildschirm die Funktionstaste F1
, dann werden Dir Informationen zum Client angezeigt.
- Host
Der festgelegte Hostname oder „pxeclient“, wenn der Client nicht registriert ist.
- Gruppe
Die festgelegte Hardwareklasse
- IP-Address
Die festgelegte Netzwerkadresse oder „OFFLINE“, wenn der Client ohne Netzwerkverbindung zum Server gestartet wurde.
- Mac
Die Hardware-Adresse des Clients.
- 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.
Reboot¶
Erzwingt einen Neustart.
Neustart¶
Lässt den Client herunterfahren.
Start-Icons¶
Pro festgelegter Partition (mit Betriebssystem oder ohne) erscheinen nach dem Start von Linbo ein großer Knopf und mehrere kleinere Knöpfe mit folgenden Bedeutungen
Synchronisiert das System mit dem letzten aktuellen Image (hier Ubuntu). Bei Windows-Systemen wird eine bereitgestellte Registry-Patch-Datei angewendet. Bei Linux-Systemen werden Hostname und Rootpartition gepatcht. Falls ein neueres Image auf dem Server liegt, wird dies zunächst heruntergeladen.
Startet das System im aktuellen Zustand, unsynchronisiert. Es werden keine Patches angewendet.
Bemerkung
Die einzelnen Schaltflächen für die Startmechanismen können auch ausgegraut sein, wenn der Administrator den jeweiligen Mechanismus deaktiviert hat.
Tools-Icon¶
Um Images zu verwalten, klickst Du zunächst auf das Werkzeug-Icon.
Der Bereich ist mit dem Passwort von LINBO
abgesichert. Dies entspricht dem LINBO-Administrator Kennwort. Dies ist nach dem Setup zunächst identisch mit dem festgelegten root / global-admin Kennwort.
Achtung
Bei der Eingabe des LINBO-Passwortes werden keine Zeichen angezeigt, weder das Passwort selbst, noch Sterne.
Passwort für „LINBO“ ändern¶
Das Passwort steht im Klartext auf dem Server in der Datei /etc/rsyncd.secrets
und kann einfach mit einem Editor geändert werden.
# modified by linuxmuster-setup
# /etc/rsyncd.secrets
linbo:MeinKennwort
Nach Änderung des Passwortes musst Du auf dem Server noch die linbofs.lz neu erstellen, damit der Hash-Wert des aktuellen Linbo-Passwortes integriert wird. Dazu führst Du folgenden Befehl auf dem Server aus:
update-linbofs
LINBO Imageverwaltung am Client¶
Über den Tab Tools
erhält der Administrator neue Funktionen.
Für jedes definierte Betriebssystem gibt es Schaltflächen für die Funktionen
Es öffnet sich ein neues Dialogfenster, über das man ein neues Image erstellen (und hochladen) kann.
Es öffnet sich ein neues Dialogfenster, über das man das aktuelle Image auf den Server hochladen kann.
Daneben gibt es Schaltflächen für folgende administrative Funktionen:
Du kannst eine (rudimentäre) Console öffnen, um Shell-Befehle abzusetzen und Fehler zu diagnostizieren.
Üblicherweise wird eine Partition auf dem Client als Cache festgelegt. Mit dieser Schaltfläche kann der Cache aktualisiert werden, d.h. alle für diesen Client nötigen Images und postsync-Dateien werden gegebenenfalls heruntergeladen.
Partitioniert die gesamte Festplatte gemäß der Vorgabe der Hardwareklasse.
Öffnet den Registrierungdialog zur erstmaligen Aufnahme dieses Rechners.
Rufe zur Imageerstellung die entsprechende Schaltfläche auf:
Dialog: Image erstellen¶
Ab der LINBO Version 4.1 kannst Du wählen, ob Du ein neues Basisimage oder ein differentielles Image erstellen möchtest. Sollte bereits ein Basisimage existieren, so wird dieses mit überschrieben. Es erfolgt keine weitere Rückfrage.
Lokal im Cache wir das aktuelle Image beim Erstellen überschrieben. Beim Hochladen des aktuellen Images mit demselben Namen wird auf dem Server zuvor ein Backup des vorherigen Images erstellt.
Auf dem Server finden sich die Images im Verzeichnis /srv/linbo/images/<hardwareklasse>/
.
Die Backups der Images finden sich auf dem Server im Verzeichnis /srv/linbo/images/<hardwareklasse>/backups
.
In der WebUI können die LINBO-Images komfortabel verwaltet werden (LINBO-Imageverwaltung).
Warnung
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 Images fehl. Hier ist vor der Erstellung eines neuen Images sicherzustellen, dass die lokale Cache-Partition vorab geleert wird.
Siehe hierzu das Unterkapitel zum Linbo4-Cache am Ende dieses Hauptkapitels.
Es gibt die Optionen erstellen
, erstellen+hochladen
. Mit der Option erstellen
wird das neue Image nur lokal im LINBO-Cache erstellt. Die Option erstellen + hochladen
erstellt zuerst das Image lokal im LINBO-Cache und lädt danach das Image auf den Server.
Dialog: Image hochladen¶
Wie beim Dialog zum Erstellen des Images, kann hier explizit nur ein ausgewähltes Image hochgeladen werden und der Rechner zum Abschluss neu gestartet oder heruntergefahren werden. In der Drop-down Liste werden nur dann Images angezeigt, wenn diese bereits im Cache vorhanden sind.
Dialog: Console¶
Der einfache Konsolendialog erlaubt die Eingabe einzelner Befehle in die untere Zeile.
Dialog: Cache aktualisieren¶
Der lokale Cache wird aktualisiert. Es werden die drei Möglichkeiten der Synchronisation zur Auswahl gegeben: Rsync, Multicast oder Torrent.
Dialog: Partitionieren¶
Es wird noch einmal gefragt, ob man wirklich alle Daten auf der Festplatte löschen will. Danach kann man mit „Cache aktualisieren“ auch wieder die Images vom Server in den Cache kopieren.
Dialog: Registrieren¶
Mit diesem Dialog kann ein erstmalig genutzer Rechner registriert werden. Dafür müssen alle Eingabefelder entsprechend ausgefüllt werden.
Bemerkung
Bitte trage für die Rechnergruppe einen Namen ohne Bindestriche `` - `` ein.
LINBO Differenzielle Images¶
Hinweis
Seit der Version LINBO 4.1 ist es möglich, differentielle Images zu erstellen.
Differentielle Images
bauen auf einem vollständigen Image eines Client-Betriebssystems auf und legen alle Änderungen / Ergänzungen seit dem letzten Image ab. Diese werden dann bei einer Synchronisation des Clients vollständig angewendet.
Werden nur kleine Ergänzungen auf dem Client vorgenommen, kann ein differenzielles Image erstellt werden, um das Verteilen der Änderungen möglichst schnell für alle Clients einer Hardware-Klasse durchzuführen. Für die Aktualisierung der Clients werden so, deutlich weniger Daten via Netzwerk übertragen.
Sollten für ein Basisimage bereits mehrere differenzielle Images erstellt worden sein, so kann es sinnvoll sein, wenn viel neue Software installiert wurde, diese wieder duch Erstellung eines Vollimages zu konsolidieren.
Vorbereitungen¶
Der betreffende Muster-Client wurde entsprechend angepasst und alle erforderlichen Schritte zur Erstellung eines Images auf Client-Seite durchgeführt.
Für Linux-Clients ist z.B. der Befehl
sudo linuxmuster-linuxclient7 prepare-image
auszuführen.
Danach ist der Client neu zu starten.
Image erstellen¶
Erscheint die LINBO GUI:
Wähle rechts das Werkzeug-Icon
aus.
Es erscheint ein neues Fenster, in dem Du das Passwort des Linbo-Admins eingeben musst, um dich zu authentifizieren.
Das Kennwort ist bei Eingabe nicht sichtbar. Klicke auf anmelden
. Es erscheint das Werkzeug-Menü.
Zur Erstellung eines differenziellen Images klicke nun auf das große Icon zur Erstellung eines Images.
Es erscheint das Menü zur Erstellung neuer oder differenzieller Images.
Wähle die Option Neues differenzielles Image erstellen
aus, trage eine nachvollziehbare Beschreibung für das Image als Text ein.
Wähle zur Erstellung des differenziellen Images den Eintrag erstellen + hochladen
aus, damit zuerst auf dem Client das Image erstellt und dieses im Anschluss auf den Server geladen wird.
Es werden bei der Erstellung des Images in der Linbo-GUI weitere Status-Meldungen angezeigt. Ist der Prozess der Erstellung und das Hochladen des differenziellen Images auf den Server abgeschlossen, siehst Du folgende Meldung:
Starte im Anschluss LINBO neu, indem Du das entsprechende Icon auswählst:
Image synchronisieren¶
Nachdem LINBO neu gestartet wurde, erscheint wieder die LINBO-GUI.
Wende nun das differenzielle Image auf den Client an, indem Du das grosse Icon zur Synchronisation des Images klickst. Während der lokale Cache aktualisiert wird, siehst Du eine entsprechende Status-Leiste mit dem Fortschritt.
Das differenzielle Image wird vom Server geholt und lokal im Cache des Clients angewendet. Danach wird der Client gestartet.
WebUI: LINBO-Imageverwaltung¶
Alle LINBO-Images werden mit der Zuordnung zu den Hardwaregruppen in der WebUI übersichtlich dargestellt und können hier einfach verwaltet werden.
Neben den Informationen zu den Images wie z.B. Dateigröße und Imagebeschreibungen, lassen sich Images beispielsweise löschen oder anpassen.
Imageverwaltung aufrufen¶
Um zur Umageverwaltung in der WebUI zu gelangen, meldest Du Dich in der WebUI als global-admin
an. Danach rufst Du links in der Menüspalte Geräteverwaltung -> LINBO4
auf.
Rechts erscheinen im Fenster zunächst die Hardwaregruppen mit den zugeordneten Basis-Images als Verwendete Images
. In nachstehender Abbildung ist das Basis-Image blau hervorgehoben. Es nutzt die Dateiendung .qcow2
. In der Abbildung ist nur eine Hardwareklasse mit dem zugeordneten Basis-Image dargestellt.
Images verwalten¶
Klicke oben in dem Fenster auf den Tab Abbilder / Images
, so siehst Du eine Gesamtliste aller Images, die mit LINBO erstellt wurden und hier verwaltet werden können.
Unter der Spaltenüberschrift Name
ist der Name und die Dateigröße des Basis-Images abgelegt. Daneben findest Du in der Spalte Differentielles Image
das dem Basis-Image zugeordnete differentielle Image inkl. Angabe der Dateigröße. Zudem wird dargestellt, in welcher Gruppe diese Images verwendet werden. In der Spalte Aktionen
befinden sich Symbole, die Aktionen für das Basis-Image ausführen.
Basis-Image¶
Um das Basis-Image zu verwalten, das in der Image-Übersicht in der Spalte Namen
angegeben wird, findest Du die Aktions-Icons in der Übersicht ganz rechts als etwas größere Symbole.
Klicke auf das Zahnradsymbol. Es erscheint ein Fenster mit Informationen zu dem Basis-Image.
Hier finden Sie Informationen zum Dateinamen, dem Zeitstempel der Erstellung, der Dateigröße und weiterer Parameter. Die Dateiendung .qcow2
steht für ein Basis-Image.
Hier kannst Du Änderungen bzw. Ergänzungen vornehmen und diese mithilfe des Buttons SPEICHERN
dauerhaft anwenden.
Klicke auf mittlere Icon, um die Sicherungen des Basis-Images im Zeitablauf anzuzeigen.
Das aktuell gültige Basis-Image wird mit dem Status
Basis-Image und einem grünen Haken symbolisiert. Im Zeitablauf werden die vorangegangenen Basis-Images dargestellt. Diese können entweder gelöscht (Papierkorb), wiederhergestellt (Pfeil gegen den Uhrzeigersinn) oder deren Besonderheiten eingesehen werden (Zahnrad-Icon).
Differentielle Images¶
Die beiden kleinen Icons neben dem Namen für das differentielle Image bieten die Möglichkeit, das differentielle Image entweder zu löschen (Papierkorb
), oder mit dem Zahnrad weitere Informationen zu dem differentiellen Image aufzurufen.
Klickst Du auf das Zahnrad neben dem Namen für das differentielle Image, dann erscheint folgendes Fenster:
Unter der Reiterkarte Allgemein
findest Du Informationen zu dem differentiellen Image wie z.B. den Zeitstempel oder den Imagenamen. Die Dateiendung .qdiff
steht für ein differentielles Image.
Hier kannst Du Änderungen bzw. Ergänzungen vornehmen und diese mithilfe des Buttons SPEICHERN
dauerhaft anwenden.
Boot-Bildschirme in LINBO¶
Beim Booten in LINBO sind folgende Bildschirme sichtbar:
Bootvorgang via Netzwerk¶
Egal ob über die lokale Festplatte gebootet wurde oder nach dem Bootvorgang via Netzwerkkarte (PXE) wird mit der Gruppenkonfiguration der Kernel geladen.
Der gebootete LINBO-Kernel erscheint als ASCII-Art.
Die Grub-Konfiguration wird ggf aktualisiert, danach erscheint der reguläre LINBO Startbildschirm
.
LINBO-Image für USB-Sticks und CD/DVD¶
Zum Erstellen einer Boot-CD/DVD oder zum Kopieren auf einen USB-Stick lädst Du zuerst das aktuelle LINBO - Image als linbo.iso
herunter. Dies ermöglicht es, dass ein Client lokal via CD/DVD oder USB-Stick als Boot-Medium startet. Dies kann dann hilfreich sein, wenn das Booten von LINBO via Netzwerk Probleme bereitet.
Melde Dich zuerst an der Schulkonsole an:
Melde Dich an der Schulkonsole als Benutzer global-admin
an.
Wähle danach links den Menüpunkt LINBO4
aus.
Rechts im Fenster erscheinen ganz unten zwei Buttons. Klicke nun den Button Linbo Boot herunterladen
.
Es erscheint ein Fenster zum Download des ISO-Images.
Das Booten eines Rechers mit einem LINBO-USB-Stick oder einer LINBO-CD/DVD kann nötig werden, wenn - in seltenen Fällen - LINBO nicht per PXE installiert wird.
Bootes Du einen Rechner via Stick oder von einer CD/DVD, dann siehst Du folgendes Bild:
Mit Enter
wird der Client gebootet
Mit der Auswahl durch die Pfeiltasten der Tastatur Ersteinrichtung + Neustart
wird Linbo eingerichtet und der Rechner mit Linbo gestartet. Nach dem Neustart stehen alle Linbo-Funktionen zur Verfügung.
LINBO4-Cache: Hinweise¶
Linbo4 nutzt auf jedem Client eine lokale Cache-Partition, um ein oder mehrere Image/s eine Betriebssystems lokal vorzuhalten. Es lassen sich so unterschiedliche Verhaltensweisen eines Clients entweder via start.conf Datei oder via linbo-remote steuern.
Cache-Verhalten¶
Ausgangszustände des Linbo-Caches können sein:
Cache ist leer.
Cache beinhaltet ein altes, aber gewünschtes Image.
Cache beinhaltet ein aktuelles Image.
Cache beinhaltet ein altes, aber nicht mehr gewünschtes Image.
Cache beinhaltet zwei alte, aber gewünschte Images.
Cache beinhaltet zwei aktuelle Images.
Cache beinhaltet zwei alte, aber nicht mehr gewünschte Images.
Weitere Fälle sind denkbar.
Welches Verhalten stellt sich dar?
Welche Wirkung hat in Linbo der Befehl initcache - also eine vorherige Bereinigung / neue Befüllung des Linbo-Caches?
Fall 1, das Image wird geladen ohne „initcache“.
Fall 2, das neue Image wird geladen ohne „initcache“, das alte wird gelöscht.
Fall 3, nichts passiert, ob mit oder ohne „initcache“.
Fall 4, ohne „initcache“ läuft man Gefahr, dass der Cache voll läuft, mit „initcache“ wird das überflüssige Image gelöscht.
Fall 5, die Images werden geladen (ohne „initcache“), die alten Images werden gelöscht.
Fall 6, nichts passiert, ob mit oder ohne „initcache“.
Fall 7, ohne „initcache“ läuft man Gefahr, dass der Cache voll läuft; mit „initcache“ werden die Images gelöscht und die neuen Images geladen.
Grundsätzlich gilt:
initcache
ist dann hilfreich, wenninitcache
ist überflüssig, wenn nur ein Betriebssystem mit einem neuen Image gesynct werden soll und es keinen Grund gibt den Cache aufzuräumen. Das Image wird auch mit sync heruntergeladen.initcache
ist kontraproduktiv, wenn der Client mehrere Images vorhält und beim Sync dann u.U. länger als nötig unbenutzbar ist, weil zuerst alle neuen Images (nicht nur das zu syncende) heruntergeladen werden.
Initcache anwenden¶
Option 1
In der Hardwareklasse (HWK) besteht für Linbo in der start.conf die Möglichkeit die Option
[LINBO] # globale Konfiguration
Cache = /dev/sda6 # lokale Cache Partition
Server = 10.0.0.1 # IP des Linbo-Servers, der das Linbo-Repository vorhaelt
Group = r101 # Name der Rechnergruppe fuer die diese Konfigurationsdatei gilt
SystemType = efi64 # moeglich ist bios|bios64|efi32|efi64 (Standard: bios fuer bios 32bit)
RootTimeout = 600 # automatischer Rootlogout nach 600 Sek.
AutoPartition = no # automatische Partitionsreparatur beim LINBO-Start
AutoFormat = no # kein automatisches Formatieren aller Partitionen beim LINBO-Start
AutoInitCache = no # kein automatisches Befuellen des Caches beim LINBO-Start
DownloadType = torrent # Image-Download per torrent|multicast|rsync, default ist rsync
KernelOptions = quiet splash #
Wird der Parameter AutoInitCache=yes
gesetzt, so wird der lokale Cache jedesmal vollständig neu befüllt. Das ist entsprechend der oben beschriebenen Fälle allerdings nicht immer sinnvoll.
Option 2
Vom linuxmuster.net Server aus wird mit linbo-remote
das Verhalten für initcache bei Bedarf gezielt gesteuert. In der start.conf der Linbo-HWK ist die Option AutoInitCache=no
gesetzt.
Mit folgendem Befehl, der auf dem Server abgesetzt wird, lässt sich der Cache beim nächsten Boot-Vorgang des betreffenden PCs neu befüllen:
linbo-remote -i r100-pc01 -w 45 -p initcache,sync:1,sync:2,sync:3,start:2
Es werden WOL-Pakete an den PC r100-pc01 gesendet, um diesen „aufzuwecken“. Nach einer Wartezeit von 45 Sekunden werden die angegebenen Befehle an den Client weitergegeben. Es wird der Cache neu befüllt, das 1., 2. und 3. Betriebssystem synchronisiert und das 2. Betriebssystem gestartet.
Dies kann ebenfalls für eine ganze Rechnergruppe angewendet werden:
linbo-remote -g r101 -w 60 -p initcache,sync:1;sync:2,sync:3,start:2
Es werden ein WOL-Pakete an alle PCs der Geruppe r101 gesendet, um diese „aufzuwecken“. Nach einer Wartezeit von 60 Sekunden werden die angegebenen Befehle an dien Clients weitergegeben. Es wird der Cache neu befüllt, das 1., 2. und 3. Betriebssystem synchronisiert und das 2. Betriebssystem gestartet.
Zudem kann mit linbo-remote
auch gezielt eine Partition formatiert werden und danach die Synchronisation sowie der Start eines gewünschten Betriebssystems erfolgen:
linbo-remote -i win10-client1 -p format:3,sync:1,start:1
Dabei ist zu beachten:
format:<#>
: Schreibt die Partitionstabelle und formatiert nur die Partition mit der angegebenen Nummer aus der Partitionstabelle. Achtung: Bei UEFI-System ist EFI immer die erste Partitionsync:<#>
: Synchronisiert das Betriebsysystem, das in der start.conf an der angegebenen <#> Position eingetragen wurde.start:<#>
: Startet das Betriebsyssystem, das in der start.conf an der angegebenen <#> Position eingetragen wurde.
LINBO4: Hook-Skripte¶
Achtung
Ab der Version LINBO 4.1.31 linuxmuster-linbo7 4.1.31
stehen sogenannte Hook-Skripte zur Verfügung, um vor oder nach update-linbofs
auf dem Server kleine Programme auszuführen, die durch definierte Ereignisse ausgelöst werden.
Pre-Hook-Skripte¶
Mit dem Befehl update-linbofs
wird die Erstellung von linbofs auf dem Server angestossen.
Pre-Hook-Skripte, werden hierbei vor der Erstellung von linbofs64.lz
ausgeführt. Dies bietet die Möglichkeit, im Dateisystem vorher eigene Anpassungen vornehmen.
Was passiert bei Ausführung des Befehls update-linbofs?
Das Template (
/var/lib/linuxmuster/linbo/linbofs64.cpio
) wird in ein Verzeichnis (/var/cache/linuxmuster/linbo/linbofs64
) entpackt.Dort wird das Template angepasst: passwort-hash, dropbear-key, permissions, default-start.conf (
/srv/linbo/start.conf
), Zeitzone.Zum Schluss werden die Pre-Hook Skripte ausgeführt. Dies geschieht ebenfalls innerhalb des Verzeichnisses - man kann also über relative Bezüge auf die linbofs-Dateien zugreifen.
Abschließend wird das Verzeichnis wieder gepackt (z.B. nach
/srv/linbo/linbofs64.lz
), bevor danach die Posthook-Skripte angepasst werden.
Hinweis
Die Linbo bekannten Variable können in den Hook-Skripten nicht verwendet werden, ohne sie vorher zu importieren.
Mit Pre-Hook-Skripten können so z.B. angepasste Dateien für .ssh/authorized_keys
oder .env
bereitgestellt werden.
Diese Skripte sind in folgendem Verzeichnis abzulegen:
/var/lib/linuxmuster/hooks/update-linbofs.pre.d/
Ein Hook-Skript muss ausführbar sein und mit einem shebang
beginnen.
Nachstehendes Pre-Hook-Skript zeigt hierzu einige Möglichkeiten auf.
#!/bin/sh
# /var/lib/linuxmuster/hooks/update-linbofs.pre.d/pre-hook1.sh
# Ausgabe der Linbo-Version (wird beim Ablauf des update-linbofs-Skripts ausgegeben)
echo "Linbo-Version: $(cat etc/linbo-version)"
# Hinzufügen eigener Dateien, damit sie in Linbo zur Verfügung stehen
mkdir myfiles && echo /etc/linuxmuster/sophomorix/default-school/devices.csv myfiles
# Kopieren des Linbo-Verzeichnisses (z.B. zum Testen mit eigenen Skripten) nach /tmp/linbofs:
mkdir /tmp/linbofs && cp -R . /tmp/linbofs
# Einfügen einer Wartezeit von 2 Sekunden vor der Netzwerkeinrichtung, Ausgabe von Text in der Konsole
sed -i '/^network\(\).*/a \ \ echo "Warte auf Netzwerk..." && sleep 2' init.sh
exit 0
Das Skript muss in dem o.g. Verzeichnis als ausführbar definiert werden:
chmod +x /var/lib/linuxmuster/hooks/update-linbofs.pre.d/pre-hook1.sh
Post-Hook-Skripte¶
Post-Hook-Skripte werden nach der Erstellung von update-linbofs
auf dem Server ausgeführt. Es können so nachdem der Befehl update-linbofs
durchgelaufen ist, z.B. Programme auf dem Server gestartet werden.
Diese Skripte sind in folgendem Verzeichnis abzulegen:
/var/lib/linuxmuster/hooks/update-linbofs.post.d/
Hook-Skripte müssen ausführbar sein und mit einem shebang
beginnen. Es sind die zuvor genannten Hinweise zu beachten.