¿Puedo recrear un archivo gzip exactamente, teniendo en cuenta el archivo original sin comprimir?

¿Puedo recrear un archivo gzip exactamente, teniendo en cuenta el archivo original sin comprimir?

Tengo una serie de gziparchivos que deseo almacenar de manera más eficiente usando xz, sin perder la trazabilidad de un conjunto de sumas de verificación de los archivos gzip.

Creo que esto equivale a poder recrear los archivos gzip a partir de los archivos xz, aunque estoy abierto a otras sugerencias.

Para elaborar... Si tengo un archivo gzip llamado target.txt.gzy lo descomprimo target.txty descarto el archivo comprimido, quiero recrear exactamente el archivo comprimido original target.txt.gz. Por exactamente, me refiero a que una suma de verificación criptográfica del archivo debe indicar que es exactamente igual que el original.

Inicialmente pensé que esto debía ser imposible, porque un archivo gzip contiene metadatos como el nombre del archivo original y la marca de tiempo, que podrían no conservarse tras la descompresión, y metadatos como un comentario, el sistema operativo de origen y los indicadores de compresión, que casi con certeza son no se conserva tras la descompresión.

Pero luego pensé en modificar mi pregunta: ¿existe una cantidad mínima de información de encabezado que pueda extraer del archivo gzip que, en combinación con los datos sin comprimir, me permita recrear el archivo gzip original?

Y luego pensé que la respuesta aún podría ser no debido a la existencia de herramientas comoZopfliy7 cremalleras, que puede crear secuencias compatibles con gzip que son mejores (y por lo tanto diferentes) del programa gzip estándar. Hasta donde yo sé, el formato de archivo gzip no registra cuál de estos compresores lo creó.

Entonces mi pregunta es: ¿hay otras opciones en las que no he pensado que podrían significar que, después de todo, puedo lograr mi objetivo como se establece en el primer párrafo?

Respuesta1

Esto puede resultar útil:https://github.com/google/grittibanzli

Grittibanzli es una herramienta para comprimir un flujo desinflado en un archivo más pequeño, que se puede decodificar nuevamente al flujo desinflado original. Es decir, comprime no solo los datos dentro del flujo de desinflado, sino también la información relacionada con el deflate, como los símbolos LZ77 y los árboles de Huffman, para reproducir exactamente un archivo gzip, png, ....

información relacionada