Aktives GUI-Element
Statisches GUI-Element
Quelltext
WPS-Objekt
Datei/Pfad
Befehlszeile
Inhalt Eingabefeld
[Tastenkombination]
Wiederauferstehung von RSU - der Remote Software Updates
Vor einigen Jahren, war RSU ein kleines, feines IBM-Hilfsprogramm, welches die Installation von FixPaks zu einem Kinderspiel machte. Alles, was man dafür benötigte, waren ein Webbrowser und eine funktionierende Internetverbindung - und schon war das neue OS/2-FixPak nur noch ein paar Mausklicks entfernt (zuzüglich der Downloadzeit).
Zu der Zeit aber, als IBM von Software Choice auf Passport Advantage umstellte, entschloß man sich leider dazu, FixPaks nicht mehr via RSU bereitzustellen. Und so wurde die Installation von FixPaks wieder eine erschütternde und hochgradig technische Beschäftigung: Auffinden und Herunterladen der Diskettenabbilder, das Auspacken selbiger auf irgendeine Art in ein temporäres Verzeichnis, die Jagd auf die korrekte Version von CSF und dann noch das Rekapitulieren der korrekten Reihenfolge der Befehle, um die FixPaks schließlich zu installieren. Und für diejenigen, die mit dem Prozeß nicht vertraut sind, kann daraus ein Haare raufender Albtraum werden.
Selbst wenn man alle Tricks kennt, wie ich, ist es ein unangenehmes Geschäft, besonders wenn man andauern unterschiedliche FixPaks auf diversen OS/2-Systemen installieren muß (was, seitdem ich Virtual PC verwende, scheinbar häfiger vorzukommen scheint). Daher kam, daß ich es versuchte und meinen eigenen RSU-Server einrichtete, um mein Leben etwas leichter zu gestalten.
Ich bin sicher, irgendwo einmal eine detailierte Beschreibung des .RSU Dateiformats gesehen zu haben, aber ich finde sie nicht mehr. Vielleicht lag sie einst auf einer Webseite, die IBM dann aus dem Diesseits getilgt hat. Jedenfalls habe ich das Thema danach studiert und durch Experimentieren schließlich geschafft, fast alles selber herauszufinden.
Wie RSU funktioniert
In Wirklichkeit ist RSU kein einzelnes Programm, sondern ein logischer Prozeß, der damit beginnt, daß der Anwender im Webbrowser auf einen Link klickt und in der Installation eines FixPaks endet (für gewöhnlich mittels CSF, dem Corrective Service Facility bzw. Fehlerkorrektur-Hilfprogramm). Zwischen diesen beiden Punkten befinden sich drei Hauptkomponenten:
- Die .RSU-Datei
- Eine ASCII-Textdatei in einem bestimmten Format, die Installationsanweisungen enthält.
- RSUINST.EXE
- Das Programm, welches die Installationsanweisungen aus der .RSU-Datei interpretiert und diesen entsprechende Aktionen ausführt.
- FTPINSTL.EXE
- Ein Hilfsprogramm, daß zum Herunterladen von FixPak-Abbildern dient und das Fehlerkorrektur-Hilfsprogramm startet.
Wenn Sie in Ihrem Webbrowser auf einen Link zu einem RSU-FixPak klicken, lädt der Browser eine spezielle Skriptdatei herunter, deren Dateiname die Endung .RSU trägt. Sofern in Ihrem Browser der MIME-Typ RSU korrekt konfiguriert wurde, wird dadurch RSUINST.EXE aufgerufen.
RSUINST.EXE liest die Angaben aus der
.RSU-Datei und führt die darin
angegebenen Anweisungen entsprechend aus. Diese Anweisungen enthalten
im Wesentlichen Dinge wie stelle eine Verbindung zum FTP-Server
soundso her unter Verwendung des folgende Benutzernamen/Kennworts und
lade dann die folgenden Dateien herunter... packe sie aus, falls
nötig, und führe dann diese Befehle mit jenen Parametern aus
.
RSUINST.EXE überträgt (und entpackt) alle Dateien in das Verzeichnis \$RSUTMP$ des Laufwerks, welches Sie beim Start von RSU angeben. Danach wird der angegebenen Befehle ausgeführt und das Programm unmittelbar wieder beendet.
Bei Standard-FixPaks wird von RSUINST.EXE als einzige Datei CSF144.ZIP heruntergeladen, bei der er sich um eine spezielle Distribution des CSF handelt, die FTPINSTL.EXE und ein paar weitere Hilfsprogramme enthät. Nachdem diese Datei entpackt wurde, startet RSUINST.EXE das Programm FTPINSTL.EXE mit einem Parameter. Dieser Parameter ist eine Zeichenkette bestehend aus der Adresse eines FTP-Servers, einem Benutzernamen und Passwort sowie dem Namen des auf dem Server befindlichen Verzeichnis, in dem die FixPak-Dateien abgelegt sind. (Obwohl es meistens der Fall ist, muß das nicht unbedingt derselbe Server sein, den RSUINST.EXE zuvor verwendet hat.)
FTPINSTL.EXE meldet sich am FTP-Server an, wechselt in das angegebene Verzeichnis und sucht darin nach einer Datei namens FTPINSTL.ZIP, bei der es sich um eine spezielle ZIP-Datei handelt, die eine Liste der herunterzuladenden Dateien enthält. FTPINSTL.EXE lädt dann diese Dateien herunter, entpackt sie in seinem Arbeitsverzeichnis, führt einige Prüfungen durch und startet schließlich das Programm OS2SERV.EXE, welches als Frontend für das Fehlerkorrekturhilfsprogramm CSF agiert. Dieses führt dann letztendlich die eigentliche Installation des FixPak durch.
Nachdem das FixPak installiert wurde, erfolgt die Rückkehr von OS2SERV.EXE zu FTPINSTL.EXE, welches einige abschließende Aufräumarbeiten durchführt und mit seiner Beendigung die Verarbeitungskette schließt.
Nun, so sieht es im Prinzip aus. Lassen Sie uns nun die verschiedenen Komponenten im Detail anschauen.
Das .RSU-Dateiformat
Eine .RSU-Datei sieht ungefähr so aus:
INSTALL_TYPE=R INSTALL_PGM=ftpinstl.exe pristine INSTALL_PARMS=service.boulder.ibm.com anonymous pspdist@vnet.ibm.com ps/products/os2/rsu/xr_m015 FTP_SITE=service.boulder.ibm.com anonymous pspdist@vnet.ibm.com PKG_FILE={ NAME=ps/products/os2/rsu/csf144.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=5000000 MODE=B }
Die einzelnen Schlüsselwörter sind:
INSTALL_TYPE
- So weit ich weiß, sollte dies immer 'R' sein.
INSTALL_PGM
-
Damit wird RSUINST.EXE mitgeteilt, welches ausführbare Programm nach dem Herunterladen und Entpacken der Dateien gestartet werden soll. Für normale FixPaks sollte das ftpinstl.exe pristine sein. (Fragen Sie mich nicht, was 'pristine' bedeutet.)
Beachten Sie, daß Sie FTPINSTL.EXE nicht ausführen müssen - wenn Sie ein anderes Programm verwenden wollen, können Sie dieses angeben. (Im weiteren Verlauf werde ich hierzu einige Beispiele zeigen.)
INSTALL_PARMS
-
Hiermit werden die Befehlszeilenparameter angegeben, die beim Aufruf des durch
INSTALL_PGM
festgelegten Programms verwendet werden. Im Falle von FTPINSTL.EXE ist das eine Zeichenkette im Format<FTP-Server> <Benutzername> <Kennwort> <FTP-Verzeichnis>
mit der FTPINSTL.EXE mitgeteilt wird, wo sich die Dateien befinden, die herunter geladen werden sollen.
FTP_SITE
-
Eine Zeichenkette des Formats
<FTP-Server> <Benutzername> <Kennwort>
Wie bereits weiter oben beschrieben, lädt auch RSUINST.EXE Dateien herunter (nicht zu verwechseln mit den FixPak-Dateien, die von FTPINSTL.EXE heruntergeladen werden). Für diese FTP-Verbindung werden dann die hier gemachten Angaben verwendet.
PKG_FILE
-
Dies ist eine mehrzeilige Angabe zu einer Datei, die heruntergeladen worden sein muß, bevor das in
INSTALL_PGM
angegebene Programm ausgeführt werden kann. Der Parameter besteht aus einem einzelnen Paar geschweifter Klammern welches die folgenden Schlüsselwörter enthalten muß:NAME
- Der vollständig qualifizierte Dateiname (also inklusive Pfadangabe) der Datei auf dem FTP-Server.
UNZIP
- Gibt an, ob die Datei entpackt werden muß (
Y
) oder nicht (N
), nachdem sie heruntergeladen wurde. FILE_SIZE
- Die zur Speicherung der Datei benötigte freie Kapazität auf dem Ziellaufwerk.
UNZIPPED_SIZE
- Der freie Speicherplatz auf dem Ziellaufwerk, der zum Entpacken
der Datei nach dem Herunterladen benötigt wird. (Falls die
Datei nicht entpackt werden muß, können Sie hier denselben
Wert angeben wie für
FILE_SIZE
.) MODE
- Gibt an, ob die Datei binär (
B
) oder im ASCII-Modus (A
) übertragen werden soll.
Es können mehrere
PKG_FILE
-Definitionen angegeben werden, wenn mittels RSUINST.EXE mehrere Dateien heruntergeladen werden sollen.
RSUINST.EXE - der Ablauf
Nachdem RSUINST.EXE gestartet wurde, wird zuerst geprüft, ob eine gültige .RSU-Datei als Parameter an das Programm übergeben wurde. Fehlt dieser Parameter oder ist die Datei nicht gültig (weil z.B. nicht vorhanden), wird das Programm sofort beendet.
Nach erfolgreicher Initialisierung zeigt RSUINST.EXE einen Dialog an, mit dessen Hilfe der Anwender einige grundlegende Optionen auswählen kann, wie beispielsweise das Laufwerk zur Speicherung der Dateien und ob der Modus mit ausführlicher Protokollierung verwendet werden soll oder nicht. Die eigentliche Arbeit beginnt erst, nachdem der Anwender auf Begin geklickt hat
Abb. 1: Der RSUINST.EXE-Programmbildschirm
RSUINST.EXE verarbeitet dann die in der .RSU-Datei enthaltenen Angaben wie folgt:
- Herstellen einer Verbindung zu dem in
FTP_SITE
angegebenen FTP-Server (unter Verwendung des angegebenen Benutzernamens und Kennworts). - Jede mittels eines entsprechenden Eintrags
PKG_FILE
angegebene Datei wird übertragen, nachdem sichergestellt wurde, daß genügend freie Speicherkapazität vorhanden ist. Jede Datei mit einem EintragUNZIP=Y
wird dann im Anschluß entpackt. - Ausführen des in
INSTALL_PGM
festgelegten Programms mit den durchINSTALL_PARMS
angegebenen Parametern und Beendigung der Verarbeitung.
Alle heruntergeladenen und entpackten Dateien werden im Verzeichnis \$RSUTMP$ des vom Anwender vorgegebenen Laufwerks gespeichert.
FTPINSTL.EXE - der Ablauf
FTPINSTL.EXE lädt die eigentlichen FixPak-Dateien herunter, entpackt Sie und ruft dann OS2SERV.EXE auf, um die Installation des FixPaks zu initiieren. Auch bei diesem Programm werden dem Anwender zu Beginn ein paar Optionen angeboten.
Abb. 2: Der FTPINSTL.EXE-Programmbildschirm
Nach Klicken auf Begin stellt FTPINSTL.EXE eine Verbindung zum dem in den Parametern angegebenen FTP-Server her und verwendet zur Authentifizierung die ebenfalls in den Parametern enthaltenen Angaben zu Benutzername und Kennwort. Danach erfolgt ein Wechsel in das angegebene Verzeichnis und es wird nach einer Datei namens FTPINSTL.ZIP gesucht. Diese ZIP-Datei muß in dem FTP-Verzeichnis vorhanden sein und eine spezielle ASCII-Textdatei enthalten, die man als Tabellendatei bezeichnet.
Der Name der Tabellendatei muß dabei immer dem Format <fixpak>.TBL entsprechen, wobei <fixpak> der Name des FTP-Verzeichnis ist. Wenn das FTP-Verzeichnis beispielsweise /ps/products/os2/rsu/xr_m015 lautet, dann muß das ZIP-Archiv FTPINSTL.ZIP in diesem Verzeichnis eine Tabellendatei namens xr_m015.tbl enthalten.
Die Tabellendatei enthält eine Liste zusäztlicher ZIP-Dateien, die von FTPINSTL.EXE herunterzuladen und zu entpacken sind. Diese Dateien werden dabei im folgenden Format - jeweils immer in einer eigenen Zeile - aufgelistet:
<größe> <dateiname> [<prüfsumme>]
Hierbei steht <größe> für die Größe der Datei in Bytes und <dateiname> für den Namen der Datei. <prüfsumme> ist eine optionale Angabe. Dabei handelt es sich scheinbar um eine Art von Prüfsumme für die angebenene Datei, aber ich habe nicht herausbekommen können, um welche Art genau es sich handelt.
Die in der Tabellendatei angegebenen Dateien müssen sich im selben Verzeichnis befinden, ihre Größe in Bytes (und die Prüfsumme sofern angegeben) muß exakt dem entsprechen, was jeweils in der Tabellendatei angegeben ist. Außerdem muß der Dateiname jeweils einer bestimmten Nomenklatur entsprechen: Die einzelnen Dateinamen (ohne die Erweiterung .ZIP) müssen dem Namen des FTP-Verzeichnis entsprechen und dahinter und zusätzlich ein einziges alphanumerisches Zeichen tragen. Um unser vorheriges Beispiel wieder aufzugreifen, müßte also in einem FTP-Verzeichnis namens /ps/products/os2/rsu/xr_m015 die weiteren ZIP-Dateien Namen tragen, die dem Muster xr_m015?.zip entsprechen, wobei ? entweder eine Ziffer von "1" bis "9" oder ein Buchstabe von "a" bis "z" ist.
Wenn eine dieser Bedingungen nicht eingehalten wurde, wird das Herunterladen von FTPINSTL.EXE abgebrochen, und es erscheint eine Fehlermeldung mit Bezug auf eine fehlerhafte Tabellendatei.
FTPINSTL.ZIP kann auch eine Datei namens README.1ST enthalten. In diesem Fall bietet FTPINSTL.EXE die Möglichkeit, diese Datei anzuzeigen (durch Aufruf von E.EXE) während die weiteren ZIP-Dateien heruntergeladen werden.
Sobald alle Dateien heruntergeladen und entpackt wurden, ruft FTPINSTL.EXE das Programm OS2SERV.EXE auf, welches ein graphisches Front-End für CSF ist (und ein weiteres Programm, das in CSF144.ZIP enthalten ist) und den Anwender durch die eigentliche Installation des FixPaks begleitet.
Einrichtung eines RSU-Servers
Nun, da wir mehr oder weniger wissen, wie RSU unter der Haube funktioniert, können wir unsere eigene RSU-Umgebung einrichten. Dazu müssen wir einige Sachen in Angriff nehmen:
- Das Anlegen der .RSU-Dateien und die Einrichtung einer Website, über die diese erreichbar sind.
- Die Einrichtung eines FTP-Servers zur Bereitstellung der verschiedenen herunterladbaren Dateien (sowohl die Hilfsprogramme als auch die FixPaks selbst).
- Das Umwandeln der FixPak-Abbilddateien in ZIP-Dateien.
- Das Einrichten der FixPak-Verzeichnisse auf dem FTP-Server, einschließlich der Tabellendateien für die einzelnen FixPaks.
Erstellen der .RSU-Dateien
Das Format der .RSU-Dateien habe ich bereits erläutert. Für die meisten Zwecke reicht es, sich eine Dateivorlage zu erstellen und diese (mit minimalen Modifikationen) für jedes FixPak zu kopieren, das RSU-fähig gemacht werden soll.
Lassen Sie uns für's erste einmal annehmen, daß wir es nur
mit Standard-FixPaks zu tun haben werden (also durch CSF installierte).
In diesem Fall werden Sie FTPINSTL.EXE als
Endpunkt-Programm verwenden (festgelegt mit INSTALL_PGM
).
Beachten Sie das folgende Beispiel:
INSTALL_TYPE=R INSTALL_PGM=ftpinstl.exe pristine INSTALL_PARMS=192.168.107.66 anonymous user@host.rsu os2_fixpak/******* FTP_SITE=192.168.107.66 anonymous user@host.rsu PKG_FILE={ NAME=os2_fixpak/csf144.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=5000000 MODE=B }
Der einzige Teil, den ich für gewöhnlich zu ändern
brauche, ist "*******" (der FixPak-Verzeichnisname) im Eintrag
INSTALL_PARMS
.
Die Einträge in der .RSU-Datei, auf die man aufpassen muß (beim Erstellen einer Dateivorlage), sind:
INSTALL_PARMS
-
Stellen Sie sicher, daß Sie hier die Adresse des FTP-Servers angeben, auf dem Sie die (mit ZIP gepackten) FixPak-Dateien ablegen werden. Geben Sie hier auch den korrekten Benutzernamen und Kennwort an (ein anonymes Login wird empfohlen, sofern Ihr FTP-Server dies unterstützt). Im großen und ganzen werden diese Angaben für alle FixPaks gleich sein. Der einzige abweichende Teil wird wahrscheinlich nur der Verzeichnisname am Ende der Zeile sein.
Hier sind einige Beispiele von meinem RSU-Server:
- xr_m015.rsu (Warp 4 FixPak 15):
INSTALL_PARMS=192.168.107.66 anonymous user@host.rsu os2_fixpak/xr_m005
- xr_d001.rsu (Device Driver FixPak 3):
INSTALL_PARMS=192.168.107.66 anonymous user@host.rsu os2_fixpak/xr_d003
- ip_8414.rsu (Peer 4.0 FixPak IP_8414):
INSTALL_PARMS=192.168.107.66 anonymous user@host.rsu os2_fixpak/ip_8414
Ansonsten sind die Dateien alle identisch mit der obigen Vorlage.
FTP_SITE
- Geben Sie die Adresse (und die Logindaten) des FTP-Servers an, auf sich die Zip-Datei des CSF befindet. Diese können Sie entweder auf Ihrem eigenen Server bereitstellen oder dafür sogar auf IBMs FTP-Server verweisen, dessen Adresse service.boulder.ibm.com lautet und der ein anonymes Login benutzt.
PKG_FILE
- Dieser Eintrag muß exakt auf die CSF-ZIP-Datei verweisen. Sie
können die Werte aus dem obigen Beispiel verwenden; ändern
Sie dabei aber den Parameter
NAME
so ab, daß er auf den korrekten Pfad- und Dateinamen auf Ihrem FTP-Server verweist (oder auf ps/products/os2/rsu/csf144.zip wenn Sie statt dessen zu IBM's FTP-Server umleiten wollen).
Nachdem Sie die .RSU-Dateien erstellt haben, müssen Sie diese noch für Web-Browser-Zugriff durch den/die Anwender verfügbar machen. Eine beliebige Webseite reicht dafür aus - sie sollte jeweils eine HTML-Verknüpfung für die Dateien enthalten..
Eine RSU-Web-Seite sollte außerdem auch eine Verknüpfung zum Programm RSUINSTN.EXE haben (das Sie hier herunterladen können) und vielleicht noch Installationsanweisungen dazu, damit Anwender ihr System gegebenenfalls entsprechend einrichten können. Da IBM's alte RSU-Webseite diese Anweisungen nicht mehr enthält, habe ich eine entsprechende Textdatei zusammengestellt, welche die nötigen Schritte beschreibt.
Einrichtung des FTP-Servers
Als nächstes benötigen Sie einen FTP-Server, auf dem die Fixpak-Dateien selbst bereitgestellt werden können. Leider erfordert sowohl RSUINST.EXE als auch FTPINSTL.EXE zwingend das FTP-Protokoll zum Herunterladen von Dateien. Web-basiertes Datei-Hosting via HTTP reicht also nicht aus.
Wenn Sie selbst den Server kontrollieren, können Sie Ihr bevorzugtes FTP-Serverprogramm verwenden. Ich empfehle hierfür eines, das anonymes Login unterstützt, ansonsten müßten Sie einen realen Benutzernamen inklusive des Kennworts in die .RSU-Dateien eintragen. Wenn der FTP-Server jemand anderem gehört (beispielsweise Ihrem ISP, einer Firma oder einer Institution) sollten Sie sicherstellen, daß es Ihnen gestattet ist, die FixPaks dort bereitzustellen. Desweiteren sollte der Server über eine ziemlich schnelle Netzwerkanbindung verfügen da FixPaks dazu neigen, Downloads von beträchtlichem Umfang darzustellen.
ZIP-Dateien erzeugen
FixPak-Dateien werden gewöhnlich als Diskettenabbilder in Form binärer Dateien verteilt. Da wir aber ZIP-Dateien benötigen, müssen Sie also nun aus jeder Abbilddatei eine entsprechende ZIP-Datei erstellen. Dazu verwenden Sie ein Hilfsprogramm wie DSKXTRCT (erhältlich bei Hobbes), um die Abbilddateien zunächst zu entpacken. Danach benutzen Sie einfach ZIP.EXE oder ein gleichwertiges Programm, um die ZIP-Datei zu erstellen.
Das weiter unten abgebildete DSK2RSU.CMD demonstriert übrigens eine automatisierte Methode hierfür.
Anlegen der FixPak-Verzeichnisse
Legen Sie die ZIP-Dateien jeweils in den entsprechend benannten Verzeichnissen des FTP-Servers ab. Als nächstes müssen nun die speziellen FTPINSTL.ZIP-Dateien in denselben Verzeichnissen angelegt werden.
FTPINSTL.ZIP muß dabei die Tabellendatei <name>.TBL enthalten, wobei <name> wieder einmal dem Namen des FTP-Verzeichnisses entspricht. Die Datei, deren Format bereits oben erläutert wurde, enthält eine Liste der ZIP-Dateien des FixPak sowie deren jeweiliger Größe (in Byte).
FTPINSTL.ZIP sollte darüber hinaus auch die Datei README.1ST enthalten, die mit dem FixPak geliefert wurde (alle FixPaks beinhalten eine Datei diesen Namens).
Das im nächsten Abschnitt beschriebene REXX-Skript erstellt die FTPINSTL.ZIP für Sie automatisch.
DSK2RSU.CMD
All diese ZIP-Dateien entsprechend und im korrekten Format anzulegen kann mühsam und knifflig werden. Daher habe ich ein einfaches REXX-Skript geschrieben, das diesen Prozeß automatisiert. Das Skript heißt DSK2RSU.CMD und setzt voraus, daß Sie sowohl ZIP.EXE als auch DSKXTRCT.EXE über die Umgebungsvariable PATH aufrufbar installiert haben.
DSK2RSU.CMD ist hier vervfügbar. Um das Skript verwenden zu können, tun Sie folgendes:
- Legen Sie ein temporäres Verzeichnis mit einem Namen an, der das FixPak beschreibt. Wichtig: Der Name dieses temporären Verzeichnis wird verwendet, um alle von RSU verwendeten Datei- und Verzeichnisnamen für dieses FixPak zu erzeugen. Stellen Sie also sicher, daß der Name aussagekräftig ist. (Es werden nur die ersten sieben Zeichen des Namens verwendet.
- Besorgen Sie sich die Diskettenabbilder für das FixPak, daß Sie RSU-fähig machen wollen und legen Sie diese gemeinsam in dem temporären Verzeichnis ab.
-
Geben Sie dann folgende Befehl ein:
DSK2RSU <verzeichnisname>
<verzeichnisname> ist dabei der Name des Verzeichnisses, das die Diskettenabbilder enthält.
DSK2RSU.CMD macht folgendes:
- Es wandelt alle Diskettenabbilder in ZIP-Dateien um.
- Es erstellt die FixPak-Tabellendatei (.TBL) mit den korrekten Dateiangaben.
- Es erstellt die Datei FTPINSTL.ZIP, in der neben der Tabellendatei auch die Datei README.1ST enthalten ist, sofern eine Datei dieses Namens im Abbild der ersten FixPak-Diskette enthalten war.
- Es legt alle erzeugten ZIP-Dateien gemeinsam in einem neuen Unterverzeichnis ab, dessen Name der zuvor beschriebenen Nomenklatur entspricht.
Das neuangelegte Verzeichnis kann nun von Ihnen direkt in den entsprechenden Pfad Ihres FTP-Servers verschoben werden und schon sollte das FixPak bereit sein für Installationen über RSU (sobald Sie eine entsprechende .RSU-Datei angelegt haben natürlich).
Beispiel
Nehmen wir einmal an, ich möchte das Warp 4 Peer FixPak IP_8414 zur Installation über RSU bereitstellen. Wir nehmen weiterhin an, daß ich dazu den eingangs bereits erwähnten internen FTP-Server (IP-Adresse 192.168.107.66) verwenden möchte.
Dafür lege ich zunächst die Datei IP_8414.RSU an und mache diese auf irgendeiner Webseite verfügbar:
INSTALL_TYPE=R INSTALL_PGM=ftpinstl.exe pristine INSTALL_PARMS=192.168.107.66 anonymous user@host.rsu os2_fixpak/ip_8414 FTP_SITE=192.168.107.66 anonymous user@host.rsu PKG_FILE={ NAME=os2_fixpak/csf144.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=5000000 MODE=B }
Als nächstes muß ich nun die FixPak-Dateien selbst anlegen. Dazu besorge ich mir also die FixPak-Diskettenabbilder von IBM und lege diese alle in einem temporären Verzeichnis (z.B. D:\tmp\ip_8414) ab:
Directory of D:\tmp\ip_8414
4-21-05 10:45a <DIR> 0 ---- .
4-21-05 10:45a <DIR> 1,323 ---- ..
1-09-01 10:02a 1,472,041 0 a--- IP08414.1DK
1-09-01 10:02a 1,472,041 0 a--- IP08414.2DK
1-09-01 10:02a 1,472,041 0 a--- IP08414.3DK
1-09-01 10:02a 1,472,041 0 a--- IP08414.4DK
1-09-01 10:02a 866,345 0 a--- IP08414.5DK
7 file(s) 6,754,509 bytes used
983,244,800 bytes free
Jetzt stelle ich sicher, daß ZIP.EXE, DSKXTRCT.EXE und DSK2RSU.CMD alle über die Verzeichnisse in der Umgebungsvariable PATH meines Systems erreichbar sind und starte dann die Konvertierung.
[D:\]dsk2rsu d:\tmp\ip_8414
Processing 5 diskette images in D:\TMP\IP_8414.
Unpacking D:\TMP\IP_8414\IP08414.1DK ... OK
Unpacking D:\TMP\IP_8414\IP08414.2DK ... OK
Unpacking D:\TMP\IP_8414\IP08414.3DK ... OK
Unpacking D:\TMP\IP_8414\IP08414.4DK ... OK
Unpacking D:\TMP\IP_8414\IP08414.5DK ... OK
Creating ip_84141.zip ... OK
Creating ip_84142.zip ... OK
Creating ip_84143.zip ... OK
Creating ip_84144.zip ... OK
Creating ip_84145.zip ... OK
Writing ip_8414.tbl ...
Creating ftpinstl.zip ...
Done.
RSU files have been placed under D:\TMP\IP_8414\IP_8414.
Jetzt kann ich einfach das Ausgabeverzeichnis in das FTP-Verzeichnis verschieben.
[D:\]move D:\tmp\ip_8414\ip_8414 \FTPServ\ftp\os2_fixpak
Wichtige Hinweise
Der häufigste Fehler bei der Einrichtung eines RSU-Server besteht darin, daß einer der Datei- oder Verzeichnisnamen fehlerhaft ist. FTPINSTL.EXE ist sehr wählerisch, und wenn Sie es versäumen, alle Ihre Dateien und Verzeichnisse genau so zu benennen, daß Sie der korrekten Formel entsprechen, wird die FixPak-Installation scheitern.
Rekapitulieren wir also nochmals die Benennungsformeln:
- Die ZIP-Dateien des FixPak müssen denselben Namen (einschließlich der Groß-/Kleinschreibung) haben wie das Verzeichnis, in dem sie sich befinden, zuzüglich eines weiteren kleingeschriebenen Zeichens dahinter und unmittelbar vor der Dateinamenerweiterung, die .ZIP zu lauten hat. ('1' steht dabei für die erste Datei, '2' für die zweite, 'a' für die zenhte, 'b' für die elfte, 'g' für die sechzehnte und so weiter.)
-
Das FixPak-Verzeichnis muß außerdem eine Datei namens FTPINSTL.ZIP enthalten, welche wiederum folgendes enthalten muß:
- Eine ASCII-Tabellendatei mit demselben Namen wie das Verzeichnis
zuzüglich der Erweiterung .TBL.
Diese Datei enthält eine Liste aller FixPak ZIP-Dateien (mit
korrekter Groß-/Klein-Schreibweise) die heruntergeladen
werden sollen - jeweils eine Datei pro Zeile im Format
größe dateiname
(und optional einer jeweiligen Prüfsumme). - Eine ASCII-Datei namens README.1ST, die der Anwender auf Wunsch einsehen kann, während die ZIP-Dateien heruntergeladen werden.
Die Groß-/Kleinschreibung ist weder beim Dateinamen FTPINSTL.ZIP noch bei den beiden enthaltenen Dateien von Bedeutung. Dies ist allerdings der Fall bei den Dateinamen, die in der Tabellendatei (.TBL) angegeben sind.
- Eine ASCII-Tabellendatei mit demselben Namen wie das Verzeichnis
zuzüglich der Erweiterung .TBL.
Diese Datei enthält eine Liste aller FixPak ZIP-Dateien (mit
korrekter Groß-/Klein-Schreibweise) die heruntergeladen
werden sollen - jeweils eine Datei pro Zeile im Format
Einige neuere FixPaks - speziell im Bereich Netzwerke - werden nicht mehr als Diskettenabbilder sondern in Form von ZIP-Dateien bereitgestellt. In einigen Fällen können Sie diese ZIP-Dateien einfach gemäß der beschriebenen Namenskonventionen umbenennen, damit diese mit RSU installierbar sind (solange Sie die Tabellendatei usw. korrekt erstellen). Allerdings unterliegt FTPINSTL.EXE scheinbar einer Beschränkung der durch es verarbeitbaren Dateien (bei deren Überschreitung ein Abbruch während des Herunterladens auftritt). Der exakte Grenzwert ist mir nicht bekannt, aber er scheint bei einer Größe von etwas mehr als 3 MB zu liegen. Wenn das FixPak also in einer ZIP-Datei von mehr als 3 MB geliefert wird, sollten Sie diese in mehrere Archive aufteilen (und dabei natürlich wieder auf die Einhaltung der besagten Namenskonventionen achten).
Ohne FTPINSTL.EXE
Da es auf die Installation von Standard-FixPaks ausgelegt ist, interagiert FTPINSTL.EXE automatisch mit dem Corrective Service Facility. Was passiert nun, wenn Sie etwas installieren wollen, das sich zur Installation nicht des CSF bedient?
Wie bereits weiter oben beschrieben, ist es durchaus möglich, ein
anderes Programm als FTPINSTL.EXE im Parameter
INSTALL_PGM
der .RSU-Datei
anzugeben.
Nehmen wir zum Beispiel an, Sie möchten das Upgrade auf MPTS 5.5 installieren (wird als WR_8610 bereitgestellt). Da es sich hierbei um ein vollwertiges Produkt handelt, welches das vorherige vollständig ersetzt, ist es technisch gesehen alles andere als ein FixPak und wird auch nicht mittels CSF installiert, sondern bringt sein eigenes Installationsprogramm (MPTS.EXE) mit.
Hier ist meine .RSU-Datei für WR_8610:
INSTALL_TYPE=R INSTALL_PGM=mpts.exe INSTALL_PARMS= FTP_SITE=192.168.107.66 anonymous user@host.rsu PKG_FILE={ NAME=os2_fixpak/wr_8610/wr_86101.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=3000000 MODE=B } PKG_FILE={ NAME=os2_fixpak/wr_8610/wr_86102.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=3000000 MODE=B } PKG_FILE={ NAME=os2_fixpak/wr_8610/wr_86103.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=3000000 MODE=B } PKG_FILE={ NAME=os2_fixpak/wr_8610/wr_86104.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=3000000 MODE=B } PKG_FILE={ NAME=os2_fixpak/wr_8610/wr_86105.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=3000000 MODE=B } PKG_FILE={ NAME=os2_fixpak/wr_8610/wr_86106.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=3000000 MODE=B } PKG_FILE={ NAME=os2_fixpak/wr_8610/wr_86107.zip UNZIP=Y FILE_SIZE=1500000 UNZIPPED_SIZE=3000000 MODE=B }
Es gibt hier nun drei Unterschiede zu meinen Dateien für Standard-Fixpaks.
Zuerst einmal ist INSTALL_PGM
jetzt
MPTS.EXE - das Programm, mit dem die Installation
der aktualisierten MPTS-Version durchgeführt wird. Da es keine
Parameter verwendet, kann die Zeile INSTALL_PARMS
in diesem
Fall leer bleiben. Da ich FTPINSTL.EXE nun also
nicht benutze, kann ich es auch nicht zum Herunterladen der eigentlichen
Produktdateien verwenden und muß stattdessen direkt auf
RSUINST.EXE vertrauen. Damit das klappt, werden
für jede benötigte Datei entsprechende PKG_FILE
Anweisungen verwendet.
Genau genommen kann man RSU dazu verwenden, Programme zu laden und zu starten, die im Grunde gar nichts mit FixPak-Installationen zu tun haben. Wenn ich beispielsweise einem Besucher meiner Webseite ermöglichen möchte, das REXX-Skript (TEST.CMD) herunterzuladen und auszuführen - beispielsweise zu Testzwecken - kann ich dafür eine Verknüpfung zu einer .RSU-Datei wie der folgenden verwenden:
INSTALL_TYPE=R INSTALL_PGM=test.cmd INSTALL_PARMS=/v FTP_SITE=192.168.107.66 anonymous user@host.rsu PKG_FILE={ NAME=support/test.cmd UNZIP=N FILE_SIZE=12000 UNZIPPED_SIZE=12000 MODE=A }
Wußten Sie, daß es wahrscheinlich weniger komplizierte Arten gibt, das zu bewerkstelligen?