Concatenar archivos .tar.gz con un simple cat no funciona, y la razón está en el diseño original de tar y gzip. Tar (tape archive) se creó pensando en cintas magnéticas: las lecturas son secuenciales, los bloques tienen tamaño fijo y el final del archivo se marca con uno o más bloques de ceros que actúan como marcador EOF. Cuando se concatenan dos archivos tar, el lector se detiene en el primer marcador EOF e ignora el resto. Gzip, en cambio, nació en los años 90 como reemplazo libre de compress, afectado por las patentes del algoritmo LZW; comprime un único flujo de datos sin marcadores EOF, y sus miembros se tratan como una secuencia continua, no como archivos individuales. Por eso gzip sí puede unirse con cat: los miembros se encadenan y la descompresión devuelve un único flujo. El artículo explica paso a paso cómo combinar correctamente varios .tar.gz: abrir cada archivo fuente en modo 'r:gz', extraer sus miembros y copiarlos a un nuevo tar abierto en modo 'w:gz', de modo que el archivo resultante tenga un único marcador EOF legible con la configuración por defecto. También señala errores frecuentes al usar la API TarFile de Python, como olvidar establecer tarinfo.size antes de añadir un archivo, lo que genera un archivo vacío. En conjunto, la pieza desmitifica los formatos tar y gzip mostrando que sus limitaciones actuales son herencia directa de las cintas magnéticas y de las restricciones de patentes y memoria de los años 90.
