domingo, 31 de agosto de 2014

¿Cómo descomprimo archivos desde la consola en Linux?

Durante sus clases Magistrales en la Escuela de Guerra, Juan Perón sintetizó el aprendizaje clásico con los Militares Prusianos llegados al país, con aquel que le dieron la tropa autóctona. Dichos aprendizajes serían motrices en su comprensión del Arma y lo llevarían a enseñar cómo descomprimir archivos correctamente desde la Terminal en Linux.

(...)

¡Vean señores!

Existen cosas que son difíciles, pero que es primordial comprenderlas para poder decirnos Conductores. Ya desde mi época de bisoño Cadete en el Colegio Militar, nuestros profesores alemanes nos hicieron comprender de estrategia, la planimetría, la navegación a carta y brújula en el terreno, y la operatoria del burócrata del combate. Natural, ellos estaban formados dentro de Ejércitos de la llamada "Nación de Acero".

Sin embargo, a dichos prusianos les faltaba comprender la valía de la camaradería, el sentimiento moral que acompaña al hombre de la tierra, e incorporar su espíritu y su experiencia natural como factor en el cuerpo de lucha. Esas eran realmente las bases que diferencian un soldado en la acción, y sin las cuales no puede moverse ni valerse como objeto bélico. Sin ella, será sólo un animal más en el campo de combate.

Si la conducción militar presenta esos matices, así son también las directrices que habremos de encontrar al conducir un sistema GNU con Linux. ¿Porqué? Porque a pesar de que la panoplia de recursos puesta a nuestra disposición es muy grande, muchas veces podremos pasar por alto pequeños detalles y fracasar por ello.

Uno de estos casos es el de los ficheros comprimidos. Normalmente, en nuestra terminal gráfica, contaremos con el excelente Gestor de Archivadores, el cual facilita enormemente la tarea. En la terminal, podemos descomprimir fácilmente con dtrx ("Do the Right Extraction"). Pero cuando no contamos con dicho programa, o tenemos que obrar en forma genérica en un sistema que no nos pertenece, ¿cómo  podremos descomprimir o desemaquetar como los archivos tgz, tar, bz2 o rar desde la consola?

Tales enseñanzas son las que deben aprenderse y jamás olvidarse, pues serán la base para muchas tareas que realicemos como Conductores. Sabemos que para abrir una consola usamos la combinación Ctrl+Alt+T, y a continuación tomaremos el temperamento necesario según sea el fichero comprimido que tengamos:

tar

El archivo empaquetado .tar deriva de la función tar, pensada para encadenar binariamente ficheros uno detrás de otro. Originalmente estaba pensado para almacenar este grupo de archivos en cinta magnética (en la era donde tales dispositivos secuenciales eran los principales medios de almacenamiento de masa). Por lo tanto, realmente en un archivo Tar no existe la compresión, solamente el empaquetado secuencial de ficheros.

Por tales motivos, los modificadores normalmente son x (extraer), f (por fichero, al eXtraerse desde un archivo), y opcionalmente v (verbose, que en muchos comandos derivados de Unix reporta ampliamente al usuario en su terminal lo que se realice). En resumen, el comando sería:

tar xvf archivo.tar

gz

Estos son archivos comprimidos con el programa gzip (implementación libre del protocolo Zip). Para descomprimir estos ficheros, podremos utilizamos el comando gzip con el indicador -d (descomprimir) o bien el comando gunzip, (realmente un enlace a gzip, por si nos falla la memoria).

gunzip archivo.gz
gzip -d archivo.gz

tgz, tar.gz

Se trata de un archivo empaquetado con tar y comprimido con gunzip. Se descomprime de la misma forma que los tar, añadiendo el indicador z para indicarle que use gzip para descomprimirlo.

tar xvzf archivo.tar.gz

tar.xz

Se trata de un archivo binario empaquetado con tar, comprimido utilizando el protocolo xz. Se descomprime de manera similar a los tar, añadiendo el indicador J para indicarlo.

tar -xJf archivo.tar.xz

 

bz2

Archivo comprimido con algoritmo bzip2. Para descomprimir se usa el comando bzip2 con el indicador -d (descomprimir) o bien el comando bunzip2 (que no es más que un enlace a bzip2).

bzip2 -d archivo.bz2
bunzip2 archivo.bz2

tar.bz2

Este es un empaquetado tar en el cual se empleó el algoritmo de compresión abierto bzip2. Para desempaquetar se usa también el comando tar, aunque esta vez se lo descomprime con el indicador j en lugar de z.

tar xvjf archivo.tar.bz2

zip

Archivo comprimido con el popular protocolo privativo PKWare zip. Se descomprime usando el comando unzip:

unzip archivo.zip

rar

El .rar es un formato de empaquetado y compresión propietario de A. Roshal, muy extendido. Normalmente el comando rar no está instalado en el sistema, y se lo debe cargar con:

sudo apt-get install rar

A partir de ello, podremos descomprimir con dicho comando y el indicador -x ("eXtraer")

rar x archivo.rar

No hay comentarios:

Publicar un comentario