-
Notifications
You must be signed in to change notification settings - Fork 4
Wie funktioniert der postsync?
Ein Teil des synchronisierten Starts durch LINBO ist der Aufruf individueller Skripte, der sogenannten postsync-Skripte.
Das Postsync-Skript hat denselben Namen wie das CLOOP-Image mit der Endung .postsync
statt .cloop
Es wurde ein universelles Postsync-Skript erstellt, dessen Verwendung sehr empfohlen wird und das durch Verwendung des empfohlenen servertools auch automatisch an die richtige Stelle installiert wird.
- es kann eines pro CLOOP-Image bestehen
- loggt seine Aktionen in das Dateisystem des Clients nach
/mnt/var/log/postsync.log
. - bestimmt die Rechnergruppe des Clients
- versucht, den Raum des Clients zu bestimmen
- definiert eine PATCHKLASSE, die normalerweise dem CLOOP-Namen entspricht
- synchronisiert alle Dateien der Patchklasse aus dem Server-Verzeichnis
/srv/linbo/linuxmuster-client/PATCHKLASSE/
in den LINBO-Cache des Clients. Dabei müssen alle Dateien auf dem Server lesbar sein für den LINBO-User auf dem Server. - synchronisiert alle Dateien aus dem LINBO-Cache des Clients in dessen Root-Verzeichnis des Zielsystems.
- bei der Synchronisation werden spezielle tar-PAkete entpackt und Dateien und tar-Pakete nach der Hierarchie
- jeder Client
- nur der Client dieses Raumes (wenn einer oben erkannt wurde)
- nur der Client mit diesem Hostnamen aus dem CAche entpackt bzw. kopiert.
- es werden weitere postsync-Skripte aus einem Verzeichnis
postsync.d
nachgeladen (source
) und dadurch ausgeführt. - zuletzt wird im Client verschiedene Zustände in Dateien hinterlassen
-
/.linbo
im Client enthält den Namen des CLOOPs -
/.hostgroup
im Client enthält den Namen der Rechnergruppe -
/.description
im Client enthält die Beschreibung des CLOOPs aus dessen.desc
-Datei -
/.lastsync
enthält den Zeitstempel, wann dieser Client zuletzt synchronisiert wurde
-
Im Verzeichnis /srv/linbo/linuxmuster-client/patchklasse/common/postsync.d/
können weitere Skripte abgelegt werden, die alphanumerisch abgearbeitet werden, daher ist die Namenskonvention Ziffer_skriptname
sinnvoll.
Ein paar wenige Skripte werden vom Paket linuxmuster-client-servertools mit Hilfe des Befehls linuxmuster-client [configure|auto]
in das Patchklassenverzeichnis installiert, dabei handelt es sich um weitere generische Skripte, die bei den meisten Linuxdistributionen Dinge korrigieren, die speziell für den LINBO-Start korrigiert werden müssen und aus dem Vorlagenverzeichnis ins Patchklassenverzeichnis kopiert und an das System angepasst werden, u.a.
usr/lib/linuxmuster-client-servertools/generic.postsync.d/00-lcst-fix-initrd: Behebt Probleme, die mit Links auf Kernel und initramdisk auftraten/auftreten können.
usr/lib/linuxmuster-client-servertools/generic.postsync.d/01-lcst-setlocalpasswords: Setzt lokale Passwörter von Benutzern, wie linuxadmin
, wenn in der Datei /passwords
auf der Rootpartition des Clients Benutzername|Crypthashes
abgespeichert werden, z.B.
linuxadmin|$6$Ilf0o6na$HAqwtPWv/ytOrCat0aQ0T07SjVsLZHngZ9CWiGInhgfT7zJnB/FA9b54awyPOV9bvKwT9Yk5/U5ezS5r/
usr/lib/linuxmuster-client-servertools/generic.postsync.d/03-lcst-fix-fstab: ersetzt in der fstab nach vorgegebenem device/Label die Root-Partition, swap-Partitionen werden entfernt.
usr/lib/linuxmuster-client-servertools/generic.postsync.d/04-lcst-generate-hosts: setzt mit Hilfe eines Templates die Datei /etc/hosts
auf einen Client-individuellen Status.
usr/lib/linuxmuster-client-servertools/generic.postsync.d/09-lcst-fix-permissions: korrigiert Zugriffsrechte und Besitzer von Dateien und Verzeichnissen, die zwangsläufig durch die Kopie vom Server die falschen Rechte besitzen (z.B. sshd-config)
Jeder kann nach dem Muster oben eigene Skripte im Verzeichnis /srv/linbo/linuxmuster-client/patchklasse/common/postsync.d/
für die Korrektur seines Cloop-Images pflegen. Dabei kann auf die Variablen und Funktionen aus LINBO zugegriffen werden.