GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Anda mengatur ukuran blok bzip2 saat menggunakan tar?

Solusi 1:

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

Atau kirimkan output dari tar ke bzip2 .

Meskipun Anda harus mencatat dari halaman manual 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.

Solusi 2:

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

Solusi 3:

bzip2 ukuran blok

bzip2 memiliki beberapa opsi ukuran blok. Dari halaman manual 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.

Karena Anda menginginkan kompresi yang lebih cepat dengan rasio kompresi yang lebih sedikit, gunakan bzip2 , sepertinya Anda menginginkan -1 (atau --fast ) opsi.

Menyetel bzip2 ukuran blok saat menggunakan tar

Anda dapat menyetel bzip2 ukuran blok saat menggunakan tar dalam beberapa cara.

Cara UNlX

Cara favorit saya, cara UNlX, adalah cara di mana Anda menggunakan setiap alat secara terpisah, dan menggabungkannya melalui pipa.

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

Anda dapat membacanya sebagai "buat .tar dengan tar -> bzip dengan bzip2 -> tulis ke [ARCHIVE].tar.bz2 ".

Variabel lingkungan

Dimungkinkan juga untuk menyetel bzip2 opsi melalui variabel lingkungan BZIP2 . Dari halaman manual 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.

Jadi untuk menggunakannya dengan tar , misalnya Anda dapat melakukan:

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

Alternatif yang lebih cepat

bzip2 menggunakan algoritma kompresi lambat. Jika Anda mengkhawatirkan kecepatan, Anda dapat menyelidiki algoritme alternatif, seperti yang digunakan oleh gzip atau lzop . Ini adalah artikel bagus yang membandingkan alat kompresi:https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/


Linux
  1. Cara Mengatur Blok GeoIP menggunakan Apache

  2. Cara Kompres dan Ekstrak File dan Direktori di Linux Menggunakan gzip dan bzip2

  3. Cara mendapatkan ukuran file tar.gz dalam (MB) dengan python

  1. [Linux] :Cara mengecualikan direktori saat menggunakan perintah shell "tar"

  2. Bagaimana cara mengatur batas panjang garis saat menggunakan grep (Filter hasil berdasarkan panjang garis)?

  3. Bagaimana cara mengunduh direktori secara rekursif menggunakan smbclient?

  1. Bagaimana Cara Mengatur Parameter Saat Pipa Bash Script Ke Bash?

  2. Cara Menemukan Shell Yang Anda Gunakan di Linux

  3. Bagaimana cara mengatur batas Ukuran Unggah File di Apache?