Anhang J. Skript der ursprünglichen Installation für Dr.Web Enterprise Agent verwenden

Das Skript für ursprüngliche Installation der Agenten auf der Station unter Verwendung des Netzwerkinstallations-Assistenten (drwinst.exe) wird durch die Datei install.script festgelegt. Diese Dateien befinden sich im Produkt-Wurzelverzeichnis in Repository. Im standardmäßigen Lieferumfang sind sie in den Verzeichnissen 10-drwupgrade und 20-drwagntd angeordnet und beschreiben die Default-Installation.

Wenn die Datei .custom.install.script im Verzeichnis vorhanden ist, wird sie anstatt des standardmäßigen Skripts verwendet.

 

Die Dateien mit beliebigen anderen Namen, die mit einem Punkt beginnen, werden bei Aktualisierung des Produktes nicht aktualisiert und haben keinen Einfluss auf den Betrieb des Repository.

 

Die Reihenfolge von Aktionen bei ursprünglicher Installation:

1.Der Netzwerkinstallations-Assistent fordert beim Server die Installation von Plattformen an: win-setup, common, win, win-nt und win-9x –– es ist die Liste der standardmäßigen Plattformen, angeordnet in Default-Reihenfolge. Die Reihenfolge von Nutzung der Plattformen kann mit Hilfe des Schlüssels -platforms=p1,p2,p3... beim Aufruf von drwinst geändert werden. Die Plattform win-setup gehört zum standardmäßigen Lieferumfang nicht und ist zur Erstellung von eigenen Installationsskripten bestimmt, falls solche benötigt werden.

2.Der Server erstellt die Liste von Dateien aufgrund der Plattformenliste. Dabei werden alle Produkte folgegemäß in alphabetischer Reihenfolge sowie die Listen von Dateien, die durch Konstruktionen files{ } für diese Plattform im Installationsskript install.script festgelegt sind, untersucht (s. unten). Parallel wird das Summenskript aufgrund von Konstruktionen scripts{ } erstellt.

3.Der Server erhält die Gesamtliste von Dateien und das Summenskript.

4.Der Server sendet die Dateien und das Skript, das durch den Netzwerkinstallations-Assistenten ausgeführt wird.

Betrachten wir install.script anhand des 20-drwagntd Verzeichnisses.

; master part of installation: Agent & its stuff.

; drwscr.dll goes with upgrader, so unlisted here.

 

platform{  ; win - for all Windows OS

          ; `name: XXX' MUST go first!

 

  name: win  ; (mandatory stanza)

             ; this platform name

 

             ; include, scripts{ }, files{ }

             ; can go in any order

 

  scripts {  ; (optional)

             ; script being merged with all others

win.inst.rexx ; and executed after transfer all

             ; files for all platforms requested

             ; by installer

             ; Windows installer request order:

             ; - win-setup (optional! for

             ;              customization)

             ;   - common

             ;   - win

             ;   - win-nt OR win-9x

        }

 

  files {    ; (optional)

             ; this platform files being

             ; transfered to installer

         win/uninstall.rexx

         win/drwinst.exe

         win/drwagntd.exe

         win/drwagnui.exe

         win/drwhard.dll

       }

}

 

platform {    ; win-9x - for Windows 95-ME

  name: win-9x

  scripts{ win-9x.inst.rexx }

}

 

platform {    ; win-nt - for Windows NT-2003

  name: win-nt

  scripts{ win-nt.inst.rexx }

}

 

platform{     ; common - for any OS including UNICES

   name: common

   scripts { common.inst.rexx }

}

 

; include file.name ; (optional)

    ; this stanza tells to include other file.

    ; including file will be searched in the

    ; same directory where current file are

    ; located if `file.name' does not include

    ; directory specificator

Das Skript stellt eine Liste von Konstruktionen platform{ } dar und ermöglicht die Verwendung von Definitionen aus anderen Dateien (include ist nur in der oberen Ebene zulässig und ist innerhalb von platform{ } unzulässig) mit Hilfe der include-Konstruktion. Wenn file.name in include keinen Pfad, sondern nur den Dateinamen enthält, wird es danach in demselben Verzeichnis wie auch nach dem Aktuellen gesucht.

Die zu verwendenden Dateien können eigene include Konstruktionen beinhalten.

Die Beschreibung der Plattform beginnt mit der Konstruktion name: XXX. Danach folgt das Paar von Listen files{ } und scripts{ }. Die Erscheinungsreihenfolge von diesen Listen ist unwichtig; die Listen können eine beliebige Anzahl von Elementen beinhalten. Die Reihenfolge der Elemente in der Liste ist wichtig, da dadurch die Reihenfolge bei der Übermittlung von Dateien an die Station sowie die Struktur des zu erstellenden Skripts festgelegt wird.

Die Reihenfolge bei der Erscheinung von Konstruktionen platform{ } ist auch unwichtig.

Unten sind die Variablen der Installationsskripte (die Werte können diesen Variablen aus der Befehlszeile des Netzwerkinstallations-Assistenten zugewiesen werden) und deren Default-Werte angeführt:

spider.install   = 'yes'

spiderml.install = 'yes'

scanner.install  = 'yes'

install.home — Installationsverzeichnis

agent.logfile = install.home'\logs\drwagntd.log'

agent.loglevel = 'trace'

agent.logrotate = '10,10m'

agent.servers = install.servers

agent.serverkey = install.home'\drwcsd.pub'

agent.compression = 'possible'

agent.encryption = 'yes'

agent.findretry = '3'

agent.findtimeout = '5'

agent.spiderstatistics = '30'

agent.importantmsg = '2'

agent.discovery = 'udp/:2193'

agent.startmsg = '2' (oder agent.startmsg = 'NONE')

Der Parameter agent.importantmsg definiert, ob die Nachricht über einen Aktualisierungsfehler, über erforderlichen Neustart usw. dem Benutzer angezeigt wird: 0 — keine Nachricht ausgeben, 1 — Popup-Info-Nachricht anzeigen.

Erstellen wir ein nicht standardmäßiges Installationsskript, in dem SpIDer Guard nicht installiert und maximal detaillierte Protokollierung festgelegt wird:

1.Erstellen Sie in 20-drwagntd die Datei .win-setup.inst.rexx und schreiben Sie darin:

spider.install = 'no'

agent.loglevel = 'all'

2.Erstellen Sie in 20-drwagntd die Datei .custom.install.script und schreiben Sie darin:

include install.script

 

platform{

 name: win-setup

 scripts{ .win-setup.inst.rexx }

}

3.Starten Sie den Server neu oder geben Sie das Signal zum Neustart des Repository:

für UNIX OS: kill -USR1 cat `drwcsd.pid`

für Windows OS: drwcsd.exe rerepository