Miałem duży skompresowany plik (~ 60G) ( tar.gz
).
Kiedyś split
rozbijałem go na 4 części, a potem cat
ponownie łączyłem.
Jednak teraz, gdy próbuję oszacować rozmiar nieskompresowanego pliku, okazuje się, że jest mniejszy niż oryginał? Jak to jest możliwe?
$ gzip -l myfile.tar.gz
compressed uncompressed ratio uncompressed_name
60680003101 3985780736 -1422.4% myfile.tar
compression
gzip
split
pkaramol
źródło
źródło
split
naprawdę ma znaczenie? Czy problem występuje tylko po podzieleniu ich i ponownym połączeniu?Odpowiedzi:
Jest to spowodowane wielkością pola używanego do przechowywania nieskompresowanego rozmiaru w plikach gzip: to tylko 32 bity, więc
gzip
można przechowywać tylko rozmiary plików do 4 GiB. Wszystko większe jest poprawnie skompresowane i nieskompresowane, alegzip -l
daje niepoprawny rozmiar.Tak więc podział tarballa i jego rekonstrukcja nie spowodowały tego i nie powinny wpłynąć na plik - jeśli chcesz się upewnić, możesz to sprawdzić
gzip -tv
.Zobacz najszybszym sposobem wypracowania nieskompresowanego wielkości dużego pliku zgzipowanego więcej szczegółów i instrukcja :
gzip
źródło