»

GZIP(ファイル圧縮ツール)

By 神居 - Posted: 2011/07/27 Last updated: 2011/07/27 - Leave a Comment

GZIP(GNU zip)は、Unix系システムで主として使われているファイル圧縮ツールの1つです。Unix系以外にもWindowsでも利用可能です。メインフレーム用OSのMVS用にも実行可能なバイナリープログラムが配布されています。MVSでは順次編成データセットでしか利用できませんが、UnixやWindowsとの間での大容量ファイル交換が多い場合、転送ファイルの圧縮ツールとして利用することができます。

MVS用にはxmit形式にパックされたロードモジュールで配布されています。配布元サイト:The GZIP home page
表示されたサイトのページ(Executables)にある「MVS」をクリックすると、zipファイルのダウンロードが始まるので、デスクトップなど適当なフォルダに置きます。
解凍後、zipファイル内にあるgzip123.binをMVS側にFTPなどで、バイナリーアップロードします。格納先データセットはFB/3120/80のレコード長で作成しておきます。


プログラムの登録

//RECEIVE  EXEC PGM=IKJEFT01
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSUT1   DD DISP=SHR,DSN=TEMP.XMIT(GZIP123)
//SYSTSIN  DD *
 RECEIVE INDD(SYSUT1)
 RESTORE DSNAME('GZIP.LOAD')
//

アップロードしたxmit形式のロードモジュールを復元します。ロードモジュールの登録先は任意です。APF許可は必要ありません。


データセットの圧縮

//GZIP     EXEC PGM=GZIP123,
//         PARM='-afv TEST.OUTPUT'
//

データセット「userid.TEST.OUTPUT」を圧縮します。-aは、内容がテキストファイルであることを意味します(行末の改行コードの取扱いが入る)。-fは、出力ファイルの上書き指定、-vは、圧縮処理の結果表示に関するオプションです。
処理が完了すると入力元のデータセットは削除され、圧縮されたファイルは「userid.TEST.OUTPUT.GZ」というデータセットで作成されます。このデータセットをUnixやWindowsシステムに転送すれば、相手側のGZIPによって復元できます。


データセットの復元

//GZIP     EXEC PGM=GZIP123,
//         PARM='-adv TEST.OUTPUT.TXT.GZ'
//

データセット「userid.TEST.OUTPUT.TXT.GZ」を復元します。-dは、処理内容が復元であることを示します。
処理が完了すると入力元のGZデータセットは削除され、復元されたファイルは「userid.TEST.OUTPUT.TXT」というデータセットで作成されます。復元機能を使えば、UnixやWindowsシステムでGZIP圧縮されたファイルをMVS側のデータファイルとして利用することもできます。
なお、GZIPでは日本語が処理できなかったはずなので、日本語を含むデータファイルの場合、注意が必要です。

オプション・リストの表示

//GZIP     EXEC PGM=GZIP123,PARM='-h'
//

PARMパラメーターで指定する各種オプションについてのヘルプ表示です。使用にあたっては一度参照しておくといいでしょう。


MVS間でのデータ交換の場合にも利用できますが、その場合はz/OS標準提供のAMATERSEユーティリティーの方がいいでしょう。AMATERSEなら区分データセットも直接処理できます。AMATERSEは以前TRSMAINという名前で提供されていたツールプログラムですが、z/OS V1R9以降サービスエイドの1つとして組み込まれています。関連記事はこちら:TRSMAIN(圧縮ツール)

Posted in 関連ソフト、フリーウェア • • Top Of Page