どのような状況で、tarball(.tgz)は元のファイルとほぼ同じサイズを持ちますか?

どのような状況で、tarball(.tgz)は元のファイルとほぼ同じサイズを持ちますか?

.tarballを使用して、いくつかのWebサイト(構成、画像ディレクトリ、CSSディレクトリ、およびWebサイトコンテンツ(htmlファイルなど))のダンプを圧縮しましたtar czf sitedump.tgz backup_folder/。元の「backup_folder」は約600MBで、圧縮されたパッケージもやや小さいです。

どのような状況でこれらの圧縮形式に問題が発生しますか?この場合、サイズが最小化されるのはなぜですか?タールバージョン1.23

ベストアンサー1

これは問題です。ロスレスデータ圧縮、それらの一つ限定。一般に、データがランダムであるほど、圧縮するのは難しくなります。圧縮は基本的にパターンを探し、より少ない情報でそれを表現するためです(文の冒頭で後続の単語を予測できると考えることができます)。したがって、ノイズは(ほぼ)完全に圧縮できませんが、長く繰り返されるシーケンスは非常によく圧縮できます。この波以上のものが必要な場合は、上記のリンクを開始することをお勧めします。

ターボールの場合 - データを除外存在するファイルとテープアーカイブ(元の「tar」の略)には、ファイルメタデータ(通常、特定のtar属性に応じて、ファイルごとに1つ以上の512Bブロック)が含まれ、圧縮も行われます。したがって、できるだけ圧縮したくない場合は、任意のファイル名、任意のユーザー/グループID/名前、ファイルモードを使用し、ノイズとファイルメタデータを含むファイルのサイズが512Bブロックであることを確認する必要があります(ゼロパディングを防ぐするため)。 。

驚くほど大きなアーカイブが発生するもう1つの理由は、圧縮レベルが低いためですgzip。スタンドアロンバージョンの場合、圧縮レベルは(圧縮なし)から(最大圧縮)まで、gzipデフォルト値はです。-0-9-6

実際、できるだけ圧縮するには、別のアルゴリズム(したがってコンプレッサー)を使用する必要があります。xz一般的に最高の成果を出した人と見なされます。

おすすめ記事