Какое программное обеспечение для сжатия файлов для Linux предлагает самое высокое уменьшение размера?

Я делаю тонну сжатия файлов. Большая часть материала, который я сжимаю, – это просто код, поэтому мне нужно использовать потерю меньше сжатия. Мне было интересно, есть ли что-то, что предлагает более лучшее уменьшение размера, чем 7zip. Неважно, сколько времени требуется для сжатия или декомпрессии, это все, что имеет значение. Кто-нибудь знает о таком программном обеспечении в Linux? Или 7zip лучшее?

5 Solutions collect form web for “Какое программное обеспечение для сжатия файлов для Linux предлагает самое высокое уменьшение размера?”

7zip – это больше уплотнитель (например, PKZIP), чем компрессор. Он доступен для Linux, но он может создавать только сжатые архивы в обычных файлах, он не может сжимать поток, например. Он не может хранить большинство атрибутов файлов Unix, таких как право собственности, списки ACL, расширенные атрибуты, жесткие ссылки …

В Linux, как компрессор , у вас есть xz который использует тот же алгоритм сжатия, что и 7zip (LZMA2). Вы можете использовать его для сжатия архивов tar.

Как и для gzip и bzip2 , есть параллельный вариант pixz который может использовать несколько процессоров для ускорения сжатия ( xz также может делать это изначально с версии 5.2.0 с опцией -T ). Вариант pixz также поддерживает индексирование сжатого tar архива, что означает, что он может извлекать один файл без необходимости распаковывать файл с самого начала.

lrzip – это то, что вы действительно ищете, особенно если вы сжимаете исходный код!

Цитирование README:

Это программа сжатия, оптимизированная для больших файлов. Чем больше файл и чем больше у вас памяти, тем лучше будет преимущество сжатия, особенно если файлы больше 100 МБ. Преимущество может быть выбрано как размер (намного меньше, чем bzip2), или скорость (намного быстрее, чем bzip2). […] Уникальной особенностью lrzip является то, что она пытается максимально использовать доступный барабан в вашей системе в любое время для максимальной выгоды.

lrzip работает, сначала сканируя и удаляя любую избыточность данных на большие расстояния с помощью алгоритма на основе rzip, а затем сжимая ненужные данные.

Con Kolivas представляет собой фантастический пример в списке рассылки Linux Kernel ; в котором он сжимает 10,3-гигабайтный архив из сорока ядер ядра Linux до 163,9 МБ (1,6%) и делает это быстрее, чем xz. Он даже не использовал самый агрессивный алгоритм второго прохода!

Я уверен, что у вас будут большие результаты, сжимающие массивные архивы исходного кода 🙂

 sudo apt-get install lrzip 

Пример (с использованием параметров по умолчанию для других):

Ультра сжатие, собака медленно:

 lrzip -z file 

Для папок просто измените lrzip для lrztar

Если вы ищете максимальное уменьшение размера независимо от скорости сжатия, LZMA , скорее всего, ваш лучший вариант.

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

Источники: http://bashitout.com/2009/08/30/Linux-Compression-Comparison-GZIP-vs-BZIP2-vs-LZMA-vs-ZIP-vs-Compress.html

http://tukaani.org/lzma/benchmarks.html

(обновленный ответ) Если время не имеет значения, используйте ZPAQ v1.10 (или новее), например:
zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar (расположение файла max.cfg может отличаться, проверьте список установленных файлов пакетов)

zpaq фактически сжал больше, чем kgb -9 newFileName.kgb yourFileName.tar .
Это основано на более раннем алгоритме PAQ6 , и он очень медленный …
Я тестировал все компрессоры, такие как 7zip, lrzip, bzip2, kgb .. и zpaq сжимали больше всего!

Если kgb прежнему интересует вас: (поскольку это был мой первоначальный выбор в этом ответе, поэтому я сохраняю здесь информацию)
Ubuntu 14.04 имеет kgb 1.0b4 , запустите sudo apt-get install kgb чтобы установить его.

Ниже приведена версия Windows, в которой вы можете попробовать запустить / скомпилировать kgb на linux, но мне это не удалось.
Версия 2 beta2 может быть найдена на SourceForge , но нет доступных бинарных файлов Linux. Вы можете попробовать запустить его в консоли с помощью wine kgb2_console.exe -a7 -m9 (метод -a6 -m9 кажется эквивалентным лучшему методу в 1.0b4, -a7 является новым в 2 beta2). Хотя у меня была лучшая стабильность, установив .NET 2.0 с winetricks и запуском wine "KGB Archiver 2 .net.exe" (мне не нравится это делать, поэтому я буду придерживаться родного Linux 1.0b4, который имеет почти тот же результат как 2 бета2).
Во всяком случае, версия 2 beta2 всерьез заслуживает родной версии Linux! Может быть, что-то может быть достигнуто с помощью MinGW, см. Это , но эта команда по-прежнему терпит неудачу: i586-mingw32msvc-g++ kgb2_console.cpp -o kgb . Может быть, попытаться скомпилировать его с помощью dmcs (Mono)? см. этот совет .

7zip не является уникальной технологией, но поддерживает несколько различных методов сжатия (см. Wikipedia 7z).

Набор тестов был выполнен с использованием различных инструментов специально для исходных файлов C. Я не уверен, какие из инструментов существуют для Linux, если они все еще существуют. Однако вы можете заметить, что лучшим алгоритмом был PPM с модификациями (PPMII, затем PPMZ). Надеюсь это поможет.

Если вы заинтересованы в инструментах, вы можете просматривать сайт, это на русском языке, но google translate может помочь. Существует большой депозит двоичных файлов , которые вы можете использовать (или не сможете) из Linux с вином, если это действительно необходимо.

Interesting Posts
Linux и Unix - лучшая ОС в мире.