J'avais un gros fichier compressé (~ 60G) ( tar.gz
).
J'avais l'habitude split
de le diviser en 4 parties, puis cat
de les réunir à nouveau.
Cependant, maintenant, lorsque j'essaie d'estimer la taille du fichier non compressé, il s'avère qu'il est plus petit que l'original? Comment est-ce possible?
$ gzip -l myfile.tar.gz
compressed uncompressed ratio uncompressed_name
60680003101 3985780736 -1422.4% myfile.tar
compression
gzip
split
pkaramol
la source
la source
split
vraiment pertinent pour cela? Avez-vous seulement le problème après les avoir séparés et réunis?Réponses:
Cela est dû à la taille du champ utilisé pour stocker la taille non compressée dans des fichiers compressés: ce n'est que 32 bits, donc
gzip
ne peut stocker que des tailles de fichiers jusqu'à 4 Gio. Tout ce qui est plus grand est compressé et décompressé correctement, maisgzip -l
donne une taille non compressée incorrecte.Donc, diviser l'archive tar et la reconstruire n'a pas causé cela, et n'aurait pas dû affecter le fichier - si vous voulez vous en assurer, vous pouvez le vérifier avec
gzip -tv
.Voir le moyen le plus rapide de calculer la taille non compressée d'un gros fichier GZIPPED pour plus de détails et le
gzip
manuel :la source