Softwarepakete auf Subdepots schneller, effizienter und selektiv bereitstellen

upDateNow SmartPackageSync

UPDATENOW

SmartPackageSync

Autor: Frank Dethlefsen

Datum: 30.04.2020

Version: 2.0.4.30

 

Matrix42 und Empirum sind registrierte Markennamen der Matrix42 AG.

 

Funktionsbeschreibung

Heutzutage muss schnell reagiert werden, um Sicherheitslücken von Softwaren, wie z.B. Adobe Reader oder Mozilla Firefox zu schließen. Das erfordert eine schnelle Bereitstellung der Softwarepakete in Ihrer Matrix42 Empirum Subdepot-Infrastruktur. In der Regel werden sämtliche Softwarepakete nachts vom Haupt-EmpirumServer zum Subdepot abgeglichen, um die WAN-Leitungen für den Geschäftsbetrieb tagsüber freizuhalten. Allein der Abgleich, ohne das neue Softwarepakete kopiert werden, verursacht eine erhebliche Netzwerkbelastung und dauert entsprechend lange. Insofern werden die Softwarepakete erst am folgenden Tag an den Subdepot-Standorten installiert.

Das Programm SmartPackageSync von upDateNow soll diesen Nachteil beseitigen. Es überprüft nur die Installationsskripte (Setup.inf/Install.ps1) der Softwarepakete auf dem Haupt-EmpirumServer mit denen auf den Subdepots. Gibt es ein neues oder ein verändertes Installationsskript, wird nur das entsprechende Softwarepaket repliziert. Diese Vorgehensweise ist um ein Vielfaches schneller und netzwerkschonender als eine herkömmliche Replikation und ermöglicht eine Ausführung in kurzen Zeitabständen auch tagsüber während des Geschäftsbetriebs.

Um sicher zu stellen, dass auf den Subdepots die Softwarepakete bzw. deren Dateien 100%ig dem des Haupt-EmpirumServer entsprechen, wird nachts ein Vollabgleich gefahren.

Neue Softwarepakete, die größer als ein definierter Schwellenwert sind (Standard ist 512 MB), werden erst mit dem Vollabgleich in der Nacht auf die Subdepots repliziert. Somit werden kleinere Softwarepakete, wie z.B. Adobe Flashplayer, Adobe Reader oder Oracle Java Runtime Environment tagsüber schnell repliziert, aber größere Softwarepakete, wie z.B. Microsoft Office Professional Plus 2019 erst in der Nacht.

Softwarepakete können selektiv auf Subdepots bereitgestellt und die Konfigurationsdatei Swdepot.dds auf die Größe der ausgewählten Softwarepakete reduziert werden. Das ist in der Regel im internationalen Umfeld hilfreich, um die Depotgröße und -replizierung auf ein verträgliches und notwendiges Maß zu reduzieren.

Kopierte Softwarepakete bekommen eine sogenannte PackageDaysToLife-Option, die dafür sorgt, dass Softwarepakete automatisch wieder vom Subdepot gelöscht werden, wenn diese nicht mehr verwendet werden.

Softwarepaketdateien werden partiell kopiert. Wird ein Dateikopiervorgang unterbrochen, wird bei der nächsten Replizierung die Datei nicht wieder komplett neu kopiert, sondern nur noch der fehlende Rest. Das ist insbesondere für sehr große Dateien hilfreich.

Durch Umstellungen der bisherigen Softwarepakete-Synchronisierung auf die SmartPackageSync-Methode werden verwaiste Verzeichnisse entfernt.

 

Setup

Melden Sie sich auf dem Haupt-EmpirumServer per Remotedesktop administrativ an und führen Sie die „upDateNow SmartPackageSync 2020.exe“ aus. (*1 siehe Anmerkungen ganz unten). Es erscheint ein Bestätigungsdialog, ob die Installation durchgeführt werden soll. Wählen Sie „continue“ für fortsetzen aus. Das Setup hat nun folgendes erledigt:

Es wurde ein Verzeichnis \Empirum\upDateNow\SmartPackageSync erstellt, in dem sich folgende Dateien befinden

·         SmartPackageSync.htm

Diese Anleitung kann über den Link aus dem Startmenü\Programme\upDateNow\SmartPackageSync\upDateNow SmartPackageSync – Tutorial aufgerufen werden

 

·         ESubdepot_SmartPackageSync.sql

SQL-Skript zum Anlegen des Sync-Templates ESubdepot_SmartPackageSync

 

·         VariableDefinitions.xml

Optionale Variablendefinition-Importdatei für die Computervariablen-Kollektion SUBDEPOT_SMART_SYNC

PackageScope > Complete | Select

SelectDomain

SelectComputername

PackageDaysToLife

DailyVerifyOnceFromTime

SyncToNightMB

InterPacketGap

 

