web-dev-qa-db-ja.com

重複排除も行うWindows用の圧縮またはアーカイバプログラムはありますか?

アーカイブされるファイルに対して重複排除(重複排除)を実行できるアーカイバプログラムを探しています。アーカイブを解凍すると、ソフトウェアは圧縮プロセス中に削除したファイルを元に戻します。

これまでのところ私は見つけました:

他の人を知っている人はいますか?

これはおそらく7-Zipへの素晴らしい追加でしょう。

13
Larry Silverman

最近のほとんどすべてのアーカイバはこれを正確に実行しますが、唯一の違いは、すべてのファイルが圧縮アルゴリズムに送られる前に単一のストリームに連結されるため、これを「ソリッド」アーカイブと呼ぶことです。これは、各ファイルを1つずつ圧縮し、各圧縮ファイルをアーカイブに追加する標準のZip圧縮とは異なります。

7-Zipは、その性質上、重複排除を効果的に実現します。たとえば、7-Zipはファイルを検索し、類似のファイルタイプとファイル名で並べ替えるため、同じタイプとデータの2つのファイルが、コンプレッサーアルゴリズムに送られるストリームに並べて配置されます。コンプレッサーは、ごく最近見た多くのデータを見ることになり、これら2つのファイルは、ファイルを1つずつ圧縮する場合と比較して、圧縮効率が大幅に向上します。

Linuxは、tarがすべてのファイルを単一のストリームにマージしているだけなので(完全な形式を使用する場合は「.tar.gz」)、「。tgz」形式(または「.tar.gz」)が普及することで、長い間同様の動作を示してきました。ファイルの並べ替えとグループ化)、gzipで圧縮します。これが見逃しているのは、7-Zipが実行している並べ替えです。これにより、効率がわずかに低下する可能性がありますが、Zipのように多くの個別に圧縮されたファイルをまとめるよりもはるかに優れています。

12
Mokubai

7-Zip、Zip、gzip、および他のすべてのアーカイバは、同じファイル内の、または異なるファイル内の異なる位置に配置された、わずか数メガバイト以上など、互いに遠く離れた同一の領域を検出しません。

したがって、状況によっては、通常のアーカイバはexdupeなどのパフォーマンスを発揮しません。一部の仮想マシンまたはその他のものを圧縮すると、これを確認できます。

5
Ian

圧縮プロセスで重複排除を使用しても意味がありません。ほとんどの圧縮アルゴリズムは、最も一般的な、または再利用されたデータのビットを検索する、いわゆる「辞書」を作成します。そこから、「Word」全体を繰り返し書き込むのではなく、辞書エントリを参照するだけです。このようにして、ほとんどの圧縮プロセスは、すべてのファイルから冗長データまたは重複データをすでに切り取っています。

たとえば、1 MBのファイルを取得して毎回異なる名前で100回コピーし(合計100 MBのディスク容量)、7ZipまたはZipファイルに圧縮すると、合計1MBのZipファイルが作成されます。これは、すべてのデータが1つの辞書エントリに入れられて100回参照され、スペースをほとんどとらないためです。

これは何が起こるかについての非常に簡単な説明ですが、要点はまだよく伝えられています。

4
CenterOrbit