Los Principales Formatos de Compresión de Archivos al Detalle

Muy buenas lector, en esta guía conocerás cuales son los principales formatos de compresión de datos utilizados a día de hoy, las características que reúnen, además de las aplicaciones que puedes utilizar en cada plataforma (Windows, GNU/Linux y OS X) para trabajar con archivos en cada uno de los formatos.

Las herramientas de compresión permiten reducir el espacio de disco de uno o varios archivos basándose en diferentes algoritmos de compresión dependiendo del formato elegido (la mayoría de formatos actuales permiten hacer uso de diferentes algoritmos de compresión). Algunos de ellos permiten al mismo tiempo empaquetar varios archivos o carpetas dentro de un mismo archivador. Otros (como rar y 7z) son compatibles con opciones adicionales como el cifrado AES. Si quieres conocerlos más en detalle, sigue estas líneas.

En este post verás:

  1. Zip
  2. Gzip
  3. Bzip2
  4. Tar
  5. Rar
  6. 7z

ZIP

Zip

Como ya sabrás, el formato ZIP es probablemente uno de los más conocidos y utilizados entre todo tipo de usuarios, no solamente en Windows, sino también en GNU/Linux y OS X. Se trata de un formato de compresión sin pérdida bastante simple y que comprime los archivo de forma separada.

ZIP ofrece un proceso de compresión rápido y con un ratio de compresión aceptable, si bien no destaca por ser de los mas altos y en ese sentido es claramente inferior a otros formatos como RAR o 7z. Al igual que otros, ZIP es compatible con un sistema de cifrado simétrico de clave publica, un sistema débil ante ataques de fuerza bruta o diccionario.

Como utilizarlo en Windows

En Windows puedes trabajar con este formato de compresión de forma totalmente nativa y sin ningún tipo de problema.

Desde el mismo navegador de archivos, en los menús contextuales deberías poder visualizar sin problema las opciones de compresión y descompresión de archivos en ZIP.

GNU/Linux

Al igual que en Windows, GNU/Linux también permite comprimir y descomprimir en ZIP de forma totalmente nativa, ya sea de forma gráfica desde el navegador de archivos y el gestor de archivadores, o bien desde la terminal haciendo uso de los comandos apropiados.

De forma gráfica, el navegador de archivos invoca al gestor de archivadores a la hora de comprimir o descomprimir cualquier archivo o carpeta en ZIP, así como otros formatos de compresión nativos en GNU/Linux (ver más adelante).

Como digo más arriba, también puedes utilizar la línea de comandos, si así lo prefieres. Aquí tienes los comandos básicos:

$ zip nombrearchivo.zip nombrearchivo

Para comprimir cualquier archivo dentro de un paquete denominado nombrearchivo con extensión .zip

$ unzip nombrearchivo.zip

Para descomprimir el paquete comprimido nombrearchivo.zip y extraer todo su contenido en la misma carpeta.

Gzip

Gzip

Gzip es un sistema de compresión adoptado por el proyecto GNU y muy ampliamente utilizado en plataformas Unix y Linux. Gzip utiliza el algoritmo de compresión Deflate, una combinación de Lempel-Zib (LZ77) y la codificación Huffman.

Se trata de un algoritmo de compresión sin pérdida muy extendido no solo en zip y gzip, sino también en el formato de imágenes PNG. Por defecto, en GNU/Linux comprime los archivos con la extensión .gz

El ratio de compresión de Gzip es notablemente más alto que zip, siendo igualmente rápido durante el proceso de compresión. Es útil para comprimir archivos de forma rápida, con un ratio de compresión aceptable pero no de los más altos.

Siguiendo con la filosofía de Unix de hacer solo una cosa pero hacerla bien, Gzip es una herramienta puramente de compresión, y no permite empaquetar varios archivos o directorios dentro de uno mismo. Para ello, se debe utilizar en combinación con Tar, para empaquetar previamente varios archivos dentro de un archivador o tarball, y posteriormente comprimir el paquete.

Gzip es ampliamente utilizado para la compresión de los archivos de una página web antes de enviarse desde el servidor hasta el cliente web del usuario que la visita. En este artículo tienes mas información sobre como funciona la compresión de un sitio web en gzip.

Lo más común a la hora de trabajar con archivos en Gzip es no comprimir un solo archivo, sino, como digo más arriba, empaquetar varios archivos en un Tar, para luego comprimirlos en Gzip. Esto da como resultado los archivos con la extensión .tar.gz, muy populares y ampliamente utilizados en GNU/Linux.

Como utilizarlo en Windows…

