7-zip

提供:maruko2 Note.
移動: 案内, 検索

Windows 用の高機能な圧縮解凍ソフトウェア(オープンソース、フリーウェア)

UNIX/Linux へ移植された p7zip がある。


目次

7-zip

サポートしている形式
圧縮/解凍: 7z, ZIP, GZIP, BZIP2, TAR
解凍のみ: RAR, CAB, ISO, ARJ, LZH, CHM, Z, CPIO, RPM, DEB, NSIS

自己解凍形式も作成可能。


p7zip

ソースコード
http://jaist.dl.sourceforge.net/sourceforge/p7zip/p7zip_4.55_src_all.tar.bz2

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 -


圧縮率、圧縮時間の比較

形式 サイズ 圧縮率 時間
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
このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数