Crear y descomprimir archivos con tar

última modificación:

Cuando necesitamos empaquetar varios archivos para transferirlos a otro servidor o hacer una copia de seguridad puntual, tar es la herramienta habitual en sistemas Unix. A diferencia de ZIP, tar separa el empaquetado de la compresión, aunque las dos operaciones se pueden combinar en un solo comando.

Para crear un archivo tar con el contenido de un directorio:

tar -cvf backup.tar /home/usuario/

Las opciones son: -c (crear), -v (mostrar archivos procesados) y -f (nombre del archivo final). Al usar rutas absolutas, tar muestra el aviso Removing leading '/' from member names y guarda las rutas sin el / inicial. Es una medida de seguridad: evita que al extraer el archivo se sobreescriban rutas absolutas del sistema de destino.

Para añadir compresión gzip usamos -z:

tar -czvf backup.tar.gz /home/usuario/

O compresión bzip2 con -j (más lenta pero mejor ratio de compresión):

tar -cjvf backup.tar.bz2 /home/usuario/

Para ver el contenido de un archivo sin extraerlo:

tar -tvf backup.tar.gz

Para extraer en el directorio actual:

tar -xzvf backup.tar.gz

Y si queremos extraer en un directorio concreto, usamos -C:

tar -xzvf backup.tar.gz -C /tmp/restauracion/

tar y rsync son complementarios: tar empaqueta y comprime en un solo archivo, mientras que rsync sincroniza directorios enteros manteniendo la estructura. Para copias de seguridad remotas frecuentes, rsync suele ser más eficiente porque solo transfiere los cambios.