RHEL9ではunzip
コマンドがデフォルトで入っていない。
最小構成で環境を構築した場合、ZIPファイルを展開しようとして
「unzip: command not found」と表示されて困ることがある。
とはいえ、Pythonが入っていれば問題ない。
標準ライブラリのzipfile
モジュールを使えば、追加パッケージなしでZIPを解凍できる。
Pythonワンライナーで解凍する
最も手軽なのが以下のコマンドだ。
python3 -m zipfile -e sample.zip ./unzipped
-e
は「extract(展開)」を意味する。
このコマンドを実行すると、sample.zip
の中身が./unzipped
ディレクトリに展開される。
ディレクトリが存在しない場合は自動で作成される。
解凍後の確認
ls ./unzipped
これで中身が展開されていれば成功。
特にサーバー用途など、余計なパッケージを入れたくない環境では非常に便利だ。
まとめ
unzip
がなくてもPython標準機能で解凍可能- コマンドは一行だけ
- 追加インストール不要で最小構成でも動作する
RHEL9などのクリーン環境でZIPを解凍する場合、
この方法を覚えておくと地味に役立つ。