Para resolver esse problema, os desenvolvedores desenvolveram algoritmos e ferramentas de compactação capazes de comprimir dados em tempo real, reduzindo o tamanho e o poder de processamento necessário. Uma dessas ferramentas é Zstandard, comumente conhecida como ZSTD.
O ZSTD é um algoritmo de compressão em tempo real gratuito, de código aberto, desenvolvido por Yann Collect, um funcionário do Facebook. O ZSTD é muito rápido e oferece excelentes índices de compressão. É um algoritmo de compressão sem perdas escrito em C, mas possui implementações de API em outras linguagens de programação populares, como Python, Java, C#, JavaScript e muito mais. Ele também fornece funções de compressão e descompressão na memória.
Para verificar se o ZSTD suporta o idioma desejado, verifique o recurso fornecido abaixo:
https: // facebook.Github.io/zstd/
Se você deseja analisar informações de benchmarking sobre o ZSTD, use o link abaixo:
https: // github.com/facebook/zstd
Este tutorial mostrará como compilar e instalar a ferramenta ZSTD no Linux e depois usá -lo para executar a compactação e descompressão de dados.
Como instalar o ZSTD
Para usar o ZSTD, precisamos instalá -lo compilando a partir das fontes. Dependendo do sistema que você está executando e da configuração, pode ser necessário instalar dependências e ferramentas para executar a compilação com sucesso.
Comece atualizando seu sistema e instalando o GNU fabricando o comando:
Atualização de sudo apt-get
Atualização de sudo apt-get
sudo apt-get -y instalar o alcatrão wget-essencial de construção
Depois de instalar todas as ferramentas, podemos baixar os arquivos de origem e compilá -los. Comece navegando onde você leu, escreve e executa permissões. ~/Desktop
CD ~/Desktop
Em seguida, use o WGET para baixar os arquivos no diretório.
wget https: // github.com/facebook/zstd/liberações/download/v1.4.9/ZSTD-1.4.9.alcatrão.gz
Agora desarquivo o arquivo de download e navegue no diretório usando os comandos como:
TAR XVF ZSTD-1.4.9.alcatrão.gz
CD ZSTD-1.4.9
As etapas finais são instalar o ZSTD usando o Make and Make Instale dentro do diretório ZSTD.
sudo make
sudo make install
Depois que a compilação e a instalação concluírem com êxito, você poderá começar a usar o ZSTD no seu sistema para compactar e descomprimir arquivos.
Como usar o ZSTD
O ZSTD não adia dos métodos populares de compressão e descompressão. Embora a tecnologia e a implementação subjacentes sejam diferentes de outras ferramentas, a compactação de um arquivo com ZSTD é semelhante à sintaxe TAR e GZIP.
Como comprimir um arquivo
Para comprimir um arquivo, ligue para o comando ZSTD seguido pela bandeira -z, que diz ao ZSTD para fazer a compactação e, finalmente, o nome do arquivo para compactar.
Por exemplo, o comando abaixo comprime o arquivo de backup do sistema em um .arquivo zst.
$ sudo zstd -z system -backup
A saída de comando como mostrado abaixo:
Sistema-backup: 100.00% (1821109 => 1821164 bytes, backup do sistema.zst)
$ LS Sistema-backup
Você deve ver um arquivo com .Extensão ZST como:
Sistema-backup.zst
Depois que o comando é executado, o arquivo é comprimido e cria um nome de arquivo .arquivo zst que você pode descomprimir.
Comprimir e remover o arquivo de origem
Como você pode ver no comando acima, o arquivo de origem não é removido por padrão após a compactação. Você pode especificar para remover os arquivos de origem usando o sinalizador -rm:
$ sudo zstd -z -rm sistema -backup
Sistema-backup: 100.00% (1821109 => 1821164 bytes, backup do sistema.zst)
$ ls
Sistema-backup.zst
Especificar o sinalizador -RM remove automaticamente o arquivo de origem.
Obtenha informações do arquivo
Para exibir informações relacionadas sobre o arquivo compactado ZSTD, você pode usar o sinalizador -l seguido pelo nome do arquivo. As informações exibidas incluem o tamanho do arquivo, a taxa de compressão e a soma de verificação do arquivo
$ ZSTD -LV Sistema -backup.zst
*** Interface da linha de comando ZSTD 64 bits v1.4.9, por Yann Collet ***
Sistema-backup.ZST # Zstandard Frames: 1
Tamanho da janela: 1.74 MB (1821109 b)
Tamanho compactado: 1.74 MB (1821164 b)
Tamanho descomprimido: 1.74 MB (1821109 b)
Proporção: 1.0000
Verifique: xxh64
Especifique o nível de compressão
Para especificar explicitamente o nível de compressão, use o - onde o nível é um valor que varia de 1 - 19. O nível de compressão padrão é 3. Você também pode desbloquear níveis mais altos de compressão, eu.e., Nível 20 - 22.
OBSERVAÇÃO: Quanto maior o nível de compressão, maior uso da memória.
Por exemplo, para comprimir um arquivo com um nível de compressão de 10, use o comando:
ZSTD -Z -10 -RM Sistema -backup
Especifique a velocidade de compressão.
O ZSTD também permite que você defina a velocidade de compressão que varia de 1 - para. A velocidade de compressão é inversamente proporcional à taxa de compressão. A velocidade de compressão padrão é 1 e quanto maior o valor, mais rápido a velocidade de compressão.
Por exemplo, para usar a velocidade máxima de compressão, use o comando:
sudo zstd -z - -fast = 10 backup de sistema
Especifique o formato de compressão
Você também pode especificar o formato de compressão a ser usado se não gostar da compactação ZST padrão. Os formatos incluem ZSTD, GZIP, XZ, LZMA e LZ4.
Use o sinalizador -Format e especifique o formato como:
zstd -z - -format = gzip System -backup
Lista de arquivos de compactação
Suponha que você tenha uma lista de arquivos que você gostaria de comprimir de uma só vez. O ZSTD permite que você passe um arquivo contendo uma lista de arquivos e os comprime recursivamente.
Por exemplo, uma lista de arquivos.txt contendo os arquivos
/Home/User/Mysql-Backup
/backups/configuração
/home/desktop/mídia
/Sync/2021/Usuários
Depois de salvar o arquivo, você pode passar a lista para o ZSTD com todas as outras opções para executar nos arquivos.
Sudo Zstd -z -v -rm -lista de filelistas.TXT
Este comando comprimirá todos os arquivos especificados no arquivo de texto e os removerá após a conclusão.
Descomprimir um arquivo
Para descomprimir um arquivo, você pode usar o sinalizador -d com o comando ZSTD ou simplesmente usar o comando unzstd para descomprimir.
Por exemplo:
SUDO UNZSTD Sistema-backup.zst
SUDO ZSTD -D Sistema -backup.zst
Verifique a integridade do arquivo
Para testar a integridade de um arquivo compactado ZST, use o sinalizador -t como mostrado no comando abaixo:
SUDO ZSTD -T Sistema -backup.zst
Conclusão
Como podemos ver nos exemplos, o ZSTD é um poderoso algoritmo de compressão com vários casos de uso. Para saber mais sobre como funciona e sua implementação, verifique a página do homem e experimente.
Obrigado pela leitura.