Das Programm SmartPackageSync.exe wurde im Verzeichnispfad \Empirum\upDateNow\User abgelegt.

 

Starten Sie das Matrix42 DBUtil (Desktoplink) und melden Sie sich an die Standortdatenbank an. Gehen Sie in das Menu Aktionen > SQL-Skripts ausführen > Standort > wählen Sie das SQL-Skript \Empirum\upDateNow\SmartPackageSync\ESubdepot_SmartPackageSync.sql aus. Das SQL-Skript hat Ihnen nun das Sync-Template ESubdepot_SmartPackageSync erstellt. Das Sync-Template ersetzt die Funktion der Standard Sync-Templates Subdepot_Packages, ESubdepot_PM3, ESubdepot_PM und ESubdepot_User. Deinstallieren Sie die Sync-Templates und installieren stattdessen das Sync-Template ESubdepot_SmartPackageSync auf dem Subdepot.

Im Auslieferungszustand ist der Zeitplan des Sync-Template ESubdepot_SmartPackageSync auf stündlich wiederholend eingestellt. Sie können den Zeitplan nach Ihren Vorstellungen anpassen.

Der Import der Variablendefinitionsdatei ist optional und nur notwendig, wenn

·         Sie Softwarepakete selektiv auf die Subdepots übertragen wollen

·         Sie die Standardzeit 00:00:00 für den täglichen Softwarepaketvollabgleich ändern wollen

·         Sie die Standardeinstellung der Softwarepaketlebenszeit auf dem Subdepot von 30 Tagen verändern möchten

·         Sie die Standardeinstellung für den Schwellenwert der Softwarepaketgröße von 512 Megabyte verändern möchten, damit größere Softwarepakete erst in der Nacht und nicht tagsüber repliziert werden

·         Wenn Sie die verwendete Netzwerkbandbreite begrenzen möchten

 

Trifft einer der genannten Fälle zu, gehen Sie wie folgt vor, um die Variablendefinitionsdatei zu importieren:

Starten Sie die Matrix42 Management Console und wechseln Sie in den Management Bereich > Administration > Menu: Extras > Variablendefinitionen… > klicken Sie unten im Dialog den Button „Importieren“. Wählen Sie die XML-Datei \Empirum\upDateNow\SmartPackageSync\VariableDefinitions.xml zum Importieren aus. Beenden Sie den Dialog Variablendefinitionen abschließend mit OK.

Ansicht Computervariablen-Kollektion SUBDEPOT_SMART_SYNC:

 

Vorgehensweise für den Fall, dass Sie selektiv Softwarepakete auf die Subdepots übertragen wollen

Die selektive Zuweisung der Softwarepakete auf Subdepots erfolgt über ein logisches Computerobjekt, das in der Matrix42 Management Console zusätzlich angelegt werden muss. Das ist notwendig, um die Installation der Softwarepakete auf dem Subdepot selbst zu vermeiden. Dem logischen Computerobjekt können Sie Softwarepakete stellvertretend zuweisen und aktivieren, als wenn Sie diese dort installieren wollten. Die verwendeten Verteilungsoptionen spielen keine Rolle. Allein die Zuweisung führt zu einer Übertragung des Softwarepaketes. Entfernen Sie die Zuweisung des Softwarepaketes, wird dieses automatisch wieder vom Subdepot nach dem Ablauf der Verfallszeit gelöscht.

Um die Softwarepaketliste des logischen Computerobjekts mit einen Subdepot zu verknüpfen, müssen Sie auf dem Subdepot-Computerobjekt die Computervariablen-Kollektion SUBDEPOT_SMART_SYNC > PackageScope, SelectDomain + SelectComputername wie folgt setzen:

PackageScope = Select

SelectDomain = Domain-/Arbeitsgruppennamen vom logischen Computerobjekt

SelectComputername = Computernamen vom logischen Computerobjekt

 

Optionale Computervariable SUBDEPOT_SMART_SYNC > PackageDaysToLife

Die Standardlebenszeit eines Softwarepaketes beträgt 30 Tage und wird mit jedem erneuten Neuabgleich verlängert. Wird kein Abgleich mehr durchgeführt, verfällt das Softwarepaket nach Ablauf der angegebenen Tage bzw. es wird dann vom Subdepot gelöscht.

 

Optionale Computervariable SUBDEPOT_SMART_SYNC > DailyVerifyOnceFromTime

Mit dieser Option können Sie die tägliche Vollabgleichzeit für die Softwarepakete festlegen. Standardeinstellung ist 00:00:00.

 

Optionale Computervariable SUBDEPOT_SMART_SYNC > SyncToNightMB

Mit dieser Option können Sie die Schwellenwertgröße in Megabyte für neue Softwarepakete einstellen, die erst in der Nacht mit dem Vollabgleich repliziert werden sollen. Standardeinstellung ist 512.

 

