GNU/Linux >> Linux Esercitazione >  >> Linux

Come si imposta la dimensione del blocco bzip2 quando si utilizza tar?

Soluzione 1:

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

Oppure reindirizza l'output di tar a bzip2 .

Anche se dovresti notare dalla pagina man di 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.

Soluzione 2:

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

Soluzione 3:

bzip2 dimensioni dei blocchi

bzip2 ha alcune opzioni di dimensione del blocco. Dalla pagina di manuale 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.

Dato che vuoi una compressione più veloce con meno riguardo al rapporto di compressione, usa bzip2 , sembra che tu voglia il -1 (o --fast ) opzione.

Impostazione bzip2 dimensione del blocco quando si utilizza tar

Puoi impostare bzip2 dimensione del blocco quando si usa tar in un paio di modi.

Il metodo UNlX

Il mio modo preferito, il modo UNlX, è quello in cui usi ogni strumento in modo indipendente e li combini tramite pipe.

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

Puoi leggerlo come "crea .tar con tar -> zippalo con bzip2 -> scrivilo in [ARCHIVE].tar.bz2 ".

Variabile d'ambiente

È anche possibile impostare bzip2 opzioni tramite la variabile d'ambiente BZIP2 . Dalla pagina di manuale 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.

Quindi, per usarlo con tar , potresti ad esempio fare:

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

Alternative più veloci

bzip2 utilizza un algoritmo di compressione lenta. Se sei preoccupato per la velocità, potresti esaminare algoritmi alternativi, come quelli usati da gzip o lzop . Ecco un bell'articolo che confronta gli strumenti di compressione:https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/


Linux
  1. [Linux]:come escludere la directory quando si utilizza il comando shell "tar".

  2. Come impostare il blocco GeoIP utilizzando Apache

  3. Come ottenere la dimensione di tar.gz nel file (MB) in python

  4. Come impostare il limite di lunghezza della linea quando si utilizza grep (risultato del filtro per lunghezza della linea)?

  5. Come faccio a scaricare in modo ricorsivo una directory usando smbclient?

Come visualizzare gli asterischi quando si digita la password nel terminale

Come bloccare una porta utilizzando un firewall in Linux

Come bloccare XML-RPC in WordPress usando Nginx/Apache

Come bloccare gli attacchi di forza bruta SSH usando SSHGUARD

Come configurare il server APT-Caching utilizzando Apt-Cacher NG su Ubuntu 20.04

Come bloccare un indirizzo IP usando .htaccess?