Mudança na extensão dos pacotes do Slackware
Em 8 de maio deste ano, o Patrick anunciou a mudança nas extensões dos pacotes do Slackware, de tgz para txz. Mais do que uma mutança na extensão, foi mudado o compactador dos pacotes no Slackware, removendo o tradicional gzip para o uso do xz.
A mudança é transparente para os usuários do Slackware, mas para a distribuição, esta atitude permitirá que o Slackware continue a ser distribuído em um DVD de 4.7GB, ainda por muito tempo. Para se ter uma ideia, a última versão do Slackware (12.2) ocupa 3.9GB em tgz. Se compactada pelo xz, espera-se que ocupe algo entre 2,8GB a 3,1GB.
No momento, a versão current, com todas as atualizações e novos pacotes, ocupa não mais que 3,6GB, ou seja, 400MB menos que a versão anterior. A diferença somente não é maior pois 2,0GB destes pacotes são de fontes, as quais geralmente são distribuídas em bzip2.
O xz utiliza o algoritmo de compactação lzma, que é utilizado por padrão pelo utilitário 7-zip. Em suma, ele permite a compactação de arquivos em até três vezes menos tamanho que o gzip, além de uma descompactação relativamente rápida.
No Changelog da distribuição, o Patrick apresenta uma comparação na compactação com o gzip e o xz do pacote de fonte do kernel Linux, que descompactado ocupa 339.722.240 bytes. Fiz mais alguns testes para ter uma ideia melhor da questão. Segue abaixo a tabela de com as comparações:
Compact. |
Tempo de compact. em segundos |
Tempo de descompac. em segundos |
Comparação no tempo de descompressão |
Tamanho Compactado em bytes |
Compact./ relação ao original |
Compact./ relação ao gzip |
gzip |
24,148s |
3,716s |
100% |
74.479.700 |
21,9% |
100% |
bzip2 |
1m48,430s |
23,528s |
633% |
57.805.912 |
17,0% |
77,6% |
xz |
5m49.511s |
6,510s |
175% |
49.150.104 |
14,5% |
66,0% |
Como observado na tabela acima, o xv é muito lento na compressão, se comparado ao bzip2 e ao gzip. Isto não irá interferir no usuário do Slackware, a menos que este esteja fazendo seus próprios pacotes. Na descompactação, o xz é quase tão rápido quanto o gzip, enquanto que o bzip2, levou até seis vezes mais tempo neste aquivo de teste. Na taxa de compressão, o xz superou a todos os compactadores, sendo 9% superior ao bzip2 e 34%
superior ao gzip.
Quanto ao consumo de memória na descompactação, o gzip chegou a requisitar 4MB, em minha máquina, enquanto que o bzip2 algo em torno de 9MB, aproximadamente o dobro do gzip. Já o xz, consumiu quatro vezes mais memória que o gzip, aproximadamente 16MB, mas ainda assim é um consumo modesto se comparada às memórias das máquinas atuais e o benefício do gando no desempenho da Taxa de Compactação.
Esta combinação de baixo tempo de descompactação, alta taxa de compressão e baixo consumo de memória, é que faz do xz um ótimo candidato a compressor de pacotes para o Slackware.
Uma outra questão levantada na ocasião, foi quanto a possibilidade do Slackware criar uma extensão própria, como a exemplo da Debian (.deb) e da Red Hat (.rpm), mas esta sugestão já foi descartada pelo Patrick, pois acredita que é mais transparente manter o nome da extensão, como uma abreviação do processo de empacotamento do pacote (tar + xz = tgz, em cordo com o princípio KISS).
Deixe uma resposta