È possibile comprimere un file molto grande (~ 30 GB) usando gzip?


17

È possibile comprimere un file molto grande (~ 30 GB) usando gzip? In tal caso, quali comandi, opzioni e opzioni dovrei usare?

Oppure c'è un altro programma (preferibilmente uno comunemente disponibile sulle distribuzioni Ubuntu) che posso usare per comprimere / comprimere file molto grandi? Hai qualche esperienza con questo?


La maggior parte dei compressori hardcore è xz, o la sua versione parallela, pxz. pxz -9ve - <in >out.xze cuocerai un pollo sul tuo PC, ma il risultato sarà circa il 60% del risultato gzip. Per questo sono necessari circa 7 GB.
Peter - Ripristina Monica

Risposte:


22

AFAIK non ci sono limiti di dimensioni per gzip- almeno non 30 GB. Naturalmente, è necessario lo spazio per il file zippato sul disco, entrambe le versioni saranno lì contemporaneamente durante la compressione.

bzip2 comprime i file (non solo quelli grandi :-) meglio, ma è (a volte molto) più lento.


4
bzip2 è particolarmente bravo a comprimere il codice sorgente (e simili). È un buon concorrente per gzip anche per uso generico. La disponibilità di gzip su diversi sistemi operativi è migliore di bzip2
jippie il

Bzip2 è una compressione senza perdita? Grazie.
Andrew

3
@Andrew Sì, gzip / bzip2 / etc ... sono tutti senza perdita di dati.
Renan,

1
E c'è pbzipanche - che utilizzerà più di un core della CPU. Ma ancora molto più lento di gzip.
Nils,

1
@Nils: sul mio Ubuntu ce n'è solopbzip2
rubo77,

8

se hai bisogno di un buon tasso di compressione, puoi provare lzma. è più veloce ed efficiente di bzip2 e può essere più veloce anche di gzip (non lo so per certo)

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


4
lzmaè deprecato a favore di xzadesso. Stesso algoritmo, formato file leggermente diverso (migliorato?) Avvolto attorno ad esso. LZMA è più lento di gzip, ma alla massima velocità è ancora abbastanza buona compressione su elementi altamente ridondanti come i dati JSON. ( xz -0)
Peter Cordes,

3

Se stai correndo nel limite, riorganizza. Invece di:

gzip file

fare:

gzip < file > file.gz

Funziona bene.


2

Il formato gzip rappresenta la dimensione di input modulo 2 ^ 32, quindi l' --listopzione riporta dimensioni non compresse e rapporti di compressione non corretti per file non compressi di almeno 4 GB.

Quindi, prendere bzip2(v1.0.2 e versioni successive) o xz.


Se deve essere esattamente solo gzip, il tuo file deve essere diviso in parti più piccole fino a 4 GB ciascuna.
cuneiforme,

Ci sono file splitter disponibili per questo.
Vérace,

Bene, non deve essere suddiviso, è solo che le dimensioni riportate saranno errate.
Legge 29

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.