Tenía un archivo comprimido grande (~ 60G) ( tar.gz
).
Solía split
dividirlo en 4 partes y luego cat
unirlas nuevamente.
Sin embargo, ahora, cuando estoy tratando de estimar el tamaño del archivo sin comprimir, ¿resulta que es más pequeño que el original? ¿Cómo es esto posible?
$ gzip -l myfile.tar.gz
compressed uncompressed ratio uncompressed_name
60680003101 3985780736 -1422.4% myfile.tar
compression
gzip
split
pkaramol
fuente
fuente
split
realmente relevante para esto? ¿Solo tienes el problema después de dividir y unirlos?Respuestas:
Esto se debe al tamaño del campo utilizado para almacenar el tamaño sin comprimir en archivos comprimidos: solo tiene 32 bits, por
gzip
lo que solo puede almacenar tamaños de archivos de hasta 4 GiB. Cualquier cosa más grande se comprime y descomprime correctamente, perogzip -l
da un tamaño incorrecto sin comprimirPor lo tanto, dividir el tarball y reconstruirlo no ha causado esto, y no debería haber afectado el archivo; si desea asegurarse, puede verificarlo
gzip -tv
.Consulte la forma más rápida de calcular el tamaño sin comprimir de un archivo GZIPPED grande para obtener más detalles, y el
gzip
manual :fuente