Linuxマシンに、圧縮して圧縮したい非常に大きなファイルがたくさんあります。スペースを節約してください。 tar/gzipの組み合わせを使用してみましたが、圧縮率があまり良くないことに気づきました。 1.2GB
ファイルは1.1GB
ファイルに圧縮されました。ここで提案されているように、圧縮レベルを上げてみました: tar -zcvfを使用するときに圧縮レベルを指定する方法は?
しかし、それでもそれ以上のことはありませんでした。同じファイルをWindowsマシンにコピーし、WinRarを実行しました。結果の圧縮ファイルのサイズは0.45GB
のみでした。
そのような大きな食い違いの理由はありますか? Linux用のより良い圧縮ツールはありますか?
UPDATE:私はlzmaを試しましたが、それでもそれほど良くはありません
Gzip は Rar と比較してあまり良いアルゴリズムではありません。
最近のLinuxでより一般的な方法は bzip2 で、これはほとんどすべてのLinuxディストリビューションにデフォルトでインストールされています。
コマンドラインをtar -cvjf
ではなくtar -cvzf
に変更することで、tar
アーカイバをbzip2圧縮を使用するように切り替えることができます。キーはz
をj
オプションで。
これにより、圧縮率が大幅に向上するはずです。
不一致の理由は、それらが圧縮のための根本的に異なるアルゴリズムであるためです。 Gzipは古いアルゴリズムであり、古いアルゴリズムは計算量が少ない傾向があるため、妥当な時間で終了します。これは、より簡単に利用できる処理能力の効果であり、古いコンピューターで行った古いアルゴリズムと同じ時間で終了する、より優れた、より計算量の多いアルゴリズムを使用できます。逆に、古いアルゴリズムは、新しいコンピューターではるかに高速に圧縮を完了します。
ほとんどすべてのWindowsアーカイバはLinux上で同等のものを持っています。 7Zip は、Windowsで良好な結果が得られ、非公式のLinuxバージョンを持つ素晴らしいアーカイバです。