En Windows necesitaras de alguna utilidad de software adicional para poder trabajar con archivos comprimidos en Gzip, o comprimir archivos en este formato. En general la mayoría de aplicaciones de compresión como WinRAR o 7-Zip reconocen este tipo de formato, así que cualquiera de ellas te sería suficiente.

Personalmente me decanto por 7-Zip por el hecho de ser software libre y por la gran cantidad de opciones que ofrece (soporta muchos formatos, múltiples algoritmos de compresión, cifrado, etc.) de forma totalmente gratuita.

…y en GNU/Linux

Gzip es una herramienta GNU, por lo que no es ningún misterio que en cualquier distribución GNU/Linux (al igual que OS X) puedas trabajar con este formato de forma nativa, ya que vienen por defecto con todas las herramientas necesarias para comprimir, descomprimir, empaquetar y desempaquetar este tipo de archivos.

De forma gráfica, el navegador de archivos invoca al gestor de archivadores a la hora de comprimir o descomprimir cualquier archivo o carpeta en Gzip. Si prefieres hacer uso de la terminal, aquí tienes los comandos básicos:

$ gzip -9 nombrearchivo

Para comprimir cualquier fichero dentro de un paquete comprimido en formato .gz.

$ gzip -d nombrearchivo.gz

Para descomprimir un paquete en formato .gz. y almacenarlo en el mismo directorio de trabajo.

Bzip2

Bzip2

El formato Bzip2 es un formato de compresión libre, ofrecido bajo licencia BSD, que permite un ratio de compresión superior a Gzip, y por supuesto a ZIP, pero a costa de requerir mayores tiempos y un mayor consumo de memoria RAM durante el proceso de compresión. Esto último lo hace especialmente útil a la hora de empaquetar y comprimir archivos cuando se requiere un alto índice de compresión.

Al igual que ocurre con Gzip, Bzip2 solo permite comprimir un solo archivo, de tal modo que para comprimir varios archivos en un mismo paquete se empaquetan previamente en un Tar, para luego comprimir el paquete en bzip2, dando como resultado los archivos con la extensión .tar.bz2.

Windows

Al igual que ocurre con Gzip, para trabajar con Bzip2 en Windows necesitarás de alguna utilidad como WinRAR o 7-zip. Cualquiera de ellas te servirá sin problema, pero como digo, mi preferida aquí es 7-zip.

GNU/Linux

GNU/Linux también permite trabajar con bzip2 de forma totalmente nativa, ya sea de forma gráfica desde el navegador de archivos y el gestor de archivadores, o bien desde la terminal.

Si utilizas el navegador de archivos para comprimir (botón derecho > Comprimir) o descomprimir un archivo en bzip2, este invoca automáticamente el gestor de archivadores para encargarse del proceso.

Desde la línea de comandos también puedes comprimir y descomprimir archivos  sin problema. Aquí tienes los comandos imprescindibles que debes conocer:

$ bzip nombrearchivo

Para comprimir cualquier archivo dentro de un paquete comprimido con la extensión .bz2.

$ bzip2 -d nombrearchivo.bz2

Para descomprimir un paquete .bz2.

Tar

Tar

El formato Tar no es realmente un formato de compresión, sino de empaquetado. Es muy común en GNU/Linux y sirve para empaquetar, que no comprimir, varios archivos dentro de un solo.

Podemos empaquetar los diferentes archivos uno a uno, o bien ubicarlos dentro de un directorio y empaquetar el directorio completo. Si bien puedes utilizarlo como tal, lo más habitual es que se combine con un formato de compresión como Gzip o Bzip2, para poder incluir varios archivos dentro de un mismo archivador, y luego comprimir el conjunto.

Uso en GNU/Linux

Cualquier distribución GNU/Linux dispone de las herramientas necesarios para reconocer paquetes Tar, así como agrupar varios archivos en un archivador Tar.

De forma gráfica se gestionan desde el mismo navegador de archivos y el gestor de archivadores, al igual que hemos visto ya en el resto de formatos. Desde la línea de comandos, estos son los comandos que necesitaras para trabajar con Tar:

Archivos .tar.

$ tar -cvf nombrearchivo.tar archivo1 archivo2

Para empaquetar varios archivos, en este caso los dos de ejemplo denominados archivo1, archivo2, en un paquete .tar.

$ tar -xvf nombrearchivo.tar

Para extraer todo el contenido del paquete nombrearchivo.tar en el mismo directorio.

Archivos .tar.gz.

$ tar -czvf nombrearchivo.tar.gz

Para comprimir cualquier archivo dentro de un paquete comprimido en Gzip con la extensión .tar.gz.

