7-zip
提供:maruko2 Note.
Windows 用の高機能な圧縮解凍ソフトウェア(オープンソース、フリーウェア)
UNIX/Linux へ移植された p7zip がある。
- p7zip [sourceforge.net]
目次 |
7-zip
- サポートしている形式
- 圧縮/解凍: 7z, ZIP, GZIP, BZIP2, TAR
- 解凍のみ: RAR, CAB, ISO, ARJ, LZH, CHM, Z, CPIO, RPM, DEB, NSIS
自己解凍形式も作成可能。
p7zip
OS ごとの makefile.xxxxx を makefile.machine という名前にコピーし、make する。 make TARGET でビルド内容を変えることができる(README 参照)
make 空白 の場合、7za バイナリのみビルドする。
- 7za
- バイナリ単体で実行可能。
- 7z
- 実行にライブラリ(lib/p7zip)が必要。プラグインで拡張できる。
install.sh を実行すると、ビルドしたバイナリがインストール(コピー)される。いわゆる prefix は install.sh を書き換えることで可能。デフォルトでは DEST_HOME=/usr/local になっている。
Mac OS X で 7za をビルドする
cp makefile.macosx makefile.machine make sudo ./install.sh
7za の使い方 (7z でも同じ。)
圧縮し解凍すると UID/GID が含まれない。ただし、パーミッションやタイムスタンプは維持される。
圧縮後の .7 ファイルのパーミッションは 500 になる。
- 書式
7za <command> [<switches>...] <archive_name> [<file_names>...]
- ファイルを圧縮
7za a archive.7z file1 file2 file3
- ディレクトリを圧縮
7za a archive.7z dir
- 解凍
7za x archive.7z
- UID/GID を維持しディレクトリを圧縮&解凍
- 1. tar でアーカイブ化しパイプで 7za にわたす。
- 2. 7za では -si スイッチ(stdinから読み込む)を付けて圧縮する。
-
tar cf - DIR | 7za a -si archive.7z
- 3. -soスイッチ(stdoutする)を付けて解凍し、tar にわたす。
-
>7za x -so archive.7z | tar xf -
圧縮率、圧縮時間の比較
- 約100MB のテキストファイル
- Mac OS X 10.4 Intel で測定。
- sitx: Mac OS X 版 DropStuff 11.0.2 (Intel Build 627) 圧縮率優先
| 形式 | サイズ | 圧縮率 | 時間 |
| TEXT | 104.4MB | ||
| gz | 5.7MB | 5.5% | 4s |
| 7z | 3.5MB | 3.4% | 38s |
| bzip2 | 3.0MB | 2.8% | 70s |
| sitx | 2.3MB | 2.2% | 7s |