Antes de sumergirnos en los gestores de paquetes, es esencial comprender el archivado y la compresión de archivos. Cuando descargas software en línea, a menudo lo encontrarás empaquetado en formatos archivados y comprimidos. Esta lección se centra en dos utilidades fundamentales para este propósito: tar y gzip.
Entendiendo el Archivado vs. la Compresión
Es importante distinguir entre archivado y compresión. Archivar es el proceso de combinar múltiples archivos y directorios en un solo archivo, conocido como archivo. Esto facilita la gestión y transferencia de un grupo de archivos. Compresión, por otro lado, es el proceso de reducir el tamaño de un archivo para ahorrar espacio en disco y acelerar las transferencias. La utilidad tar se utiliza para archivar, mientras que gzip se utiliza para comprimir. A menudo, verás que gzip y tar se usan juntos.
Comprimiendo Archivos Individuales con gzip
El programa gzip se utiliza para comprimir archivos individuales en Linux. Cuando comprimes un archivo con gzip, este es reemplazado por un archivo con la extensión .gz.
Para comprimir un archivo:
gzip miarchivointeresante
Esto creará miarchivointeresante.gz y eliminará el original. Para descomprimir el archivo, puedes usar gunzip:
gunzip miarchivointeresante.gz
Creando Archivos con tar
Aunque gzip es excelente para la compresión, no puede agrupar múltiples archivos en un solo archivo. Para eso, usamos la utilidad tar (Tape Archive). Un archivo creado con tar a menudo se denomina "tarball" y tiene una extensión .tar.
Para crear un nuevo archivo que contenga múltiples archivos:
tar cvf miarchivo.tar archivo1 archivo2 directorio1
Analicemos las opciones:
c: crear un nuevo archivo.v: modo verbose (detallado), que lista los archivos a medida que se procesan.f: file (archivo), que especifica que el siguiente argumento es el nombre del archivo de archivo.
El Poder de tar y gzip Combinados
El verdadero poder surge al usar tar y gzip juntos. Primero puedes crear un archivo .tar y luego comprimirlo con gzip, lo que resulta en un archivo .tar.gz. Sin embargo, tar proporciona una forma conveniente de manejar la compresión tar en un solo paso usando la opción z. Este proceso a veces se denomina creación de un archivo gzip tar.
Para crear un archivo comprimido, que es una forma común de comprimir archivos tar gz:
tar czvf miarchivo.tar.gz archivo1 archivo2 directorio1
Aquí, la opción z le indica a tar que use gzip para la compresión.
Extrayendo Archivos tar y gzip
Para extraer archivos de un archivo, usas la opción x.
Para extraer un archivo .tar simple:
tar xvf miarchivo.tar
Para descomprimir y extraer un archivo .tar.gz en un solo comando, simplemente agrega la opción z nuevamente:
tar xzvf miarchivo.tar.gz
Repasemos las opciones de extracción:
x: extraer archivos de un archivo.z: Descomprimir el archivo usandog**z**ip.v: modo verbose (detallado), que lista los archivos a medida que se extraen.f: file (archivo), que especifica el archivo de archivo a extraer.
Un mnemotécnico útil para esto es: ¡eXtraer Zee Very Fast! (¡Extraer muy rápido!)
tar es un comando tan esencial y, sin embargo, a menudo olvidado. xkcd relevante: https://xkcd.com/1168
Otras Utilidades
Aunque tar y gzip son extremadamente comunes, encontrarás otros formatos de archivado y compresión en tu viaje por Linux. Estos incluyen bzip2 (que crea archivos .bz2 y usa la bandera j en tar), xz (creando archivos .xz con la bandera J), y las familiares utilidades zip/unzip. Cada uno tiene su propio conjunto de comandos y ratios de compresión, pero los conceptos subyacentes siguen siendo los mismos.