Bzip2 dan gzip hanya menggunakan satu inti, meskipun banyak komputer memiliki lebih dari satu inti. Tetapi ada program seperti lbzip2, pbzip2 dan pigz, yang menggunakan semua core yang tersedia dan berjanji untuk kompatibel dengan bzip2 dan gzip.
Jadi apa cara terbaik untuk menggunakan program-program ini secara default, sehingga tar cfa file.tar.bz2 directory
menggunakan lbzip2 / pbzip2 daripada bzip2? Tentu saja saya tidak ingin merusak apa pun.
Jawaban:
Anda dapat symlink bzip2, bunzip2 dan bzcat ke lbzip2, dan gzip, gunzip, gzcat, dan zcat ke pigz:
Saya memilih lbzip2 daripada pbzip2 karena /usr/share/doc/lbzip2/README.gz terlihat "lebih baik" daripada /usr/share/doc/pbzip2/README.gz. Juga, manual tar berbicara tentang lbzip2 .
Edit:
pigz-2.1.6, yang termasuk dalam Precise Pangolin, menolak untuk mendekompresi file dengan sufiks yang tidak diketahui (mis. initramfs - *. img). Ini diperbaiki dalam pigz-2.2.4, yang dikirimkan dengan Quantal. Jadi, Anda mungkin ingin menunggu sampai Quantal, menginstal paket Quantal secara manual, atau belum menautkan gunzip / gzcat / zcat.
sumber
sudo dpkg-divert --divert /bin/gunzip.orig --rename /bin/gunzip; sudo ln -s /usr/bin/pigz /bin/gunzip
tetapi ada kemungkinan bahwa pigz tidak 100% kompatibel dengan semua flag gzip jadi hati-hati.Ide symlink sangat baik.
Solusi lain yang berhasil adalah alias
tar
:atau masing-masing
Ini menciptakan jenis default lain.
sumber
Jawaban symlink benar-benar salah. Ini akan menggantikan gzip (atau bzip2) default dengan pigz (atau pbzip2) untuk seluruh sistem. Sementara implementasi paralel sangat mirip dengan versi proses tunggal, perbedaan halus dalam opsi baris perintah dapat merusak proses sistem inti yang bergantung pada perbedaan tersebut.
Opsi "--use-kompres-program" adalah pilihan yang jauh lebih baik. Opsi kedua (mirip alias) adalah mengatur variabel lingkungan TAR_OPTIONS yang didukung oleh tar GNU:
sumber
Salah satu opsi yang menarik adalah mengkompilasi ulang tar untuk menggunakan multithreaded secara default. Disalin dari jawaban stackoverflow ini
Kompilasi ulang dengan penggantian
Jika Anda membuat tar dari sumber, maka Anda dapat mengkompilasi ulang dengan parameter
Setelah mengkompilasi ulang tar dengan opsi ini, Anda dapat memeriksa output dari bantuan tar:
sumber
Gunakan di ~ / .bash_aliases Anda:
sumber
gzip
(ataugunzip
) langsung pada command-line shell. Program lain (sepertitar
) tidak akan terpengaruh oleh itu.