Apakah mungkin untuk mengompres file yang sangat besar (~ 30 GB) menggunakan gzip?


17

Apakah mungkin untuk mengompres file yang sangat besar (~ 30 GB) menggunakan gzip? Jika demikian, perintah, sakelar, dan opsi apa yang harus saya gunakan?

Atau ada program lain (lebih disukai yang biasanya tersedia di distribusi Ubuntu) yang dapat saya gunakan untuk kompres / zip file yang sangat besar? Apakah Anda punya pengalaman dengan ini?


Kebanyakan kompresor hardcore adalah xz, atau versi paralelnya, pxz. pxz -9ve - <in >out.xzdan Anda akan memanggang ayam di PC Anda, tetapi hasilnya akan sekitar 60% dari hasil gzip. Anda membutuhkan sekitar 7 GB untuk itu.
peterh

Jawaban:


22

AFAIK tidak ada batasan ukuran untuk gzip- setidaknya tidak 30GB. Tentu saja, Anda memerlukan ruang untuk file zip pada disk Anda, kedua versi akan ada di sana secara bersamaan saat mengompresi.

bzip2 kompres file (tidak hanya yang besar :-) lebih baik, tetapi itu (kadang-kadang banyak) lebih lambat.


4
bzip2 sangat bagus dalam mengompresi kode sumber (dan sejenisnya). Ini juga merupakan pesaing yang bagus untuk gzip untuk penggunaan umum. Ketersediaan untuk gzip di berbagai sistem operasi lebih baik daripada bzip2
jippie

Apakah kompresi lossless bzip2? Terima kasih.
Andrew

3
@ Andrew Ya, gzip / bzip2 / etc ... semuanya lossless.
Renan

1
Dan ada pbzipjuga - yang akan menggunakan lebih dari satu CPU-core. Tapi masih jauh lebih lambat gzip.
Nils

1
@Nils: di Ubuntu saya hanya adapbzip2
rubo77

8

jika Anda membutuhkan tingkat kompresi yang baik, Anda dapat mencoba lzma. lebih cepat dan lebih efisien daripada bzip2 dan mungkin lebih cepat bahkan daripada gzip (saya tidak tahu pasti)

http://www.thegeekstuff.com/2010/06/lzma-better-compression-than-bzip2-on-unix-linux/


4
lzmasudah usang xzsekarang. Algoritma yang sama, format file yang agak berbeda (ditingkatkan?) Melilitnya. LZMA lebih lambat dari gzip, tetapi pada kecepatan maksimal itu masih kompresi yang cukup baik pada hal-hal yang sangat berlebihan seperti data JSON. ( xz -0)
Peter Cordes

3

Jika Anda berlari ke batas, atur ulang. Dari pada:

gzip file

melakukan:

gzip < file > file.gz

Bekerja dengan baik.


2

Format gzip mewakili ukuran input modulo 2 ^ 32, sehingga --listopsi melaporkan ukuran yang tidak terkompresi dan rasio kompresi yang salah untuk file yang tidak terkompresi 4 GB dan lebih besar.

Jadi, ambil bzip2(v1.0.2 dan lebih tinggi) atau xz.


Jika seharusnya hanya gzip saja, maka file Anda harus dibagi menjadi bagian-bagian yang lebih kecil hingga masing-masing 4 Gb.
kuno

Ada splitter file yang tersedia untuk ini.
Vérace

Nah, itu tidak memiliki harus berpisah, hanya saja ukuran dilaporkan akan salah.
Law29

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.