Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Private Programmpakte zur Installation vorbereiten

&pagelevel(4)&pagelevel

Private Programmpakete oder Programmpakete anderer Hersteller müssen zuerst in die nachfolgend beschriebene Form gebracht werden, bevor sie mit dem POSIX-Installationsprogramm installiert werden können:

  • Die Produktbestandteile müssen in einer in einer PLAM-Bibliothek vorliegen.

  • Die PLAM-Bibliothek muss den produktspezifischen Namen besitzen:
    <prefix>LIB.<product>.<version>.[<package>]

  • Die ausführbaren Programme müssen als L-Elemente abgelegt sein.

  • Header-Files, Shellskripts und sonstige Bausteine wie Textdateien müssen als S-Elemente abgelegt sein.

  • Die PLAM-Bibliothek muss folgende produktspezifischen Installations- und Deinstallationsskripts als S-Element enthalten:

    • INSTALL.<product>.<version>.[<package>]

    • DELETE.<product>.<version>.[<package>]

    Diese Skripts beschreiben den Ablageort jedes Produktbestandteils im POSIX-Dateisystem und liefern weitere Informationen, die die Ablage betreffen. Der Aufbau dieser Skripts ist im nächsten Abschnitt beschrieben.

Format von Installations- und Deinstallationsskript

Die einzelnen Zeilen der Installations- und Deinstallationsskripts müssen folgendes Format besitzen:

Element:Kennbuchstabe:Pfadname:Linkname:Zugriff:Benutzernummer:Gruppennummer

Die Spaltenbreite ist variabel. Das Trennzeichen „:“ muss auch angegeben werden, wenn kein Wert angegeben wird. Kommentarzeilen beginnen mit „#“.

Die Einträge für Kennbuchstabe und Zugriff werden im Folgenden näher erläutert.

  • Kennbuchstabe kennzeichnet die Installations-Teilfunktion (alphabetisch geordnet):

    bEine Binärdatei (Plamelement-Typ X) wird unter dem angegebenen Namen angelegt
    dDas Dateiverzeichnis, das im Pfadnamen angegeben ist, wird neu eingerichtet

    f

    Das Kommando wird unter dem angegebenen Pfadnamen angelegt (Verweis auf Element in PLAM-Bibliothek)

    i

    Gibt den Installationspfad an. Der i-Eintrag muss die erste Anweisungszeile sein!

    lFür den angegebenen Linknamen wird ein Hard-Link angelegt

    m

    Das Kommando wird unter dem angegebenen Pfadnamen angelegt (als LLM in UFS)

    oEintrag für Dateien, die entfernt werden sollen
    pEine Prozedur (Element) wird unter dem angegebenen Pfadnamen angelegt
    rDas Skript (Prozedur) mit dem angegebenen Pfadnamen wird ausgeführt
    sFür den angegebenen Linknamen wird ein symbolischer Link angelegt
    uCodierte T-Dateien für iconv

    v

    Eintrag für Dateiverzeichnisse, die entfernt werden sollen

  • Zugriff stellt die Zugriffsberechtigung für Eigentümer, Gruppe und Andere dar (oktal).

Umgebungsvariablen im Installations- und Deinstallationsskript

In Installationsskripts können Sie folgende zusätzlichen Umgebungsvariablen verwenden:

USERBS2000-Benutzerkennung, unter der die Installation gestartet wurde.

IPATH

Installationspfad im POSIX-Dateisystem.
Wenn IPATH gleich der leeren Zeichenkette ist, ist der Installationspfad gleich “/”. Wenn kein Installationspfad durch Angabe von :i: definiert wurde (siehe unten), dann wird $IPATH nicht interpretiert, d.h. der String „$IPATH“ ist dann Teil eines Pfad- bzw. Linknamens.

IUID

BS2000-Installationskennung
Entweder die installation userid aus der Dialogmaske BS2000 POSIX package installation oder die BS2000 -Benutzerkennung aus dem vollständigen Dateinamen,den IMON für die Logical-ID%SINLIB des zu installierenden Produktes meldet. Das führende Dollarzeichen ist Bestandteil des Strings.

Installationspfad im Installations- und Deinstallationsskript

Mittels der Kennzeichens „i“ geben Sie den Installationspfad für die Komponenten eines Produktes im POSIX-Dateisystem an. Die Definition eines Installationspfades muss die erste Anweisungszeile im Installationsskript sein, sonst ist sie wirkungslos.

Ein solcher Eintrag hat folgende Syntax:

:i:Installationspfad:Zugriff:Benutzernummer:Gruppennummer

Dabei bedeuten:

InstallationspfadVollständiger Pfadname eines Verzeichnisses im POSIX-Dateisystem.
ZugriffZugriffsrechte, mit denen Installationspfad versehen wird.
BenutzernummerPOSIX User-Id des Eigentümers von Installationspfad.

