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):b
Eine Binärdatei (Plamelement-Typ X) wird unter dem angegebenen Namen angelegt d
Das 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!
l
Für den angegebenen Linknamen wird ein Hard-Link angelegt m
Das Kommando wird unter dem angegebenen Pfadnamen angelegt (als LLM in UFS)
o
Eintrag für Dateien, die entfernt werden sollen p
Eine Prozedur (Element) wird unter dem angegebenen Pfadnamen angelegt r
Das Skript (Prozedur) mit dem angegebenen Pfadnamen wird ausgeführt s
Für den angegebenen Linknamen wird ein symbolischer Link angelegt u
Codierte 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:
USER | BS2000-Benutzerkennung, unter der die Installation gestartet wurde. |
IPATH | Installationspfad im POSIX-Dateisystem. |
IUID | BS2000-Installationskennung |
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:
Installationspfad | Vollständiger Pfadname eines Verzeichnisses im POSIX-Dateisystem. |
Zugriff | Zugriffsrechte, mit denen Installationspfad versehen wird. |
Benutzernummer | POSIX User-Id des Eigentümers von Installationspfad. |
| POSIX Group-Id des Eigentümers von |
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}
| Ist der Rückkehrcode ungleich 0, dann wird eine Meldung ausgegeben (Standard). Diese Meldung hat folgendes Format:
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. |
| Es wird keine Meldung ausgegeben. |
#!EXIT_ON_SHELLSCRIPT_ERROR={ON | OFF}
| Ist der Rückkehrcode ungleich 0, dann wird die Installation des Produkts abgebrochen. |
| 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::::