Bzip2 e gzip usam apenas um núcleo, embora muitos computadores tenham mais de um núcleo. Mas existem programas como lbzip2, pbzip2 e pigz, que usam todos os núcleos disponíveis e prometem ser compatíveis com bzip2 e gzip.
Então, qual é a melhor maneira de usar esses programas por padrão, de modo que tar cfa file.tar.bz2 directory
use lbzip2 / pbzip2 em vez de bzip2? Claro que não quero quebrar nada.
Respostas:
Você pode vincular bzip2, bunzip2 e bzcat a lbzip2 e gzip, gunzip, gzcat e zcat a pigz:
Eu escolhi o lbzip2 em vez do pbzip2 porque o /usr/share/doc/lbzip2/README.gz parece "melhor" do que o /usr/share/doc/pbzip2/README.gz. Além disso, o alcatrão manuais fala sobre lbzip2 .
Editar:
O pigz-2.1.6, incluído no Precise Pangolin, se recusa a descomprimir arquivos com sufixos desconhecidos (por exemplo, initramfs - *. img). Isso é corrigido no pigz-2.2.4, fornecido com o Quantal. Portanto, você pode esperar até Quantal, instalar o pacote Quantal manualmente ou não vincular gunzip / gzcat / zcat ainda.
fonte
sudo dpkg-divert --divert /bin/gunzip.orig --rename /bin/gunzip; sudo ln -s /usr/bin/pigz /bin/gunzip
mas existe a possibilidade de o pigz não ser 100% compatível com todos os sinalizadores gzip, portanto, tenha cuidado.A idéia do link simbólico é muito boa.
Outra solução de trabalho é alias
tar
:ou respectivamente
Ele cria outro tipo de padrão.
fonte
A resposta do link simbólico está realmente incorreta. Substituiria o gzip padrão (ou bzip2) por pigz (ou pbzip2) para todo o sistema. Embora as implementações paralelas sejam notavelmente semelhantes às versões de processo único, diferenças sutis nas opções de linha de comando podem interromper os processos principais do sistema que dependem dessas diferenças.
A opção "--use-compress-program" é uma opção muito melhor. Uma segunda opção (assim como o alias) seria definir a variável de ambiente TAR_OPTIONS suportada pelo GNU tar:
fonte
Uma opção fascinante é recompilar o tar para usar multithread por padrão. Copiado desta resposta stackoverflow
Recompilar com substituição
Se você criar tar a partir de fontes, poderá recompilar com parâmetros
Após recompilar o tar com essas opções, você pode verificar a saída da ajuda do tar:
fonte
Use em suas ~ / .bash_aliases:
fonte
gzip
(ougunzip
) diretamente na linha de comando do shell. Outros programas (comotar
) não serão afetados por isso.