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.