Sıkıştırılmamış dosya tahmini yanlış mı?


9

Büyük (~ 60G) sıkıştırılmış bir dosya ( tar.gz) vardı.

Eskiden split4 parçaya bölerdim ve sonra cattekrar birleştirirdim.

Ancak, şimdi, sıkıştırılmamış dosyanın boyutunu tahmin etmeye çalıştığımda, orijinalinden daha küçük olduğu ortaya çıkıyor? Bu nasıl mümkün olabilir?

$ gzip -l myfile.tar.gz 
         compressed        uncompressed  ratio uncompressed_name
        60680003101          3985780736 -1422.4% myfile.tar

Bununla splitgerçekten alakalı mı ? Problemi sadece böldükten ve tekrar birleştirdikten sonra mı yaşıyorsunuz?
Barmar

Yanıtlar:


20

Bu, sıkıştırılmamış boyutu gzip dosyalarda saklamak için kullanılan alanın boyutundan kaynaklanır: sadece 32 bittir, bu nedenle gzipsadece 4 GiB'ye kadar dosya boyutlarını saklayabilir. Daha büyük olan her şey doğru bir şekilde sıkıştırılır ve sıkıştırılmaz, ancak gzip -lyanlış bir sıkıştırılmamış boyut verir.

Yani tarball'ı bölmek ve yeniden yapılandırmak buna neden olmadı ve dosyayı etkilememeliydi - emin olmak istiyorsanız, kontrol edebilirsiniz gzip -tv.

Bkz En Hızlı Büyük gzip'lenmesi dosyanın sıkıştırılmamış boyutunu çalışma dışarı yolu daha fazla ayrıntı için, ve manuel :gzip

gzipBiçim olarak boyutu modulo temsil 2³² açılmış boyut ve sıkıştırma oranı sıkıştırılmamış dosya 4 kamalı daha büyük değerler için yanlış listelenen, böylece.


Yani, gerçek içerik hala sağlam olabilir, değil mi?
Ruslan

@Ruslan evet, görüntülenen boyut yanlış, ancak içerik iyi.
Stephen Kitt

+1 UINT32 hatası ya da bunun gibi bir şey olduğunu tahmin edecektim.
mathreadler
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.