Desenvolvedores do Arch Linux planejam usar o zstd no pacman

Para aumentar a velocidade da instalação dos pacotes, os desenvolvedores do Arch Linux planejam usar o zstd no pacman. Confira os detalhes.

O Zstandard (zstd) foi projetado para fornecer uma taxa de compactação comparável à do algoritmo DEFLATE, mas mais rápida, especialmente para descompactação. Pode ser ajustado com níveis de compressão que variam de 5 negativos (o mais rápido) a 22 (a velocidade de compressão mais lenta, mas a melhor taxa de compressão).

Desenvolvedores do Arch Linux planejam usar o zstd no pacman
Desenvolvedores do Arch Linux planejam usar o zstd no pacman

O pacote zstd inclui implementações paralelas de compactação e descompactação. A partir da versão 1.3.2, o zstd opcionalmente implementa uma pesquisa e desduplicação de longo alcance semelhante ao rzip ou lrzip.

A taxa de compressão pode variar em um fator de 20 ou mais entre os níveis mais rápidos e mais lentos, enquanto a descompressão é uniformemente rápida, variando em menos de 20% entre os níveis mais rápidos e mais lentos.

O Zstd possui um nível máximo de compactação, fornece uma taxa de compactação próxima a lzma, lzham e ppmx e funciona melhor que o lza ou o bzip2.

O Zstandard atinge o limite atual de Pareto, pois é descompactado mais rapidamente do que qualquer outro algoritmo atualmente disponível com uma taxa de compactação semelhante ou melhor.

Agora, os desenvolvedores do Arch Linux anunciaram recentemente em uma declaração sobre sua intenção de habilitar o suporte ao algoritmo de compactação zstd (incluído desde novembro de 2017 no Linux Kernel 4.14) no gerenciador de pacotes pacman.

Desenvolvedores do Arch Linux planejam usar o zstd no pacman

Como os desenvolvedores do Arch Linux fizeram a comparação de diferentes algoritmos de compactação, no final, eles escolheram usar o zstd em vez do algoritmo de compactação padrão no devtools.

O método de compactação atual é “xz-c-z-“, que é de fio único e lento; portanto, a equipe deseja substituí-lo por um algoritmo mais rápido.

Comparado ao algoritmo xz, o uso do zstd acelerará a compactação e descompactação de pacotes (já que oferece uma grande janela de pesquisa e um rápido estágio de codificação de entropia, usando o Finite State Entrop), mantendo o nível de compactação.

Como resultado, mudar para zstd aumentará a velocidade da instalação do pacote.

O algoritmo de compactação zstd oferece compactação e descompactação mais rápidas, mantendo uma taxa de compactação comparável a xz. Isso irá acelerar a instalação do pacote com pacman, sem maiores inconvenientes. Desenvolvedores do Arch Linux comentaram no comunicado

O suporte para compactar pacotes usando o zstd que eles planejam integrar posteriormente aparecerá na versão Pacman 5.2, mas a instalação desses pacotes exigirá uma versão libarchive do zarchd.

Pacman é o gerenciador de pacotes Linux Arch Linux, é capaz de resolver dependências e baixar e instalar automaticamente todos os pacotes necessários. Em teoria, o usuário só precisa executar uma única ordem para atualizar completamente o sistema.

O Pacman usa arquivos compactados em tar e compactados em gzip ou xz para todos os pacotes, cada um contendo binários compilados. Os pacotes são baixados via FTP; você também pode usar HTTP e arquivos locais, dependendo de como cada repositório está configurado.

Os dicionários podem ter um grande impacto na taxa de compactação de arquivos pequenos, portanto o algoritmo Zstandard pode usar um dicionário de compactação fornecido pelo usuário. Ele também oferece um modo de treinamento, capaz de gerar um dicionário a partir de um conjunto de amostras.

Em particular, um dicionário pode ser carregado para processar grandes conjuntos de arquivos com redundância entre arquivos, mas não necessariamente dentro de cada arquivo, por exemplo, arquivos de log.

Portanto, antes de iniciar a distribuição de pacotes compactados usando o zstd nos canais do Arch Linux, os usuários devem instalar o libarchive pelo menos na versão 3.3.3-1 (um pacote com esta versão foi preparado há um ano, provavelmente, a versão necessária do libarchive já está instalada).

Pacotes compactados pelo zstd serão enviados com a extensão “.pkg.tar.zst”.

O que está sendo falado no blog

No Post found.

Post Views: 354
Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.