Optionale Computervariable SUBDEPOT_SMART_SYNC > InterPacketGap

Die Option InterPacketGap sorgt für eine kleine Pause in Millisekunden nach jeder Datenpaketübertragung mit Robocopy, um während dessen ein Freiraum für andere Datenpaketübertragung zu ermöglichen. Empfehlung: Beginnen Sie mit einem Testwert 500. Setzen den Wert bei Bedarf höher oder niedriger. Weitere Infos siehe unter:

https://www.google.de/search?q=robocopy.exe+%22inter+packet+gap%22&oq=robocopy.exe+%22inter+packet+gap%22

 

Spezialfälle

Matrix42 Patch-Management: Wenn Sie die Softwarepakete Matrix42 Patch-Management Client Scan oder Fix dem logischen Computerobjekt zugewiesen haben, wird das Patch-Management-Basisverzeichnis \Empirum\Configurator\Packages\PatchManagement bzw. PatchManagement_v3 automatisch mitgenommen bzw. auch wieder gelöscht.

Matrix42 Treiber-Management (WinPE-basierend): Wenn Sie das Matrix42 PreOS-Softwarepaket DriverIntegration dem logischen Computerobjekt zugewiesen haben, wird das Basisverzeichnis vom Treiber-Management \Empirum\Configurator\Packages\Matrix42\OsPackages\Drivers mitgenommen bzw. auch wieder gelöscht.

Konfigurationsdatei SmartPackageSync.inc: Optional können weitere Verzeichnispfade, die sich unterhalb von \Empirum\Configurator\Packages befinden, mitkopiert werden. Erstellen Sie im Pfad \Empirum\upDateNow\User, indem sich auch die SmartPackageSync.exe befindet, eine Textdatei mit dem Namen SmartPackageSync.inc. Fügen Sie der Datei SmartPackageSync.inc pro Zeile einen Suffix-Verzeichnispfad hinzu. Der Präfix-Verzeichnispfad \Empirum\Configurator\Packages\ wird intern automatisch vorangestellt. Z.B tragen Sie für den Pfad \Empirum\Configurator\Packages\Hardware\Driver das Suffix-Verzeichnis Hardware\Driver als Zeile ein.

 

Verzeichnisse, die immer kopiert werden

\Empirum\Configurator\User

\Empirum\Configurator\Packages\matrix42\OS-Message

\Empirum\Configurator\Packages\matrix42\EndMessage

 

Kommandozeilen-Schalter der SmartPackageSync.exe

Das Programm SmartPackageSync.exe wird als Postbefehl vom Sync-Template ESubdepot_SmartPackageSync aufgerufen. Folgende Kommandozeilen-Schalter können zusätzlich als Postbefehl gesetzt werden:

 

/Log:“<Dateipfad für Logdatei>“

SmartPackageSync.exe erzeugt standardmäßig eine Logdatei im Dateipfad C:\ProgrammData\upDateNow\SmartPackageSync\SmartPackageSync.log. Sie können mit dem Schalter /Log:“<Dateipfad für Logdatei>“ einen anderen Logdateipfad angeben z.B. /Log:“C:\Users\Public\Desktop\SmartPackageSync.log“

 

/ExcludeDir:“<Unterverzeichnis von Softwarepaketen>“

Die technische Dokumentation von Softwarepaketen wird in der Regel in einem Softwarepaketunterverzeichnis erstellt. Ggf. möchte man nicht, dass die technische Dokumentation auf den Subdepots bereitgestellt wird. Mit dem Schalter /ExcludeDir:“<Unterverzeichnis von Softwarepaketen>“ kann ein Softwarepaketunterverzeichnis vom Kopieren ausgeschlossen werden z.B. /ExcludeDir:“PKG_DOC“

 

/ShrinkDDS

Mit dem Schalter /ShrinkDDS kann, wenn der PackageScope-Mode „Select“ verwendet wird, die Größe der Swdepot.dds auf die selektiv verfügbaren Softwarepakete auf einem Subdepot reduziert werden. Diese Option ist für Kunden empfehlenswert, die eine sehr hohe Anzahl von Softwarepaketen im 4-stelligen Bereich im Depot haben, von denen nur ein Bruchteil auf den Subdepots benötigt werden. Eine sehr große Swdepot.dds (>1 MB / >1000 Softwarepakete) verzögert spürbar das Verhalten vom Empirum Advanced Agent und UEM-Agent.

Hinweis: Ab Empirum 19.0.3 wurde eine neue Agent-Template Option für den UEM-Agent „digitale Signatur der Dateien prüfen“ eingeführt. Deaktivieren Sie die Option, wenn Sie den Schalter /ShrinkDDS verwenden möchten bzw. setzen Sie den Schalter /ShrinkDDS dann nicht ein.

 

