Manuelles unattended Update unter Linux

Herunterladen des Update-Installers für die nächste Version.

Übertragen der Zip-Datei auf den Server in den Ordner /opt/asv.

Die weiteren Arbeiten führen Sie als Servicebenutzer asvdss aus. Es ist darauf zu achten, dass der Servicebenutzer asvdss die nötigen Rechte für die folgenden Schritte besitzt.

 sudo su - asvdss
 cd /opt/asv

Prüfen Sie zunächst, ob der Service DSS oder auch das Updateservice auf dem Server noch laufen:

 cd /opt/asv/server/bin
 ./dssctl status --user sys --password '!!ASV!!'

Sie erhalten als Meldung(en), ob der DSS und/oder der Updateservice noch laufen. Wenn dies der Fall ist, dann müssen sie beendet werden:

 ./dssctl stop --user sys --password '!!ASV!!' --time 0

Sie benötigen die Datei auto-install.xml (entweder die bei der Erstinstallation erzeugte oder Folgende). ACHTUNG: Wichtig ist, dass der Eintrag bei installType auf UPDATE steht und dass auch der Installationspfad (installPath) korrekt ist. Dieses XML-File führt bei der Unattended-Upateinstallation KEIN Zertifikatsupdate durch.

auto-install.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<AutomatedInstallation langpack="deu">
    <de.isb.svp.installer.panels.HelloPanel id="hello"/>
    <de.isb.svp.installer.panels.InstallTypePanel id="type" installType="UPDATE"/>
    <de.isb.svp.installer.panels.TargetPanel id="destination" installPath="/opt/asv/server" useH2=""/>
    <de.isb.svp.installer.panels.ZertifikatPanel id="certs"/>
    <de.isb.svp.installer.panels.CheckSystemPanel id="checks"/>
    <de.isb.svp.installer.panels.DSSClientPanel id="client"/>
    <de.isb.svp.installer.panels.PostgreSQLPanel id="postgres"/>
    <de.isb.svp.installer.panels.InstallationPanel id="install"/>
    <de.isb.svp.installer.panels.MigrationProcessPanel id="dbsetup"/>
    <com.izforge.izpack.panels.ShortcutPanel id="shortcuts"/>
    <de.isb.svp.installer.panels.FinishPanel id="finish" installService="false" installUS="false" showInfo="true" startApp="false" updateServiceBackupEnabled="false"/>
</AutomatedInstallation>

Wenn Sie eine Updateinstallation mit einem Zertifikatsupdate durchführen wollen, dann muss sowohl der Pfad zur Zertifikatsdatei mit dem korrekten Dateinamen in der auto-install.xml-Datei angegeben werden. Der Pfad kann relativ zum Installationsordner oder absolut angegeben werden. Desweiteren wird das zugehörige Passwort für die Zertifikatsdatei benötigt. Beides kann ein Klartext angegeben werden:

auto-install.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<AutomatedInstallation langpack="deu">
    <de.isb.svp.installer.panels.HelloPanel id="hello"/>
    <de.isb.svp.installer.panels.InstallTypePanel id="type" installType="UPDATE"/>
    <de.isb.svp.installer.panels.TargetPanel id="destination" installPath="/opt/asv/server" useH2=""/>
    <de.isb.svp.installer.panels.ZertifikatPanel id="certs">
        <clientCertificateKeyStore>//HierStehtDerRelativeOderAbsolutePfadZurZertifikatsdateit/ssl_Z_KM20JJ_SSSS.p12//</clientCertificateKeyStore>
        <clientCertificatePassword>//HierStehtDasZertifikatpasswort//</clientCertificatePassword>
    </de.isb.svp.installer.panels.ZertifikatPanel>
    <de.isb.svp.installer.panels.CheckSystemPanel id="checks"/>
    <de.isb.svp.installer.panels.DSSClientPanel id="client"/>
    <de.isb.svp.installer.panels.PostgreSQLPanel id="postgres"/>
    <de.isb.svp.installer.panels.InstallationPanel id="install"/>
    <de.isb.svp.installer.panels.MigrationProcessPanel id="dbsetup"/>
    <com.izforge.izpack.panels.ShortcutPanel id="shortcuts"/>
    <de.isb.svp.installer.panels.FinishPanel id="finish" installService="false" installUS="false" showInfo="true" startApp="false" updateServiceBackupEnabled="false"/>
</AutomatedInstallation>

Nun kann die unattended Updateinstallation durchgeführt werden

 mkdir update2.14.7
 cd update2.14.7
 unzip ../2.14.7_036_03_by-update-installer.zip
 cd install
 chmod u+x *.sh
 cp /opt/asv/server/auto-install.xml .
 sed --in-place -e 's/SERVER/UPDATE/' auto-install.xml

Der letzte Befehl sorgt dafür, dass ein Update statt einer Neuinstallation durchgeführt wird. Der Wert von installType soll auf UPDATE geändert werden. Es sollten keine anderen Veränderungen an der Datei vorgenommen werden.

Dann erfolgt das eigentliche Update:

 ./install-unattended.sh >update.log 2>&1

Jetzt noch das Protokoll sichten und die Dienste wieder starten.

 less update.log
 
 cd /opt/asv/server/bin
 ./dssctl start

Nach kurzer Zeit müssten der DSS und das updateservice in der neuen Version laufen. Im bin-Verzeichnis des Servers kann man mit Hilfe des Befehls

 ./dssctl status --user sys --password '!!ASV!!'

sichten, ob DSS und Updateservice wieder laufen. Ist das der Fall, wird sich der ASV-Client nach seinem Start wieder verbinden können und sich selbst aktualisieren.