Est-il possible d'extraire un fichier tar.gz plus rapidement que tar -zxvf filenamehere?
Nous avons de gros fichiers et essayons d'optimiser l'opération.
Est-il possible d'extraire un fichier tar.gz plus rapidement que tar -zxvf filenamehere?
Nous avons de gros fichiers et essayons d'optimiser l'opération.
Réponses:
pigz est une version parallèle de gzip. Bien qu'il n'utilise qu'un seul thread pour la décompression, il lance 3 threads supplémentaires pour la lecture, l'écriture et le calcul de contrôle. Vos résultats peuvent varier, mais nous avons constaté une amélioration significative de la décompression de certains de nos ensembles de données. Une fois que vous avez installé pigz, le fichier tar peut être extrait avec:
pigz -dc target.tar.gz | tar xf -
tar -xvf --use-compress-program=pigz filenamehere. ( -zéquivaut à --use-compress-program=gzip.) Sinon, vous pouvez même créer gzipun lien symbolique vers pigz, et continuer à utiliser -zxvf.
-xfaprès --use-compress-program=pigz, ou j'ai eu une erreur. Pour une raison quelconque, ce n'était pas plus rapide que d'utiliser gzip.
bzip2il y a pbzip2( ppour parallèle). tar --use-compress-program=pbzip2 -xvf file.tar.bz2.
pvcommande pour afficher une progression, ou un équivalent, tout en utilisant le --use-compress-program=pigzdrapeau? Pendant la compression, je peux le faire gnutar --use-compress-program="pigz | pv" -cf target.tar.gz YourData, mais je ne suis pas sûr de savoir comment le faire pendant la décompression / décompression.
s'il y a beaucoup de petits fichiers dans la boule de tar, annulez le paramètre 'v', essayez à nouveau!
--checkpoint=NUMBER( affiche les messages de progression à chaque NUMBERème enregistrement ) au lieu de -v.
Si vous voulez voir des progrès, utilisez quelque chose comme pv. Voici un exemple:
pigz -dc mysql-binary-backup.tar.gz | pv | tar xf -
$ tar -zxvfméthode est liée à IO ou CPU?