GNU/Linux >> Tutoriels Linux >  >> Linux

Comment définir la taille du bloc bzip2 lors de l'utilisation de tar ?

Solution 1 :

export BZIP=--fast
tar cjf foo.tar.bz2 foo

Ou dirigez la sortie de tar à bzip2 .

Bien que vous devriez noter à partir de la page de manuel bzip2 :

    -1 (or --fast) to -9 (or --best)
              Set  the  block size to 100 k, 200 k ..  900 k when compressing.
              Has no effect when decompressing.  See MEMORY MANAGEMENT  below.
              The --fast and --best aliases are primarily for GNU gzip compat-
              ibility.  In particular, --fast  doesn't  make  things  signifi-
              cantly faster.  And --best merely selects the default behaviour.

Solution 2 :

tar -cjf dir.tar.bz2 --options bzip2:compression-level=9 path/to/dir/

Solution 3 :

bzip2 tailles de bloc

bzip2 a quelques options de taille de bloc. À partir de la page de manuel bzip2(1) :

-1 (or --fast) to -9 (or --best)
       Set the block size to 100 k, 200 k ..  900 k when compressing.
       Has no effect when decompressing. See MEMORY MANAGEMENT below.
       The --fast and --best aliases are primarily for GNU gzip
       compatibility. In particular, --fast doesn't make things
       significantly faster. And --best merely selects the default
       behaviour.

Comme vous voulez une compression plus rapide avec moins de taux de compression, utilisez bzip2 , vous semblez vouloir le -1 (ou --fast ).

Réglage bzip2 taille de bloc lors de l'utilisation de tar

Vous pouvez définir bzip2 taille de bloc lors de l'utilisation de tar de plusieurs façons.

La méthode UNlX

Ma méthode préférée, la méthode UNlX, est celle où vous utilisez chaque outil indépendamment et les combinez via des canaux.

$ tar --create [FILE...] | bzip2 -1 > [ARCHIVE].tar.bz2

Vous pouvez lire cela comme "créer .tar avec tar -> bzippez-le avec bzip2 -> écrivez-le en [ARCHIVE].tar.bz2 ".

Variable d'environnement

Il est également possible de définir bzip2 options via la variable d'environnement BZIP2 . À partir de la page de manuel bzip2(1) :

bzip2 will read arguments from the environment variables BZIP2 and BZIP,
in that order, and will process them before any arguments read from the
command line. This gives a convenient way to supply default arguments.

Donc, pour l'utiliser avec tar , vous pourriez par exemple faire :

$ BZIP2=-1 tar --create --bzip2 --file [ARCHIVE].tar.bz2 [FILE...]

Alternatives plus rapides

bzip2 utilise un algorithme de compression lente. Si vous êtes préoccupé par la vitesse, vous pouvez rechercher des algorithmes alternatifs, tels que ceux utilisés par gzip ou lzop . Voici un bel article comparant les outils de compression :https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/


Linux
  1. Quel âge aviez-vous lorsque vous avez commencé à utiliser Linux ?

  2. [Linux] :Comment exclure un répertoire lors de l'utilisation de la commande shell "tar"

  3. Comment définir les paramètres lorsque Pipe Bash Script to Bash ?

  4. Comment compresser et extraire des fichiers et des répertoires sous Linux à l'aide de gzip et bzip2

  5. Comment obtenir la taille de tar.gz dans le fichier (Mo) en python

Comment afficher des astérisques lorsque vous tapez un mot de passe dans un terminal

Comment bloquer un port à l'aide d'un pare-feu sous Linux

Comment bloquer XML-RPC dans WordPress en utilisant Nginx/Apache

Comment bloquer les attaques par force brute SSH à l'aide de SSHGUARD

Comment configurer APT-Caching Server à l'aide d'Apt-Cacher NG sur Ubuntu 20.04

Comment bloquer une adresse IP en utilisant .htaccess ?