Gruppennummer

POSIX Group-Id des Eigentümers von Installationspfad.

Mit diesem Mechanismus ist es möglich, ein Produkt mehrfach im POSIX-Dateisystem zu installieren.

Die Angabe eines Installationspfades im Installationsskript bewirkt Folgendes:

  • Bei der Installation im Dialog wird dieser Installationspfad in der Installationsmaske des POSIX-Installationsprogramms angezeigt. Sie können den Installationspfad dort nach Belieben ändern. Wirksam wird der Wert, der zuletzt in der Dialogmaske steht.

  • Bei Installation im Batch gilt dieser Installationspfad, wenn die Parameterdatei keinen Installationspfad enthält. Wurde in der Parameterdatei in der entsprechenden Anweisungszeile ein Installationspfad angegeben, dann wird der Installationspfad aus der Parameterdatei übernommen, siehe Abschnitt "Install Packages on POSIX (Programmpakete hinzufügen)".

  • Die Variable $IPATH im Installationsskript wird durch den aktuellen Wert des Installationspfades ersetzt. Diese gilt für jede Angabe eines Pfad- bzw. Linknamens, in der $IPATH vorangestellt ist (außer natürlich in der Definition des Installationspfades).

Beispiel

:i:/opt/C/022A10::0755:2:2 # default installpath
:d:$IPATH/bin::0755:2:2 # subdirectory
C89:f:$IPATH/bin/c89::0755:2:2 # command

Im Deinstallationsskript ist die Definition eines Installationspfades nicht sinnvoll. Die Angabe :i: wird ignoriert, wenn sie syntaktisch korrekt ist.

Die Variable $IPATH im Deinstallationsskript wird wie folgt ersetzt:

  • im Dialog durch Auswahl der entsprechenden Position in der Deinstallationsmaske, in der alle aktuell installierten Produkte aufgelistet sind.

  • im Batch durch den Installationspfad, der in der Anweisungszeile der Parameterdatei angegeben ist.

Meldungen, Eingaben und Rückkehrcodes bei Installationsskripts

In Installationsskripts können Shellskripts ausgeführt werden. Aus diesen Shellskripts heraus können Meldungen ausgegeben werden und in diese Shellskripts können Eingaben getätigt werden. Für die Ein-/Ausgaben gilt je nach Art der Installation Folgendes:

  • Bei Installation im Dialog werden die Eingaben vom Terminal gelesen und die Ausgaben auf das Terminal ausgegeben, d.h. stdin, stdout und stderr werden auf das Terminal umgelenkt.

  • Bei Installation im Dialog werden die Eingaben aus einer so genannten Response-Datei eingelesen. Diese Datei muss im selben Verzeichnis stehen, aus dem heraus das Shellskript gestartet wird. Der Name muss aus dem Namen des Shellskripts mit angehängtem .response bestehen.

    Die Ausgaben (stdout und stderr) werden immer auf SYSOUT ausgegeben.

Steueranweisungen

Ein Shellskript kann Steueranweisungen enthalten, die im Falle eines Rückkehrcodes ungleich 0 den Endestatus melden und den weiteren Verlauf der Installation bestimmen. Diese Steueranweisungen beginnen immer in der 1. Zeile mit einer Raute und einem Ausrufezeichen und können an beliebiger Stelle im Shellskript stehen.

Folgende Steueranweisungen sind möglich:

#!REPORT_SHELLSCRIPT_ERROR={ON | OFF}


ON

Ist der Rückkehrcode ungleich 0, dann wird eine Meldung ausgegeben (Standard). Diese Meldung hat folgendes Format:

"shell script skriptname reports error exitvalue"

Die Bedeutung muss im jeweiligen Kontext in der Produktbeschreibung erläutert werden.

Um Mehrdeutigkeiten zu vermeiden, sollten die Rückkehrcodes der Shellskripts zwischen 128 – 255 liegen, da auch die POSIX-Shell Rückkehrcodes setzt.

OFF

Es wird keine Meldung ausgegeben.


#!EXIT_ON_SHELLSCRIPT_ERROR={ON | OFF}


ON

Ist der Rückkehrcode ungleich 0, dann wird die Installation des Produkts abgebrochen.

OFF

Die Installation des Produkts wird fortgesetzt (Standard).


Beispiel

Das Produkt Beispiel (Version 123) wird aus der Produktbibliothek SINLIB.BEISPIEL.123 installiert. Das Installationsskript INSTALL.BEISPIEL.123 enthält u. a. folgende Zeilen:

:i:/tmp/beispiel.install::0755:2:2
beispiel.sh:p:SIPATH/script::0555:2:2
beispiel.rs:p:SIPATH/script.response::0555:2:2
#!REPORT_SHELLSCRIPT_ERROR=ON
#!EXIT_ON_SHELLSCRIPT_ERROR=OFF
:r:SIPATH/script::::