Para resolver este problema, los desarrolladores desarrollaron algoritmos de compresión y herramientas capaces de comprimir datos en tiempo real, reduciendo el tamaño y la potencia de procesamiento requeridos. Una de estas herramientas es Zstandard, comúnmente conocida como Zstd.
Zstd es un algoritmo de compresión en tiempo real, de código abierto y gratuito desarrollado por Yann Collect, un empleado de Facebook. Zstd es muy rápido y ofrece excelentes relaciones de compresión. Es un algoritmo de compresión sin pérdidas escrito en C, pero tiene implementaciones de API en otros lenguajes de programación populares como Python, Java, C #, JavaScript y muchos más. También proporciona funciones de compresión y descompresión en memoria.
Para comprobar si Zstd admite el idioma que desea, consulte el recurso que se proporciona a continuación:
https: // facebook.github.io / zstd /
Si desea ver la información de evaluación comparativa sobre Zstd, use el enlace a continuación:
https: // github.com / facebook / zstd
Este tutorial le mostrará cómo compilar e instalar la herramienta Zstd en Linux, luego usarla para realizar la compresión y descompresión de datos.
Cómo instalar Zstd
Para usar Zstd, necesitamos instalarlo compilando desde las fuentes. Dependiendo del sistema que esté ejecutando y la configuración, es posible que deba instalar dependencias y herramientas para realizar la compilación correctamente.
Comience actualizando su sistema e instalando GNU make usando el comando:
sudo apt-get updatesudo apt-get upgrade
sudo apt-get -y install build-essential wget tar
Una vez que tenemos todas las herramientas instaladas, podemos descargar los archivos fuente y compilarlos. Empiece por navegar donde tiene permisos de lectura, escritura y ejecución. ~ / Escritorio
cd ~ / EscritorioA continuación, use wget para descargar los archivos en el directorio.
wget https: // github.com / facebook / zstd / releases / download / v1.4.9 / zstd-1.4.9.alquitrán.gzAhora desarchive el archivo de descarga y navegue al directorio usando los comandos como:
tar xvf zstd-1.4.9.alquitrán.gzcd zstd-1.4.9
Los pasos finales son instalar Zstd usando make y make install dentro del directorio Zstd.
sudo hacersudo make install
Una vez que la compilación y la instalación se completen correctamente, puede comenzar a usar Zstd en su sistema para comprimir y descomprimir archivos.
Cómo utilizar Zstd
Zstd no difiere en absoluto de los métodos populares de compresión y descompresión. Aunque la tecnología y la implementación subyacentes son diferentes de otras herramientas, comprimir un archivo con Zstd es similar a la sintaxis tar y gzip.
Cómo comprimir un archivo
Para comprimir un archivo, llame al comando zstd seguido de la marca -z, que le dice a zstd que haga la compresión y, finalmente, el nombre del archivo a comprimir.
Por ejemplo, el siguiente comando comprime el archivo de respaldo del sistema en un .archivo zst.
$ sudo zstd -z copia de seguridad del sistemaLa salida del comando como se muestra a continuación:
respaldo del sistema: 100.00% (1821109 => 1821164 bytes, respaldo del sistema.zst)$ ls copia de seguridad del sistema
Debería ver un archivo con .extensión zst como:
respaldo del sistema.zstUna vez que se ejecuta el comando, el archivo se comprime y crea un nombre de archivo .zst archivo que puede descomprimir.
Comprimir y eliminar el archivo fuente
Como puede ver en el comando anterior, el archivo de origen no se elimina de forma predeterminada al comprimir. Puede especificar eliminar los archivos de origen utilizando la marca -rm:
$ sudo zstd -z --rm copia de seguridad del sistemarespaldo del sistema: 100.00% (1821109 => 1821164 bytes, respaldo del sistema.zst)
$ ls
respaldo del sistema.zst
Especificar el indicador -rm elimina automáticamente el archivo de origen.
Obtener información de archivo
Para mostrar información relacionada sobre el archivo comprimido Zstd, puede usar el indicador -l seguido del nombre del archivo. La información mostrada incluye el tamaño del archivo, la relación de compresión y la suma de comprobación del archivo
$ zstd -lv copia de seguridad del sistema.zst*** interfaz de línea de comandos zstd de 64 bits v1.4.9, por Yann Collet ***
respaldo del sistema.zst # Z Marcos estándar: 1
Tamaño de la ventana: 1.74 MB (1821109 B)
Tamaño comprimido: 1.74 MB (1821164 B)
Tamaño descomprimido: 1.74 MB (1821109 B)
Proporción: 1.0000
Comprobar: XXH64
Especifique el nivel de compresión
Para especificar explícitamente el nivel de compresión, use el - donde el nivel es un valor que va de 1 a 19. El nivel de compresión predeterminado es 3. También puede desbloquear niveles de compresión más altos, i.mi., nivel 20 - 22.
NOTA: Cuanto mayor sea el nivel de compresión, mayor será el uso de memoria.
Por ejemplo, para comprimir un archivo con un nivel de compresión de 10, use el comando:
zstd -z -10 --rm copia de seguridad del sistemaEspecificar velocidad de compresión.
Zstd también le permite establecer la velocidad de compresión en un rango de 1 - a. La velocidad de compresión es inversamente proporcional a la relación de compresión. La velocidad de compresión predeterminada es 1 y cuanto mayor sea el valor, más rápida será la velocidad de compresión.
Por ejemplo, para usar la velocidad máxima de compresión, use el comando:
sudo zstd -z --fast = 10 copia de seguridad del sistemaEspecificar formato de compresión
También puede especificar el formato de compresión que se utilizará si no le gusta la compresión zst predeterminada. Los formatos incluyen zstd, gzip, xz, lzma y lz4.
Utilice la marca -format y especifique el formato como:
zstd -z --format = copia de seguridad del sistema gzipComprimir lista de archivos
Suponga que tiene una lista de archivos que le gustaría comprimir todos a la vez. Zstd le permite pasar un archivo que contiene una lista de archivos y los comprime de forma recursiva.
Por ejemplo, una lista de archivos.txt que contiene los archivos
/ inicio / usuario / mysql-backup/ backups / config
/ home / Desktop / media
/ sync / 2021 / users
Una vez que guarde el archivo, puede pasar la lista a Zstd con todas las demás opciones para realizar en los archivos.
sudo zstd -z -v --rm - lista de lista de archivos.TXTEste comando comprimirá todos los archivos especificados en el archivo de texto y los eliminará al finalizar.
Descomprime un archivo
Para descomprimir un archivo, puede usar la marca -d con el comando zstd o simplemente usar el comando unzstd para descomprimir.
Por ejemplo:
sudo unzstd copia de seguridad del sistema.zstsudo zstd -d copia de seguridad del sistema.zst
Verificar la integridad del archivo
Para probar la integridad de un archivo comprimido zst, use la marca -t como se muestra en el siguiente comando:
sudo zstd -t copia de seguridad del sistema.zstConclusión
Como podemos ver en los ejemplos, Zstd es un poderoso algoritmo de compresión con numerosos casos de uso. Para obtener más información sobre cómo funciona y su implementación, consulte la página de manual y experimente.
Gracias por leer.