Saya memiliki file yang agak besar (~ 50GB) dan perlu beberapa saat untuk dijalankan
tar xvf file.tar.bz2
di atasnya. Saya mengetahui program yang dapat melakukan kompresi paralel untuk file bzip2 tetapi tidak mengetahui program yang dapat melakukan dekompresi paralel untuk file bzip2.
Apakah ada program yang dapat mencapai ini? Apa sintaks yang tepat dari perintah yang digunakan untuk mengekstrak dari file?
Saya menggunakan ubuntu 12.04
tar
compression
gzip
bzip2
pengguna784637
sumber
sumber
tar xvf
?lbzip2 -d -n 2 file.tar.bz2
akan memberikan file tar. Yang perlu diuraikan.lbzip2
"Mengompresi atau mendekompresi operan FILE atau input standar ke file biasa atau output standar, dengan memanggil libbz2 Julian Seward dari beberapa utas. Utilitas lbzip2 menggunakan beberapa utas dan splitter terikat-input bahkan ketika mendekompresi file .bz2 dibuat oleh bzip2 standar (tetapi lihat BUGS di bawah). "Anda dapat mengompres arsip Anda dengan satu perintah menggunakan
-I
opsi tar . Ini memberi Anda kemampuan untuk menggunakan utilitas kompresi yang mendukung-d
opsi.Itu datang sangat berguna ketika berhadapan dengan arsip besar karena Anda tidak perlu memiliki dua kali ukuran tidak terkompresi yang tersedia pada sistem file target ( file tar temp dan file output) Ini juga lebih cepat karena Anda membutuhkan disk IO yang jauh lebih sedikit.
Tentu saja itu berfungsi saat mengompresi juga:
Periksa
tar --help
opsi lainnya.sumber
lbzip2 -dc file.tar.bz2 | tar xvf -
Anda dapat menggunakan pbzip2 dengan
-d
flag untuk "decompress",dari halaman manual:
Contoh ini akan mendekompres file "myfile.tar.bz2" ke dalam file yang di-decompressed "myfile.tar". Ini akan menggunakan prosesor yang terdeteksi secara otomatis # (atau 2 prosesor jika deteksi otomatis tidak didukung).
Setelah didekompresi, Anda perlu menguraikan file dengan
File tar hanyalah sebuah wadah, di mana Anda dapat menerapkan beberapa algoritma kompresi, misalnya, Anda dapat memiliki ".tar.gz" atau ".tar.bz2" yang keduanya memiliki algoritma kompresi yang berbeda. Jadi pbzip2 hanya akan mengompres arsip tetapi tidak akan mengekstrak file, gunakan
tar
untuk mengekstrak file. Tar seharusnya tidak butuh waktu lama karena arsip sudah tidak terkompresi dan itu hanya akan mengekstrak file. (perhatikan bahwa kita tidak menggunakan flag 'z' atau flag 'j' dalam perintah tar, yang mengindikasikan bahwa kita juga ingin mendekompres file)sumber
lbzip2 tampaknya jauh lebih baik daripada pbzip2 dalam kasus Anda karena ia dapat mempercepat dekompresi file .bz2 standar sementara pbzip2 tidak melakukan itu. (Baru mengujinya - 17 detik untuk lbzip2 vs 56 detik untuk pbzip2 pada quad core yang dimuat sebagian).
sumber