大量のファイル圧縮を行います。私が圧縮しているもののほとんどはコードだけなので、損失の少ない圧縮を使用する必要があります。 7Zipよりも良いサイズ縮小を提供するものがあるかどうか私は思っていました。サイズを圧縮または解凍するのにかかる時間は問題ではありません。 Linuxでこのようなソフトウェアを知っている人はいますか?それとも7Zipは最高ですか?
7Zip
は、コンプレッサーよりも(PKZIPのような)コンパクターです。 Linuxで利用できますが、通常のファイルでのみ圧縮アーカイブを作成できます。たとえば、ストリームを圧縮することはできません。所有権、ACL、拡張属性、ハードリンクなどのUnixファイル属性のほとんどを保存することはできません...
Linuxでは、compressorとして、7Zip
(LZMA2)と同じ圧縮アルゴリズムを使用するxz
を取得します。 tarアーカイブの圧縮に使用できます。
gzip
とbzip2
の場合と同様に、parallelバリアントpixz
があり、複数のプロセッサを活用して圧縮を高速化できます(xz
canまた、バージョン5.2.0以降、-T
オプションを使用してネイティブに実行します)。 pixz
バリアントはindexing圧縮tar
アーカイブもサポートします。つまり、最初からファイルを解凍することなく、単一のファイルを抽出できます。
lrzip とはreally探しているespeciallyソースコードを圧縮している場合!
READMEを引用:
これは大きなファイル用に最適化された圧縮プログラムです。特にファイルが100MBを超えると、ファイルが大きくなり、メモリが多くなるほど、圧縮の利点が向上します。利点は、サイズ(bzip2よりはるかに小さい)または速度(bzip2よりはるかに速い)のいずれかを選択できます。 [...] lrzipの独自の機能は、最大限の利益を得るために、システムで利用可能なRAMを常に最大限に活用しようとすることです。
lrzipは、最初にrzipベースのアルゴリズムで長距離データの冗長性をスキャンして削除し、、非冗長データを圧縮して機能します。
Con Kolivasは Linuxカーネルメーリングリストの素晴らしい例 ;を提供しています。ここで、彼はfortyの10.3GB tarballを163.9MB(1.6%)に圧縮し、xzよりも高速に圧縮しています。彼は最もアグレッシブなセカンドパスアルゴリズムさえ使用していませんでした!
ソースコードの巨大なtarballを圧縮すると素晴らしい結果が得られると思います:)
Sudo apt-get install lrzip
例(他のオプションにデフォルトを使用):
超圧縮、低速犬:
lrzip -z file
フォルダの場合、lrzip
をlrztar
に変更するだけです
圧縮速度に関係なく最大のサイズ削減を求めている場合、LZMA
がおそらく最良のオプションです。
さまざまな圧縮を比較するとき、一般にトレードオフは時間とサイズの関係です。 gzip
は、良好な圧縮率を得ながら、比較的迅速に圧縮および解凍する傾向があります。 bzip2
は、圧縮時間と解凍時間の両方でgzip
よりも少し遅いですが、圧縮率はさらに高くなります。 LZMA
は圧縮時間が最も長くなりますが、最適な比率が得られると同時に、bzip2
よりも優れた解凍率が得られます。
(回答の更新)時間に問題がない場合は、ZPAQ v1.10(またはそれ以降)を使用します。例:zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar
(max.cfgファイルの場所は異なる場合があります。インストール済みのパッケージファイルリストを確認してください)
zpaq
は実際にはkgb -9 newFileName.kgb yourFileName.tar
よりも圧縮されています。
これは古いアルゴリズム PAQ6 に基づいており、非常に低速です...
最も圧縮された7Zip、lrzip、bzip2、kgb ..、zpaqなどの他のすべてのコンプレッサーでテストしました!
kgb
がまだあなたに興味がある場合:(これがこの回答の最初の選択だったので、ここに情報を保管しています)
Ubuntu 14.04には kgb 1.0b4 が含まれています。Sudo apt-get install kgb
を実行してインストールしてください。
以下は、Linuxでkgb
を実行/コンパイルできるWindowsバージョンについてですが、成功しませんでした。
バージョン2 beta2は SourceForge にありますが、Linuxバイナリは使用できません。 wine kgb2_console.exe -a7 -m9
を使用してコンソールで実行してみることができます(メソッド-a6 -m9
は1.0b4の最適なメソッドと同等であるようです。-a7
は2 beta2の新機能です)。 winetricks を使用して.NET 2.0をインストールし、wine "KGB Archiver 2 .net.exe"
を実行することで、安定性は向上しましたが(私はそれを少し好きではないので、 2ベータ2と同じ結果。
とにかく、バージョン2のベータ2もLinuxネイティブバージョンに値するものです。たぶん、MinGWで何かを実行できます。 this を参照してください。ただし、このコマンドはまだ失敗します:i586-mingw32msvc-g++ kgb2_console.cpp -o kgb
。 dmcs
(Mono)でコンパイルしてみませんか? this tip を参照してください。