Bzip2 et gzip n’utilisent qu’un seul cœur, bien que de nombreux ordinateurs disposent de plus d’un cœur. Mais il existe des programmes tels que lbzip2, pbzip2 et pigz, qui utilisent tous les cœurs disponibles et promettent d'être compatibles avec bzip2 et gzip.
Alors, quelle est la meilleure façon d'utiliser ces programmes par défaut, de sorte que l'on tar cfa file.tar.bz2 directory
utilise lbzip2 / pbzip2 au lieu de bzip2? Bien sûr, je ne veux rien casser.
Réponses:
Vous pouvez relier symboliquement bzip2, bunzip2 et bzcat à lbzip2, et gzip, gunzip, gzcat et zcat à pigz:
J'ai choisi lbzip2 au lieu de pbzip2 car /usr/share/doc/lbzip2/README.gz est plus "joli" que /usr/share/doc/pbzip2/README.gz. En outre, le manuel tar parle de lbzip2 .
Modifier:
pigz-2.1.6, inclus dans Precise Pangolin, refuse de décompresser les fichiers avec des suffixes inconnus (par exemple, initramfs - *. img). Ceci est corrigé dans pigz-2.2.4, qui est livré avec Quantal. Donc, vous voudrez peut-être attendre jusqu'à Quantal, installer manuellement le paquet Quantal ou ne pas encore lier gunzip / gzcat / zcat.
la source
sudo dpkg-divert --divert /bin/gunzip.orig --rename /bin/gunzip; sudo ln -s /usr/bin/pigz /bin/gunzip
mais il est possible que pigz ne soit pas compatible à 100% avec tous les indicateurs gzip, soyez donc prudent.L'idée de lien symbolique est vraiment bien.
Une autre solution de travail consiste à alias
tar
:ou respectivement
Cela crée un autre type de défaut.
la source
La réponse au lien symbolique est vraiment incorrecte. Il remplacerait le défaut gzip (ou bzip2) par pigz (ou pbzip2) pour l’ensemble du système. Bien que les implémentations parallèles soient remarquablement similaires aux versions à processus uniques, des différences subtiles dans les options de ligne de commande pourraient briser les processus système fondamentaux qui dépendent de ces différences.
L'option "--use-compress-programme" est un bien meilleur choix. Une deuxième option (un peu comme l'alias) serait de définir la variable d'environnement TAR_OPTIONS supportée par GNU tar:
la source
Une option fascinante consiste à recompiler tar pour utiliser multithread par défaut. Copié à partir de cette réponse stackoverflow
Recompiler avec remplacement
Si vous construisez tar à partir de sources, vous pouvez alors recompiler avec des paramètres
Après avoir recompilé tar avec ces options, vous pouvez vérifier la sortie de l'aide de tar:
la source
Utilisez dans vos ~ / .bash_aliases:
la source
gzip
(ougunzip
) directement sur la ligne de commande du shell.tar
Cela n'affectera pas les autres programmes (comme ).