最高の圧縮方法?


53

16GBフォルダーを圧縮したいのですが、最善の方法は何ですか?tar.gz?tar.bz2 rar?7z?最初にメソッドで圧縮し、圧縮したアーカイブを新しいフォルダーにコピーしてから、他の方法で再圧縮すると、アーカイブは小さくなりますか?DVDに収める必要があります(出力は8.5GBかもしれませんが、覚えていません)が、「4370 MB」を入れると圧縮ファイルが2.5GBになります。

ところで、Ubuntuのデフォルトの圧縮方法は何ですか?

回答:


70

デフォルトはgzです。7zしかし、私が得た最高の結果。

1.4 Gbのvirtualboxコンテナの結果は次のとおりです。

ここに画像の説明を入力してください

最高の圧縮– MB単位のサイズ:

7z 493
rar 523
bz2 592
lzh 607
gz 614
Z 614
zip 614
.arj 615
lzo 737
動物園890

ソース

ここに画像の説明を入力してください

インストール

 sudo apt-get install p7zip-full

おかげで、私はすでにSoftware Center経由で7zとrarをインストールしました。7zで試してみます。
アマンダ

1
これらの結果はどこから来たのですか?すべてのアルゴリズムについて、圧縮率と速度は、圧縮しようとしているものに大きく依存します。いくつかのデータを圧縮/dev/urandomしてみてください。各試行で異なる結果が得られます。または試してみてください/dev/zero:bzip2が勝者です(この比率の場合)。
アンドレアコルベッリーニ

1
@AndreaCorbelliniリンクが答えにあるのでクリックしてください!?そして私が言ったように:それは1.4の仮想ボックスコンテナに基づいています。私はその圧縮が良く、私は(主にソフトウェアおよびバイナリデータファイル)を持っている傾向にあるファイルのためであるように思わ7Z、それをされているどのファイルではなく、経験の数年から多くのことを依存同意
Rinzwind

1
@Rinzwind:本当にすみません、ソースリンクが表示されませんでした。
アンドレアコルベッリーニ

1
@AndreaCorbelliniそれは大丈夫です;)アマンダが結果を報告することを期待しましょう:+
Rinzwind

14

この質問は非常に古いですが、おそらく誰かがこの解決策を有用だと思うでしょう:

を使用rziptarます。最初に辞書方式を使用して900 MBの大きなデータブロックを圧縮し、次にクリーンアップしたデータをに渡しbzip2ます。他の強力な圧縮ツール(bzip2lzma)よりもはるかに高速で、一部のファイルはbzip2またはよりもさらに圧縮されますlzma

はい、gzLinuxのデフォルトの圧縮ツールです。それは高速であり、その古さにもかかわらず、ソースコードのようなテキストファイルを圧縮するのに非常に良い結果をもたらします。もう1つの標準ツールはですがbzip2、はるかに低速です。

追加: lrzipはより新しく、rzipの原則を拡張します。無制限のブロックサイズ、および圧縮方法の選択(LZMA、Bzip2、Gzip、LZO、ZPAQまたはなし)もサポートしています。LZMAが標準です。バックアップや、他のLinux / BSDユーザーと多くのデータを共有する場合、非常に便利です。


900 kBブロックを意味すると思いますか?900メガバイトは...少し大きいだろう
バイト司令

1
実際には900 MBです。参照en.wikipedia.org/wiki/Rzip
user258532

2

を選択しますLZMA。バイトオーバーヘッドが最も小さく、圧縮率が高くなっています。ZIPとLZMAの比較:seq.txtPHPコードで2つのファイルを生成しました

$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[$i%10].($i%10==9 ? "\n":""); file_put_contents('seq.txt', $str);

0..9桁〜1Mbのデータの繰り返しブロックrnd.txtとPHPコードを保持します

$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[rand(0,9)].($i%10==9 ? "\n":""); file_put_contents('rnd.txt', $str);

これは、0..9桁から1Mbのデータのランダムブロックを保持します。

圧縮結果:

  • seq.txt、rnd.txt-1100000バイト
  • seq.txt.zip-2502バイト
  • rnd.txt.zip-515957バイト
  • seq.txt.lzma-257バイト
  • rnd.txt.lzma-484939バイト

圧縮比:

  • ZIP-> "seq.txt"-> 99.772%
  • ZIP-> "rnd.txt"-> 53.094%
  • LZMA-> "seq.txt"-> 99.976%
  • LZMA-> "rnd.txt"-> 55.914%

そのため、LZMAは順次データをZIPよりも0.2%効率的に圧縮し
、ランダムデータをZIPよりも2.8%効率的に圧縮しました。

確かにLZMAが勝ちます!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.