UNIX/Linuxの部屋 unzipsfxコマンドの使い方

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド unzipsfx 自己解凍形式の ZIP ファイルを作成するための実行イメージ このエントリーをはてなブックマークに追加

unzipsfx は、コマンドとして使うものではなく、zip ファイルとくっつけて自己解凍方式のファイルを作成するためのバイナリイメージである (とはいえ、一応単体で実行はできるが、実行しても意味はない)。

通常の ZIP 形式が既にあるとして、そのファイルを自己解凍方式するためには、以下のようにする。
% zip example.zip file1.txt file2.txt ...
⇒ example.zip を生成
% cat /usr/local/bin/unzipsfx example.zip > self-extract
⇒ 自己解凍バイナリ部分に ZIP ファイルをくっつけて、自己解凍 ZIP ファイルを生成
% zip -A self-extract
⇒ zip -A でデータの長さを表すヘッダを調整する。

これを UNIX/Linux 環境にて実行するには
% chmod +x self-extract
⇒ 実行可能なよう、パーミッション設定
% ./self-extract
inflating: file1.txt
inflating: file2.txt
⇒ 実行すると展開できた
とする。

とはいえ、UNIX/Linux 用の自己解凍ファイルを作ってもあまりうれしくない。これが役立つのは Windows・DOS など、他環境での自己解凍 EXE ファイルを生成するときだ。

UNIX/Linux における zip/unzip コマンドは Info-ZIP というグループが開発・配布している。Info-ZIP は UNIX 版だけではなく Windows など各種 OS 用の zip/unzip も配布している。

Windows/DOS 環境で実行できる自己解凍 ZIP ファイルを作成したい場合、Info-ZIP が配布している Windows 用の unzip パッケージ内に、unzipsfx.exe が含まれている (Windows 用 unzip は、ベクターなどで Info-UNZIP として配布されている)。

この unzipsfx.exe を UNIX 環境にコピーし、zip ファイルと結合することで、Windows/DOS 環境で使用可能な自己解凍形式の ZIP ファイルを作成できる。
% cat unzipsfx.exe example.zip > example-extract.exe
% zip -A example-extract.exe