curl – IBM i Fixpacks herunterladen leicht gemacht

3. Mai 2017 | Von | Kategorie: Programmierung, Systemmanagement

Wer hat sich nicht schon einmal darüber geärgert, wenn der FTP Download von großen Dateien, wie PTF Packages, auf das IBM i System abbricht und nichts anderes übrig bleibt, als das unvollständige File komplett neu zu laden.

von Dr. Wolfgang Rother

Das mit IBM i 7.3 TR2 in 5733-OSP kostenfrei verfügbare Open Source Produkt curl schafft nun Abhilfe. curl steht für „Client for URL“ und kann sowohl für den Download als auch den Upload von Dateien über eine Vielzahl von Protokollen, u.a. auch FTP, genutzt werden. Nachfolgend ein Beispiel:

Nach der Bestellung in IBM Fix Central erhält man bekanntermaßen eine Nachricht mit Download Informationen per email. (siehe txt rechts)
Bisher hat man nun per FTP die Dateien einzeln mit get oder das Verzeichnis insgesamt mit mget geladen. Komfortabler geht es mit Workstation Tools wie FileZilla, welche auch zusammen mit IFS Netzlaufwerken genutzt werden können. Vorteile sind z.B. eine graphische Benutzeroberfläche und das Fortsetzen der Downloads nach Abbrüchen. Nachteilig ist der doppelte Datentransfer über das Netzwerk, da der Transfer immer über die Workstation erfolgt. (siehe Abb. 1)

Abbildung 1

Mit curl steht nun ein Tool in der QShell auch in einer 5250 Session zur Verfügung. Nach dem Start der ­QShell mittels qsh wählt man zunächst das Verzeichnis, welches später für den Image Catalog verwendet werden soll. Nun kann der Download einzelner Dateien mit curl erfolgen, wobei im Normalmodus Informationen zum Download angezeigt werden.

Mit der Option „-O“ und Angabe der URL wird ein Kopieren und lokales Speichern des Zieles der URL requestiert. Anmeldeinformationen können durch Angabe von „-u“, gefolgt von Namen und Passwort getrennt durch einem Doppelpunkt, angegeben werden. Obwohl in diesem Beispiel Benutzer und Kennwort im Klartext angegeben und auch so übermittelt wurden, sind Sicherheitsbedenken für den Downloads von Fixpacks eher als unkritisch anzusehen.
Die Option „-C –„ repräsentiert den Wunsch nach Fortführung des Downloads an der Stelle in der Datei, an der zuvor ein Abbruch erfolgte. Zu Beginn eines Downloads kann dies natürlich weggelassen werden.

Beendet man zum Beispiel die QShell Session mit <F3> erfolgt ebenfalls ein Abbruch des FTP Datentransfers. Im unteren Bild kann man erkennen, dass die Datei SF99225_1.bin bereits teilweise geladen wurde und nach erneutem Start von curl nur noch die „restlichen“ Bytes, wie in Spalte „Total“ zu erkennen, herunter geladen werden. Statt 3714 MB sind nur noch 3605 MB der Datei SF99225_1.bin zu übertragen, da der Download von 114786304 Bytes, also 109 MB, bereits erfolgt ist. (siehe Abb. 2)

Abbildung 2

Diese Befehle können selbstständig, wie in Unix üblich, mit einem „&“ am Ende des Befehls als Hintergrundprozesse gestartet werden, so dass der Download auch nach Schließen der 5250 Session fortgesetzt wird. Alternativ kann mittels Shell Skripten die Ausführung über in einem Batchprozess erfolgen. Um Ausgaben zu unterdrücken sollte zusätzlich der Schalter „-s“ für „silent“ verwendet werden. (siehe Abb. 3 & 4)

Abbildung 3

Abbildung 4

Erstellt man zum Beispiel die Datei curl_test_1.sh kann diese danach über SMBJOB gestartet werden.
Ein paralleler Download mehrerer Dateien ist so ebenfalls möglich.

curl ist ein vielseitiges Werkzeug mit jeder Menge Optionen, die allerdings von der jeweiligen Version und Implementierung abhängig sein können. Eine vollständige Beschreibung findet man unter
https://curl.haxx.se/

Für Anwender mit IBM i 7.3 existiert ein noch eleganterer Weg, den Dawn May1 in ihrem Blog beschrieben hat.
Nach der Konfiguration einer „Universal Connection“ zum IBM Service mittels dem Navigator for i, können Group PTF automatisch auf ein System geladen werden. (siehe Abb. 5)

Abbildung 5

Danach genügt es mit ­CHGSRVA den Wert ORDPTFAUTO auf *YES zu ändern. Dies erstellt einen neuen Eintrag QORDPTFGRP in der Job Scheduler Liste. (siehe Abb. 6)

Abbildung 6

Über den Parameter ­INSPTFDEV im Befehl PWRDWNSYS kann zusätzlich festgelegt werden, ob vor dem Abschalten des Systems PTFs installiert werden sollen.
Das manuelle Starten der PTF Installation steht natürlich weiterhin zur Verfügung.

Über den Autor

Dr. Wolfgang Rother

Dr. Wolfgang Rother arbeitet als Senior IT Specialist Power Systems bei IBM, sein Spezialgebiet ist IBM i. Zu dieser Thematik hat er bereits zahlreiche Fachbeiträge veröffentlicht. Zudem engagiert sich Dr. Rother mit der IBM Academic Initiative dafür, IT-Fachkräftenachwuchs für den Bereich Power Systems zu gewinnen. Dieses Ziel unterstützt er unter anderem mit seiner Tätigkeit als Dozent an verschiedenen Universitäten und Hochschulen.

Schlagworte: , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.