$ tar -xzvf nombrearchivo.tar.gz

Para descomprimir y desempaquetar todo el contenido de un paquete tar.gz.

RAR

Rar

RAR es un formato de compresión propietario que se ha hecho muy popular al ser el formato que provee el software de compresión WinRAR, ampliamente utilizado en entornos Windows.

Reúne las ventajas de ZIP, pero ofreciendo un proceso de compresión bastante más optimizado además de ser compatible con opciones avanzadas como la compresión sólida, un método de compresión especial mediante el cual todos los archivos son tratados como si fuera un flujo continuo de datos.

Entre otras características están también la compatibilidad con el cifrado AES de 128 bits, etc.

Conviene tener en cuenta que recientemente se ha detectado una vulnerabilidad en el software WinRAR, de los creadores del formato RAR, que parece que no va a ser arreglada debido a que se considera como una funcionalidad. En este post de Omicrono tienes más detalles sobre el bug y su posible afectación.

Windows

Los más común para trabajar con archivos o paquetes RAR en Windows es utilizar el software de compresión WinRAR, de la mano de los propios desarrolladores del formato. Dispone de una versión gratuita y otra de pago, con funcionalidades extendidas como el cifrado de archivos entre otros.

Sin embargo, también puedes utilizar una alternativa libre y gratuita como 7-Zip, que por defecto ya es compatible con multitud de formatos de compresión, entre ellos RAR. Además, soporta igualmente la opción de cifrado.

GNU/Linux

Al tratarse de un formato de compresión propietario, en GNU/Linux necesitas el paquete unrar para poder trabajar con él. Se trata de un paquete no libre, por eso no viene pre-instalado en el sistema.

sudo apt-get install unrar

Este paquete básicamente incrementará la funcionalidad del gestor de archivadores para permitir descomprimir en este formato, además de todos los otros que ya soportaba de forma nativa.

Una vez instalado el paquete propietario que te menciono justo arriba, también podrás operar desde la línea de comandos. Estos son los comandos que probablemente necesitaras:

$ unrar -e archivo.rar

Para descomprimir un archivo con la extensión .rar y extraer su contenido en la misma carpeta.

7z

7z

7z es el formato de compresión que provee el software de compresión libre y multiplataforma 7-Zip. Se trata de un formato de compresión de datos sin perdida con unas tasas de compresión muy altas, superiores a formatos de compresión mas populares como zip, rar y el mismo gzip.

Por defecto se basa en el algoritmo de compresión LZMA (una versión mejorada de LZ77), si bien al tratarse de un formato abierto puede utilizar otros métodos de compresión como PPMD, BCJ, BCJ2, bzip2 o Deflate.

Entre sus puntos fuertes también están el soporte con la compresión sólida, al igual que rar, y el ser compatible con cifrado AES con clave de 256 bits. Además puede hacer uso de varios procesos de CPU simultáneamente para reducir los tiempos durante el proceso de compresión.

Para trabajar con archivos en este tipo de formato en cualquiera de los sistemas operativos, lo más recomendable es utilizar el software 7-zip, disponible de forma libre y gratuita tanto para Windows, GNU/Linux y OS X.

GNU/Linux

7-Zip dispone de un paquete para GNU/Linux que debería venir por defecto en los repositorios oficiales de la práctica totalidad de distribuciones. Una vez instalado verás que el gestor de archivadores ofrecerá nuevas funcionalidades, tales como comprimir y descomprimir archivos en 7z, además de optar por la opción de cifrarlo.

En la guía que te enlazo a continuación verás como instalar y utilizar 7-Zip en Linux por tal de sacar el máximo provecho de este potente formato de compresión.

Windows

En Windows, lo más recomendable es instalar el software de compresión 7-Zip, que viene de la mano de los propios desarrolladores del formato.

Desde la misma aplicación tendrás a mano una gran cantidad de opciones para comprimir y descomprimir en este formato utilizando diferentes algoritmos de compresión, además de optar por opciones adicionales como el cifrado AES de 256 bits, enviar el paquete resultante como adjunto por correo electrónico, etc. Hablare mucho más a fondo sobre esta potente utilidad en un futuro post.

Y Antes de Acabar

Y llegados aquí, considero que esto ya es suficiente para conocer los detalles más importantes de los principales formatos de compresión utilizados hoy en día.

Evidentemente existen muchísimos más, pero si quieres conocerlos prácticamente en su totalidad, ya tienes este post de emezeta, donde podrás ver desde los más antiguos, los más modernos, pasando por los mas raros y desconocidos.

2 comentarios en “Los Principales Formatos de Compresión de Archivos al Detalle

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s