/CheckFile

Wird der Schalter /CheckFile zusätzlich verwendet, werden spezielle Status-, Check- und Log-Dateien unterhalb \Empirum\Configurator\Log\SmartPackageSync\Status, Checkfile und Log erstellt.

·         Status: In diesem Ordner werden <Subdepotname>.lnk-Dateien erstellt. Die Lnk-Datei stellt den Status in Form einer Ampel dar. Ein grünes Symbol steht für eine erfolgreiche oder rotes Symbol für fehlerhafte Durchführung.

·         Checkfile: In diesem Ordner werden <Subdepotname>.ini-Dateien erstellt. In der Ini-Datei wird der Status vom SmartPackageSync für die Auswertung eines Monitoring-Systems, wie z.B. Nagios bereitgestellt.

·         Log: In diesem Ordner werden <Subdepotname>.log-Dateien erstellt. In der Log-Datei wird ein ausführliches Log vom SmartPackageSync bereitgestellt, in dem eine aussagekräftige Fehlermeldung ersichtlich ist.

 

Hinweis: Nach Anpassung des Postbefehls muss das Sync-Template ESubdepot_SmartPackageSync auf den Subdepots reinstalliert werden.

 

Verwaiste Packages-Verzeichnisse auf Subdepots

Durch einen Initial-Cleanup werden verwaiste Verzeichnisse auf dem Subdepot unterhalb von \Empirum\Configurator\Packages bei Erstausführung einmalig entfernt.

Falls im laufenden Betrieb der PackageScope-Mode von „Complete“ auf „Select“ umgestellt wird, wird ein weiteres Mal ein Initial-Cleanup durchgeführt.

Wenn Sie den Registrykey HKLM\SOFTWARE\upDateNow\SmartPackageSync,InitialCleanup manuell löschen, wird ein weiterer Initial-Cleanup beim nächsten Start der SmartPackageSync.exe gemacht.

 

Lokales Arbeitsverzeichnis

Für die Fehlersuche ist es hilfreich, einen Blick in die Log-/Config-Dateien zu werfen, die sich auf dem Subdepot in dem Verzeichnis C:\ProgrammData\upDateNow\SmartPackageSync befinden.

 

Sonstige Hinweise

Das Programm SmartPackageSync.exe ist ein natives 64-Bit Programm und erfordert Administratorrechte für die Ausführung.

 

Change-Log

Version 1.6.6.10 / Datum 19.06.2016

Erstrelease

Version 1.8.1.13 / Datum 13.01.2018

Unterstützung PreOS-Pakete

Neue Computervariable SUBDEPOT_SMART_SYNC > InterPacketGap

Neue Schalter /ShrinkDDS und /CheckFile

Neue SmartPackageSync.inc-Datei für Spezialfälle

Neue Aufräumfunktion Initial-Cleanup

Performance-Optimierungen

Version 2.0.4.30 / Datum 30.04.2020

Neuer Spezialfall PreOS-Paket DriverIntegration – Matrix42\OsPackages\Drivers

Fehlerbehebung Unicode-Dateiformatänderung Swdepot.dds

Performance-Optimierungen

 

Sollten Sie Interesse, Fragen oder möchten Sie ein Angebot haben, stehe ich Ihnen gerne zu Verfügung:

Frank.Dethlefsen@updatenow.de

+49 2327 689 9977

+49 152 3350 9452

 

*1: Uns ist bewusst, dass die Ausführung der „upDateNow SmartPackageSync 2020.exe“ auf einem Server aus Sicherheitsgründen nicht üblich ist. Wir haben uns dennoch dafür entschieden, weil es die Installation und Konfiguration sehr vereinfacht. Um sich davon zu überzeugen, was das Setup macht, können Sie die „upDateNow SmartPackageSync 2020.exe“ mit 7-Zip entpacken und das Installationsskript unter Install\Setup.inf analysieren.

 

Copyright © 2020 upDateNow GmbH

Diese Dokumentation ist urheberrechtlich geschützt. Alle Rechte liegen bei der upDateNow GmbH. Jede andere Nutzung, insbesondere die Weitergabe an Dritte, Speicherung innerhalb eines Datensystems, Verbreitung, Bearbeitung, Vortrag, Aufführung und Vorführung sind untersagt. Dies gilt sowohl für das gesamte Dokument als auch für Teile davon. Änderungen sind vorbehalten. Nachdruck, auch auszugsweise, ist nur mit schriftlicher Genehmigung der upDateNow GmbH gestattet.

 

Matrix42 und Empirum sind registrierte Markennamen der Matrix42 AG.

 

upDateNow GmbH

Wacholderweg 7

44869 Bochum

Germany

Tel.:     +49 2327 689 9977

Fax:     +49 2327 689 9881

E-Mail: info@updatenow.email

Web:   www.updatenow.de