Pesquisa de site

Como compactar arquivos mais rapidamente com a ferramenta Pigz no Linux


Escrito por Mark Adler, Pigz é um acrônimo para Implementação Paralela de GZip. É uma ferramenta de compactação bacana que ajuda a compactar arquivos em velocidades extremamente rápidas. Como uma melhoria do bom e velho utilitário gzip, ele utiliza vários núcleos e processadores para compactar dados.

Este guia esclarece mais sobre o Pigz e mostra como usar o utilitário para compactar arquivos em sistemas Linux.

Instalando Pigz em sistemas Linux

Instalar o Pigz é um passeio no parque porque o pacote Pigz está contido em repositórios oficiais das principais distribuições, como Debian e CentOS .

Você pode instalar o Pigz em um único comando em várias distribuições usando seus respectivos gerenciadores de pacotes como segue.

sudo apt install pigz  [On Debian/Ubuntu]
sudo dnf install pigz  [On CentOS/RHEL/Fedora]
sudo pacman -S pigz    [On Arch/Manjaro Linux] 
OR
yay -S pigz

Como compactar arquivos com Pigz

Para compactar um único arquivo em formato zip, use a sintaxe.

pigz filename

Neste guia, usaremos o arquivo ubuntu-20.04-beta-desktop-amd64.iso para fins de demonstração. Para compactar o arquivo execute:

pigz ubuntu-20.04-beta-desktop-amd64.iso

No entanto, o comando exclui o arquivo original após a compactação, como você deve ter notado. Para reter o arquivo original após a compactação, execute a opção -k conforme mostrado.

pigz -k ubuntu-20.04-beta-desktop-amd64.iso

Pela saída, podemos ver claramente que o arquivo original foi retido mesmo após a compactação.

Verifique o conteúdo do arquivo compactado no Linux

Para verificar o conteúdo do arquivo compactado, incluindo as estatísticas da taxa de compactação alcançada, use a opção -l com o comando pigz:

pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz

A partir da saída, você não só consegue ver o conteúdo do arquivo compactado, mas também a porcentagem de compactação que neste caso é 1,9%.

Além disso, você pode usar vários níveis de compactação que existem de 1 a 9. Os seguintes níveis de compactação são suportados:

  • 6 – Compressão padrão.
  • 1 – Mais rápido, mas oferece menos compactação.
  • 9 – Compressão mais lenta, mas melhor.
  • 0 – Sem compactação.

Por exemplo, para compactar o arquivo com o melhor nível de compactação, execute:

pigz -9 ubuntu-20.04-beta-desktop-amd64.iso

Como compactar um diretório com Pigz

Por si só, o Pigz não possui opções para compactar uma pasta, ele apenas compacta arquivos únicos. Como solução alternativa, pigz é usado em conjunto com o comando tar para compactar diretórios.

Para compactar um diretório, use o argumento --use-compress-program conforme mostrado:

tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1

Como limitar o número de processadores durante a compactação

Mencionamos anteriormente que a ferramenta utilitária pigz usa vários núcleos e processadores ao compactar arquivos. Você pode especificar o número de núcleos a serem usados usando a opção -p.

Neste exemplo abaixo, usamos a melhor compactação (denotada por -9) com 4 processadores (-p4), mantendo o original arquivo (-k).

pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso

Como descompactar arquivos usando Pigz

Para descompactar um arquivo ou diretório usando pigz, use a opção -d ou o comando unpigz.

Usando nosso arquivo ISO compactado, o comando será:

pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
unpigz dir1.tar.gz

Comparação entre Pigz e Gzip

Fomos um pouco mais longe e colocamos o Pigz contra a ferramenta Gzip.

Aqui estão os resultados:

Compressão Gzip

time gzip ubuntu-20.04-beta-desktop-amd64.iso

Compressão Pigz

time pigz ubuntu-20.04-beta-desktop-amd64.iso

Descompressão Gzip

time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz

Descompressão Pigz

time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz

A partir da comparação, podemos ver claramente que os tempos de compactação e descompactação para Pigz são muito mais curtos que para Gzip. Isso implica que a ferramenta de linha de comando Pigz é muito mais rápida que a ferramenta Gzip

Para obter mais detalhes sobre o uso do comando pigz, visite as páginas de manual.

man pigz

Além disso, execute o comando abaixo para visualizar todas as opções disponíveis para uso com o comando pigz.

pigz --help

E aí está. Abordamos a ferramenta de linha de comando pigz e mostramos como você pode compactar e descompactar arquivos. Fomos além e comparamos Pigz com Gzip e descobrimos que Pigz é o melhor dos dois em termos de velocidade de compressão e descompressão. Convidamos você a experimentar e nos contar como foi.