.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
一般的に最高の成果を出した人と見なされます。
答え2
中規模のウェブサイトを運営している場合、ユーザーが制作したコンテンツが多くない限り、HTML、CSS、JavaScript、PHPなどは数メガバイトに達します。これらのコンテンツは通常よく圧縮されています。
これは、これらの画像が約99%のターボールサイズであることを意味します。画像はすでに圧縮されているため、再圧縮してもサイズは縮小されません(または他の圧縮アルゴリズムの場合はわずかに縮小できます。非常に高品質の要素を使用してJPEG画像をgzipで圧縮すると、サイズがわずかに縮小されます)。
圧縮率が1:3の5MBのテキストとコードと圧縮率が1:1.01の600MBのイメージがあるとしましょう。結果は595MBのアーカイブです。
Linuxシステムでは、コマンドを実行してdu --exclude='*.jpg' --exclude='*.png' --exclude='*.gif'
通常の画像形式を除くファイルサイズをディレクトリに蓄積できます。