Introducción
En el mundo de Linux, la compresión de archivos es una tarea cotidiana que permite ahorrar espacio de almacenamiento y acelerar la transferencia de datos. Entre las herramientas disponibles, el comando xz destaca por su alta relación de compresión y su eficiencia en el uso de CPU y memoria.
¿Qué es xz?
xz es una utilidad de compresión basada en el algoritmo LZMA2, que forma parte del proyecto XZ Utils. Fue diseñada para ofrecer una compresión superior frente a gzip y bzip2, manteniendo una velocidad de descompresión razonable.
Ventajas de xz
- Relación de compresión muy alta, a menudo un 20‑30 % mejor que gzip y un 10‑15 % mejor que bzip2.
- Bajo consumo de memoria durante la compresión, configurable según las necesidades.
- Velocidad de descompresión competitiva, adecuada para uso frecuente.
- Soporte para archivos .tar.xz, permitiendo empaquetar y comprimir en un solo paso.
Instalación
En la mayoría de distribuciones modernas, xz viene preinstalado. Si falta, se puede instalar con el gestor de paquetes:
- Debian/Ubuntu:
sudo apt-get install xz-utils - Fedora:
sudo dnf install xz - Arch Linux:
sudo pacman -S xz
Uso básico
Para comprimir un archivo:
xz -z archivo.txt
Esto genera archivo.txt.xz y elimina el original por defecto. Para descomprimir:
xz -d archivo.txt.xz
O bien usar la variante unxz:
unxz archivo.txt.xz
Opciones avanzadas
-eo--extreme: incrementa el esfuerzo de compresión, logrando tamaños menores a costa de más tiempo y CPU.-T0: permite que xz use todos los hilos disponibles para compresión paralela.-9a-0: ajusta el nivel de compresión (9 es el más fuerte, 0 el más rápido).--verbose: muestra información detallada sobre el proceso.
Comparación con gzip y bzip2
En pruebas típicas de archivos de texto y código fuente, xz alcanza una reducción de tamaño entre un 30 % y un 50 % respecto al archivo original, mientras que gzip suele quedar entre un 10 % y un 20 % y bzip2 entre un 20 % y un 35 %. En cuanto a velocidad, la compresión de xz es más lenta que gzip pero comparable a bzip2; la descompresión, sin embargo, es casi tan rápida como la de gzip.
Buenas prácticas
- Use la extensión
.tar.xzpara respaldos de directorios:tar -cJf copia.tar.xz directorio/. - Para backups incrementales, combine xz con herramientas como
rsyncoborgque manejen la deduplicación antes de la compresión. - Ajuste el nivel de compresión según el entorno de producción: en servidores con carga alta, prefiera niveles medios (
-6a-8) para evitar picos de CPU. - Verifique la integridad de los archivos comprimidos con
xz -t archivo.xzantes de eliminarlos.
Conclusión
El comando xz se ha consolidado como una opción poderosa para quien necesita máxima compresión sin sacrificar demasiado rendimiento. Su flexibilidad, combinada con la capacidad de aprovechar múltiples núcleos, lo hace ideal para tareas de archivado, distribución de software y copia de seguridad en sistemas Linux.