Sirviendo información sobre Linux desde 1998

Formatos de compresión. ¿Qué son? ¿Cuál usar?

Linux dispone de varios formatos para comprimir la información. Estos permiten reducir el espacio que ocupan en disco los ficheros o hacer que su envío por Internet sea más cómodo. Los más usados son tar.bz2, tar.gz y zip, pero... ¿cuál usar en cada momento?

Los formatos de compresión reducen el tamaño en disco de los ficheros. Esto puede ser útil cuando se anda escaso de espacio en disco. También se pueden "empaquetar" varios ficheros juntos, por lo que se puede usar para enviar varios archivos a través de la red y ahorrarnos la labor de ir adjuntando los ficheros uno a uno.

La respuesta es sencilla:

El formato tar.bz2 se usarán cuando se desee comprimir mucho la información. Comparado con los otros 2 es el que más comprime, pero esto tiene un coste. Es el que más tarda en comprimir/descomprimir la información.

El formato tar.gz se usará cuando se desee comprimir la información rápidamente y con un grado de compresión aceptable. Comprime menos que el formato tar.bz2, pero es mucho más rápido.

El formato zip tiene unas características similares al formato tar.gz, pero se comporta muy bien cuando hay que descomprimir sólo una parte del fichero.

Por ejemplo, imaginad que se tuviera una gran cantidad de documentación separada en muchos ficheros. De vez en cuando tuvieseis que leer la documentación de alguno de dichos ficheros. El formato idóneo para esta situación sería comprimir todos los ficheros en zip, pues el formato zip permite extraer rápidamente porciones del fichero comprimido.

Otro ejemplo, imaginad que queréis hacer copias de seguridad periódicas de la información de vuestro ordenador. Los formatos más aceptables serían el tar.bz2 o el tar.gz, pues dan un alto grado de compresión. Si se dispone de mucho tiempo para hacer la copia de seguridad sería bueno usar el formato tar.bz2, pues comprime mucho más que los otros dos. Si nos corre prisa, se debería usar el formato tar.gz, pues es más rápido que el tar.bz2.

¿Cómo comprimir/descomprimir?

Para comprimir o descomprimir un fichero en los formatos anteriores se puede usar el programa file-roller en Gnome, o el programa ark en KDE. En ambos casos se nos proporciona una interfaz gráfica en la que es fácil realizar estas acciones.

Si nos gusta la línea de comando, se usará:

Para comprimir en formato tar.bz2:

tar -cjf archivo_destino archivos_a_comprimir

Por ejemplo, para comprimir los archivos pepe.txt y juan.txt, en amigos.tar.bz2, se usará:

tar -cjf amigos.tar.bz2 pepe.txt juan.txt

Se procede de forma idéntica para comprimir un fichero en formato tar.gz:

tar -czf archivo_destino archivos_a_comprimir

Para comprimir un archivo en formato zip se usará:

zip -r archivo_destino archivos_a_comprimir

Para descomprimir un fichero se procede de forma similar, aunque esta parte es mucho más cómoda si se usa un programa como fille-roller o ark:

Para el formato tar.bz2:

tar -xjf archivo_destino archivos_a_descomprimir

Por ejemplo, para descomprimir los archivos pepe.txt y juan.txt, que están en amigos.tar.bz2, se usará:

tar -xjf amigos.tar.bz2 pepe.txt juan.txt

Se procede de forma idéntica para comprimir un fichero en formato tar.gz:

tar -xzf archivo_destino archivos_a_comprimir

Para comprimir un archivo en formato zip se usará:

unzip archivo_destino archivos_a_comprimir

En los tres casos se puede comprobar que si se omite la lista de ficheros a descomprimir, se extraen todos los ficheros almacenados en el fichero comprimido.

Os animo a hacer pruebas para comprimir/descomprimir ficheros, y comprobéis que el tar.bz2 comprime más y el zip es más rápido a la hora de extraer una parte del fichero y no el fichero entero.

P.L. Lucas

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

gzip -9 de los más robustos

yo llevo empleando desde hace mucho tiempo el comando

> gzip -9

y además de ser uno de los más rápidos desde mi punto de vista, es de los más fiables y limpios, y el nivel 9 de compresión es el más alto.

Para mí es un formato que debe ser el más empleado.

No nos olvidemos del xz

xz también es un buen formato de compresión, por defecto en distros gnu/linux actuales...

el comando:
$ tar -cJf archivo_destino ficheros_a_comprimir