pigz adalah versi paralel dari gzip. Meskipun hanya menggunakan utas tunggal untuk dekompresi, ia memulai 3 utas tambahan untuk membaca, menulis, dan memeriksa perhitungan. Hasil Anda mungkin bervariasi tetapi kami telah melihat peningkatan yang signifikan dalam dekompresi beberapa set data kami. Setelah Anda menginstal pigz, file tar dapat diekstraksi dengan:
+1. FWIW, Anda juga bisa menuliskannya sebagai tar -xvf --use-compress-program=pigz filenamehere. ( -zJumlah hingga --use-compress-program=gzip.) Atau, Anda bahkan gzipdapat menjadi symlink pigz, dan tetap menggunakan -zxvf.
ruakh
2
@ruakh, saya harus -xfmengejarnya --use-compress-program=pigz, atau saya mendapat kesalahan. Untuk beberapa alasan, itu tidak lebih cepat daripada menggunakan gzipsekalipun.
jonderry
Karena bzip2ada pbzip2( puntuk paralel). tar --use-compress-program=pbzip2 -xvf file.tar.bz2.
alfC
Apakah ada cara untuk menggunakan pvperintah untuk menunjukkan progres, atau equivilant, sementara juga menggunakan --use-compress-program=pigzflag? Selama kompresi, saya bisa melakukannya gnutar --use-compress-program="pigz | pv" -cf target.tar.gz YourData, tetapi tidak yakin bagaimana melakukan ini selama untar / uncompression.
Stefan Lasiewski
13
jika ada banyak banyak file kecil di bola tar, batalkan parameter 'v', coba lagi!
Saya tidak pernah menggunakan param -v. Tidak tahu mengapa orang membutuhkan banyak kebisingan di konsol.
Eimantas
9
@Eimantas Ketika Anda menghapus sesuatu yang berisi banyak file multi-gigabyte, Anda akan menginginkan beberapa indikasi kemajuan. :)
Michael Hampton
@TimHughes: itu benar-benar hebat untuk diketahui, silakan kirim sebagai jawaban terpisah!
smci
Michael Hampton jika Anda memiliki file multi-gigabyte tetapi dicampur dengan daftar besar file kecil Anda memiliki alasan yang baik untuk tidak menggunakan -v, dalam tes lokal saya itu membuat tar sangat lambat khususnya jika Anda memiliki tar yang berjalan di server jauh via terminal, apa yang saya lakukan adalah menonton direktori du -s sehingga saya bisa melihat direktori bertambah ...
Luciano Andress Martini
Mungkin layak digunakan --checkpoint=NUMBER( menampilkan pesan kemajuan setiap NUMBER catatan ) alih-alih -v.
Stefan Lasiewski
6
Jika Anda ingin melihat kemajuan, gunakan sesuatu seperti pv. Berikut ini sebuah Contoh:
pigz -dc mysql-binary-backup.tar.gz | pv | tar xf -
$ tar -zxvf
metode ini terikat IO atau CPU?Jawaban:
pigz adalah versi paralel dari gzip. Meskipun hanya menggunakan utas tunggal untuk dekompresi, ia memulai 3 utas tambahan untuk membaca, menulis, dan memeriksa perhitungan. Hasil Anda mungkin bervariasi tetapi kami telah melihat peningkatan yang signifikan dalam dekompresi beberapa set data kami. Setelah Anda menginstal pigz, file tar dapat diekstraksi dengan:
sumber
tar -xvf --use-compress-program=pigz filenamehere
. (-z
Jumlah hingga--use-compress-program=gzip
.) Atau, Anda bahkangzip
dapat menjadi symlinkpigz
, dan tetap menggunakan-zxvf
.-xf
mengejarnya--use-compress-program=pigz
, atau saya mendapat kesalahan. Untuk beberapa alasan, itu tidak lebih cepat daripada menggunakangzip
sekalipun.bzip2
adapbzip2
(p
untuk paralel).tar --use-compress-program=pbzip2 -xvf file.tar.bz2
.pv
perintah untuk menunjukkan progres, atau equivilant, sementara juga menggunakan--use-compress-program=pigz
flag? Selama kompresi, saya bisa melakukannyagnutar --use-compress-program="pigz | pv" -cf target.tar.gz YourData
, tetapi tidak yakin bagaimana melakukan ini selama untar / uncompression.jika ada banyak banyak file kecil di bola tar, batalkan parameter 'v', coba lagi!
sumber
--checkpoint=NUMBER
( menampilkan pesan kemajuan setiap NUMBER catatan ) alih-alih-v
.Jika Anda ingin melihat kemajuan, gunakan sesuatu seperti
pv
. Berikut ini sebuah Contoh:sumber