ほとんどの Linux ディストリビューションが、パッケージの圧縮に LZMA2 を優先して gzip と bzip2 をドロップし、多くのプラットフォームで多くのオープン ソースの実装が行われていることを考えると、DEFLATE と.zip
フォーマット (残念なことに何度も荒廃してしまった) を休ませるべきではないでしょうか。 (ソース) パッケージを配布する他の最新の方法に移りますか?
GNU tar は、(別の LZMA2 コンプレッサー) をフィルターとしてJ
使用するスイッチをサポートしています。xz
$ tar cJf foo.tar.xz foo/
7z
ただし、私は(p7zip 実装)を使用する傾向があり、7za
Linux ではアーカイブを作成するのに適しています。アーカイブを作成するときは、「tar-bombs を回避する」パラダイムを引き続き使用します。つまり、そのアーカイブにディレクトリがあるため、コマンドラインから抽出しても、現在のディレクトリにファイルが流出することはありません (これは、次のような Linux の標準的な操作方法tar
です)。 、しかし、Windowsで行うことはあまり一般的ではないようです)。
とにかく、パッケージ (Fedora RPM や Ubuntu DEB など) での使用、および のようなツールのフィルターtar
により、LZMA2 が bzip2 の後に使用されるようになる「次善のもの」であるようです。圧縮率が高く (標準設定では bzip2 をはるかに凌駕)、非常に高速です (圧縮は gzip よりもわずかに遅く、
私は自分でいくつかのベンチマークを行いましたが、より広範なベンチマークにスポットを当てたいと思います。
- compressionratings.comでの評価ベースのベンチマーク
- maximumcompression.comでの効率ベースのベンチマーク
ここで、参照実装である7-zipが最初に表示されないことに気付くでしょう。ただし、Freearc は独自の.arc
形式を使用しているため、実際にはクロス プラットフォーム対応ではなく、80 年代の古いARC と互換性がありません。nanozip はオープン ソースではありません。これは一種の不況ですが、重要なのはアーカイバではなく、アルゴリズムです!
とにかく、7-zip とその派生実装 ( xz ) のパフォーマンスはもはや問題ではなく、圧縮率がそれ自体を物語っているので、ソース パッケージを.7z
または.tar.xz
アーカイブとして配布したいと思います。しかし、私の前には 2 つのハードルがあり、それを乗り越えることができないようです。
WinRAR の支持者。誤解しないでほしいのですが、私は WinRAR やそのユーザーに恨みはありません。Linux で RAR を実際に作成することはできませんし、無料の LZMA2 ツールがあるため、作成する必要もありません。そして、私が言ったように、ディストリビューション パッケージの不可欠な部分になったので、最新のディストリビューションで利用できます。を作成するのにかかる時間は
.7z
a.rar
とほぼ同じで、LZMA2 ファイルは一般的に小さいため、7-zip を使用しない理由がわかりません。tar アーカイブは zip または bzip2 である必要があり、例外はありません。これは難しい問題です。多くの人が gzip に感銘を受けているのはなぜですか? ほとんどの場合、bzip2 でさえあまり使用されません。確かに、gzip は高速であり、Web サーバーや大規模なミラー バックアップを作成する場合など、オンデマンドで圧縮する場合に適しています。しかし、ソフトウェアの配布はどうでしょうか? LZMA2 は非常に非対称です。圧縮には時間がかかりますが、解凍は非常に高速です。
OK、ここに私の質問があります:
LZMA2 は間違いなく次に優れた圧縮アルゴリズムであるのに、なぜ人々は電車に飛び乗らないのでしょうか? プロプライエタリであり、圧縮率が低く、Linuxに移植されていないWinRARをまだ使用しているのはなぜですか(ただしunrar
、明らかにそれでアーカイブを作成することはできません)。Tarball のほとんどがまだ gzip されているのはなぜですか?
クロスプラットフォームであるだけでなく無料の、より新しく信頼できるアーカイブ形式に移行するよう人々を説得する方法はありませんか? 末尾が.7z
.
ああ、これが私が自分で行った小さなベンチマークです。どこでもデフォルト設定を使用しました。
11837440 GNUtar_TAR.tar
10657984 Arc_ARC.arc
9632524 PA2010_TAR_BZip2.tar.bz2
9536967 PA2010_LHA_Frozen5.lzh
9510148 PA2010_ZIP_BZip2.zipx
9490211 GNUtar_TAR.tar.bz2
9467242 PA2010_LHA_Frozen6.lzh
9463630 7-zip_ZIP_BZip2.zip
9437520 7-zip_7-ZIP_BZip2.7z
9398798 Arj_ARJ.arj
9373435 GNUtar_TAR.tar.gz
9370456 PA2010_BlackHole_Deflate.bh
9369621 Lha_LHA_Frozen6.lzh
9367712 PA2010_ZIP_Deflate.zip
9364237 PA2010_TAR_gzip.tar.gz
9360248 PA2010_Cabinet_MsZip.cab
9303923 7-zip_ZIP_Deflate.zip
9215279 7-zip_ZIP_Deflate64.zip
9189365 PA2010_ZIP_PPMd.zipx
9060663 PA2010_7-ZIP_PPMd.7z
8931280 PA2010_Cabinet_LZX.cab
8847427 7-zip_7-ZIP_PPMd.7z
8803350 PA2010_ZIP_Optimized.zipx
8803350 PA2010_ZIP_Wavpack.zipx
8802850 PA2010_ZIP_LZMA.zipx
5812491 FreeArc_7-ZIP.arc
5789853 7-zip_7-ZIP_LZMA.7z
5789853 PA2010_7-ZIP_LZMA.7z
5789024 GNUtar_TAR.tar.xz
5782637 FreeArc_UHARC.arc
5770969 FreeArc_CCM.arc
5739697 Fp8_5.fp8
5718865 Fp8_8.fp8
5685234 Paq8px_5.paq8px
5677662 Paq8kx_5.paq8kx
5644422 Paq8px_8.paq8px
5609608 Paq8kx_8.paq8kx
(サイズ (バイト); ファイル名:Archiver_Format_Algorithm.Extension
)
ファイルのセットは、DOS インストールを含むディスク イメージで構成されます。
1474979 disk01.144
1474979 disk02.144
1474979 disk03.144
1474979 disk04.144
1474979 disk05.144
1474979 ldisk01.144
1474979 ldisk02.144
1474979 ldisk03.144
24325 diskcopy.com
(バイト単位のサイズ)