Можно ли сжать очень большой файл (~ 30 ГБ) с помощью gzip?


17

Можно ли сжать очень большой файл (~ 30 ГБ) с помощью gzip? Если да, какие команды, переключатели и опции мне следует использовать?

Или есть другая программа (желательно одна, общедоступная в дистрибутивах Ubuntu), которую я могу использовать для сжатия / архивирования очень больших файлов? Есть ли у вас опыт с этим?


Самый хардкорный компрессор - это xz или его параллельная версия pxz. pxz -9ve - <in >out.xzи вы запечете курицу на своем ПК, но результат составит около 60% от результата gzip. Вам нужно около 7 ГБ для этого.
Петер - Восстановить Монику

Ответы:


22

AFAIK нет ограничения по размеру gzip- по крайней мере, не 30 ГБ. Конечно, вам нужно место для zip-файла на вашем диске, обе версии будут там одновременно во время сжатия.

bzip2 Сжимает файлы (не только большие :-) лучше, но это (иногда много) медленнее.


4
bzip2 особенно хорош при сжатии исходного кода (и тому подобное). Это хороший конкурент для gzip и для общего использования. Доступность gzip для разных операционных систем лучше, чем для bzip2
jippie

Является ли сжатие bzip2 без потерь? Благодарю.
Эндрю

3
@ Андрей Да, gzip / bzip2 / etc ... все без потерь.
Ренан

1
И есть pbzip- это будет использовать более одного ядра процессора. Но все же намного медленнее, чем gzip.
Нильс

1
@Nils: на моем Ubuntu есть толькоpbzip2
rubo77

8

если вам нужен хороший уровень сжатия, вы можете попробовать lzma. это быстрее и эффективнее, чем bzip2 и может быть даже быстрее, чем gzip (я точно не знаю)

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


4
lzmaустарела в пользу xzсейчас. Тот же алгоритм, несколько другой (улучшенный?) Формат файла, обернутый вокруг него. LZMA медленнее, чем gzip, но на максимальной скорости это все еще довольно хорошее сжатие на сильно избыточных вещах, таких как данные JSON. ( xz -0)
Питер Кордес

3

Если вы работаете в пределе, переставьте. Вместо того:

gzip file

делать:

gzip < file > file.gz

Работает просто отлично.


2

Формат gzip представляет входной размер по модулю 2 ^ 32, поэтому --listопция сообщает о неправильных разархивированных размерах и коэффициентах сжатия для несжатых файлов размером 4 ГБ и более.

Итак, возьмите bzip2(v1.0.2 и выше) или xz.


Если это должен быть только gzip, то ваш файл должен быть разделен на более мелкие части до 4 Гб каждая
клинопись

Для этого есть разделители файлов.
Верас

Ну, это не должно быть разделено, просто сообщенные размеры будут неправильными.
Law29

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.