それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

圧縮について

圧縮について、調べたら試験運用中なLinux備忘録さんのところのまとめが秀逸だった。
なので、勉強がてらひとつのエントリにまとめて見た。

lzma について

lzma 系のツールは bzip よりも圧縮率がよいLZMAアルゴリズムを採用したコマンド群。ただし、XZ Utilsに置き換えられつつある。
LZMA圧縮されたファイルの扱いについて - 試験運用中なLinux備忘録

XZ utils

LZMA形式を扱うコマンドはXZ Utils内のコマンドxzへのシンボリックリンクになっている

  • 平均的な圧縮率はgzipと比べて30%、bzip2と比べて15%改善される*3
  • 伸長速度はgzipより遅くなるがbzip2よりは2-5倍高速
  • 圧縮率を最高にしたときの圧縮は遅く、bzip2の4-12倍の時間がかかるが、伸長時間には影響せず、高速な圧縮モードではbzip2より高速
XZ圧縮されたファイルの扱いについて(前半) - 試験運用中なLinux備忘録

ということxz utils はすごい。

tar との組み合わせについて

tar コマンドは、圧縮オプションをサポートしていて、組み合わせて使うことが出来る

オプション 意味
zxvf gzip の展開&経過出力& 同名は上書き
jxvf bzip の展開&同上
Jxvf XZ の展開&同上

lessの組み合わせ。

less は意外と賢く設計されていて、
gless ,xzless などは、less を叩くだけで、内部的にふさわしいページャを使ってくれる。つまり hoge.tgz をless すると展開せずに中身が見れたりする。


あまり使うことはない、雑多な圧縮

gzip以外は殆ど使うことのない。そんな毎日だけれど、圧縮率と圧縮速度をトレードオフで考えたときに、速度重視のときに、これらを検討することがありました。

雑多な圧縮ツールについて(前半) - 試験運用中なLinux備忘録
雑多な圧縮ツールについて(後半) - 試験運用中なLinux備忘録

雑多な圧縮を簡単な表にしてみた
圧縮コマンド 形式(拡張子) 圧縮率 圧縮速度 備考
pbzip bzip マルチスレッドCPUなら速い
lzop lzop 圧縮率は選べる
lzf lzf 特になし
lzip lzma XZ Utilsが推奨される(後述
mscompress zip WindowsでおなじみのZip
ncompress Z × Unix のcompressコマンド互換
paq 書庫ツールを兼ねている
upx 実行形式で圧縮できる