Lzma чем открыть linux

Обновлено: 05.07.2024

Вступление

Теперь для применения LZMA-компрессии при создании tar-архива достаточно указать соответствующую опцию:

$ tar --create --lzma --file filename.tar.lzma path2/arch_dir

Или, в более употребимой простыми людьми краткой форме:

$ tar cJf filename.tar.lzma path2/arch_dir

Распаковка lzma-компрессированного архива выполняется в обратном порядке:

$ tar xJf filename.tar.lzma

$ tar xaf filename.tar.lzma

Приключения на btrfs

Тем, кто приключений не любит и при этом не интересуется еще и btrfs, рекомендуется сразу перейти к следующему разделу.

Всё это хозяйство располагалось на тестовом разделе с файловой системой btrfs. Казалось бы, причём тут файловая система, если оценивается эффективность компрессии. Косвенно, но оказалось, что причём, хотя это и другая история.

Результаты приведены в таблице 1, и честно говоря, части, касающейся lzma, не впечатляют.

Таблица 1. Сравнение размеров архивов, btrfs

При архивации и компрессии дерева портежей затраты времени были таковы:

$ time tar czf portage.tar.gz portage/
real 0m8.755s
user 0m7.984s
sys 0m1.417s

$ time tar cjf portage.tar.bz2 portage/
real 0m37.761s
user 0m35.598s
sys 0m1.594s

$ time /usr/local/bin/tar cJf portage.tar.lzma portage
real 4m23.040s
user 4m18.897s
sys 0m1.630s

Разархивация и декомпрессия дерева портежей протекает так:

$ time tar xzf portage.tar.gz
real 1m11.199s
user 0m2.228s
sys 0m13.397s

$ time tar xjf portage.tar.bz2
real 0m30.244s
user 0m8.887s
sys 0m13.877s

$ time /usr/local/bin/tar xJf portage.tar.lzma
real 0m22.728s
user 0m3.912s
sys 0m13.413s

$ time tar czf Bluewhite64.tar.gz Bluewhite64/
real 0m39.872s
user 0m33.315s
sys 0m2.104s

$ time tar cjf Bluewhite64.tar.bz2 Bluewhite64/
real 2m48.955s
user 2m42.479s
sys 0m3.399s

$ time tar cJf Bluewhite64.tar.lzma Bluewhite64/
real 9m37.376s
user 9m27.458s
sys 0m2.160s

Что в принципе совпадало с картиной, полученной ранее. С той только разницей, что здесь нарастание затрат времени от gzip через bzip2 к lzma проявилось ещё рельефнее.

А вот на компрессии iso-файла произошёл первый сбой. Началось всё хорошо и с предсказуемым результатом:

$ time bzip2 -k -9 Bluewhite64-12.2-install-d1.iso
real 2m50.444s
user 2m43.551s
sys 0m3.062s

$ time lzma -k -9 Bluewhite64-12.2-install-d1.iso
real 14m26.181s
user 14m7.017s
sys 0m2.217s

А вот при gzip-компрессии система замерла на долгое время. Такое, что я успел не только покурить, но и основательно заскучать. Настолько, что перешёл в другое терминальное окно и дал команду

из вывода которой всё стало мучительно ясно:

USER PID . TTY STAT START TIME COMMAND
.
alv 5176 . pts/1 D+ 18:14 0:13 gzip .

Рассмотрение вывода команды ps показало, что кроме строки вроде

alv 5206 . pts/1 D+ 18:14 0:13 bunzip2 .

в нём наличествовали ещё и такие:

root 5210 . ? S< 18:14 0:00 [btrfs-worker-1]
root 5211 . ? S< 18:14 0:00 [btrfs-worker-2]

Не привязанные ни к какому терминалу, они также оказались неубиваемыми. При этом проверка файловой системы btrfs проходила успешно:

Результаты на ext3fs

Таблица 2. Размеры архивов, ext2fs

Теперь посмотрим, чего нам это стоит с точки зрения затрат времени. Упаковка дерева портежей в этом отношении выглядит так:

$ time tar czf portage.tar.gz portage/
real 0m9.153s
user 0m8.016s
sys 0m1.011s

$ time tar cjf portage.tar.bz2 portage/
real 0m36.777s
user 0m35.656s
sys 0m0.988s

$ time tar cJf portage.tar.lzma portage/
real 4m24.884s
user 4m22.519s
sys 0m1.028s

С декомпрессией архива портежей картина такая:

$ time tar xzf portage.tar.gz
real 0m21.563s
user 0m2.242s
sys 0m2.960s

$ time tar xjf portage.tar.bz2
real 0m22.900s
user 0m10.853s
sys 0m3.831s

$ time tar xJf portage.tar.lzma
real 0m19.482s
user 0m3.939s
sys 0m3.145s

$ time gzip -9 Bluewhite64-12.2-install-d1.iso
real 0m35.456s
user 0m33.414s
sys 0m1.243s

$ time bzip2 -9 -k Bluewhite64-12.2-install-d1.iso
real 2m46.061s
user 2m43.602s
sys 0m1.272s

$ time lzma -9 -k Bluewhite64-12.2-install-d1.iso
real 14m15.390s
user 14m10.060s
sys 0m2.010s

$ time tar czf linux.tar.gz linux-2.6.29-rc3/
real 0m15.227s
user 0m14.347s
sys 0m0.513s

$ time tar cjf linux.tar.bz2 linux-2.6.29-rc3/
real 0m57.778s
user 0m56.349s
sys 0m0.691s

$ time tar cJf linux.tar.lzma linux-2.6.29-rc3/
real 5m27.196s
user 5m19.434s
sys 0m1.271s

То есть опять за вполне ощутимый выигрыш в степени компрессии мы платим более чем ощутимым увеличением времени, на неё затрачиваемым.

$ time tar xzf linux.tar.gz
real 0m6.259s
user 0m2.576s
sys 0m1.171s

$ time tar xjf linux.tar.bz2
real 0m13.699s
user 0m12.360s
sys 0m1.225s

$ time tar xJf linux.tar.lzma
real 0m6.551s
user 0m5.082s
sys 0m1.071s

Так вот, предвосхищая подобный вопрос, привожу слепки типичной загруженности процессора в ходе выполнения архивации и компрессии ядра Linux по механизмам:


1) gzip


2) bzip2


3) lzma

Выводы

Файл с расширением LZMA является сжатым файлом LZMA. Суффикс обозначает цепной алгоритм Лемпеля-Зива-Маркова, а файлы в основном видны в операционных системах на основе Unix.

Файлы LZMA аналогичны другим алгоритмам сжатия, таким как ZIP, которые сжимают данные для экономии места на диске. Однако известно, что сжатие LZMA обеспечивает более быстрое время распаковки, чем другие алгоритмы, такие как BZIP2.

Как открыть файл LZMA

Чтобы открыть файл TAR, который спрятан в архиве LZMA, может потребоваться два шага: извлечь файл TAR из LZMA и затем распаковать данные из файла TAR. Некоторые программы декомпрессии объединяют эти шаги в один, делая процесс немного легче.

В терминале Unix вы можете увидеть этот двухэтапный процесс при выполнении одной команды. Данные в файле TAR можно распаковать из архива LZMA с помощью следующей команды (замените file.tar.lzma своим собственным файлом LZMA):

Если приведенная выше команда не работает, возможно, у вас не установлена ​​lzma. Используйте эту команду для установки, если вы думаете, что это так:

Если вы обнаружите, что программа на вашем компьютере пытается открыть файл LZMA по двойному щелчку, но это неправильное приложение, или если вы просто хотите использовать другой файл для открытия файлов LZMA, см. Наш раздел Как изменить программу по умолчанию для руководство по конкретному расширению файла для внесения этого изменения (в Windows).

Как конвертировать файл LZMA

Вы можете конвертировать файл LZMA в GZ, ZIP, TAR, TGZ и некоторые другие форматы архивов, используя FileZigZag, онлайн и полностью бесплатный конвертер файлов. Просто загрузите файл LZMA в FileZigZag и выберите формат для его преобразования.

LZMA против LZMA2

LZMA идеально подходит для использования, если вы сжимаете небольшой архив (менее 256 МБ). Если вы сжимаете что-то большее или сжимаете данные уже сжатые , то с помощью программы, поддерживающей LZMA2, например, 7-Zip, вы сможете быстрее и лучше сжимать.

Тем не менее, вы не увидите улучшения с использованием LZMA2, если не используете более 4 потоков ЦП для выполнения сжатия. Кроме того, для сжатия LZMA2 по сравнению с LZMA требуется намного больше системной памяти.

Некоторыми похожими алгоритмами сжатия являются LZ77 и LZ78, которые обычно называют LZ1 и LZ2. LZMA основан на этих двух алгоритмах.

Все еще не можете открыть файл?

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

Например, файлы LZM очень похожи на файлы LZMA, но только потому, что их расширения одинаковы. Файл LZM на самом деле представляет собой совершенно другой тип файла, называемый файлом модуля Slax, который используется операционной системой Slax Linux.

Если проверка расширения файла показывает, что у вас действительно совершенно другой тип файла, найдите этот суффикс, чтобы узнать, какие программы могут его открыть или преобразовать.

Многие наверное уже знают про утилитку для компрессии/декомпрессии xz. Но еще больше не знают. Поэтому написал этот ознакомительный топик.


xz — формат сжатия данных, наряду с gzip, bzip2 вошедший в gnu-шные приложения.
Использует алгоритм LZMA, тот же что и в 7z, а это значит что можно сильнее сжать многие виды данных, типа текста, бинарные еще не сжатые данные по сравнению с стандартными, упомянутыми выше.
xz используется в новом rpm 4.7.2 для компрессии архивов .cpio в rpm-пакетах (используется с Fedora 12).
В ArchLinux вообще используется .tar.xz в качестве пакета.
В GNU tar появились опции -J --lzma, которые исполняют туже роль что и -z для gzip, -j для bzip2

Плюсы:
Высокая степень сжатия

Минусы:
большое потребление ресурсов:
cpu time (и собственно времени сжатия)
памяти (настраивается, но все равно больше чем gzip, bzip2).
В частности xz при --best aka -9потребляет до 700мб! при компрессии и 90мб при декомпрессии

Фичи:
Потребление большого объема памяти немного ограничивается предварительным вычислением имеющихся ресурсов.
интеграция в GNU tar
работа с потоками
опционально: progressbar через --verbose

Не хочется сильно засорять ознакомительный топик графиками и прочим, но без этого не обойтись:
Сделал банальный забег gzip, bzip2, xz на предмет степени сжатия, потребления времени. также в качестве гостя принимат участие WinRar (хоть и хмельной, под wine, но всетаки показал отличные результаты)


Но вообще координатная сетка не удачно подобрана: как мы оцениваем время? категориями! например быстро — 10-20 секунд, средне от полминуты до минуты, больше 2 минут — это долго.
так что логарифмическая шкала тут нагляднее:


А если если оценить их как сжатие потока, на моем Core2Duo E6750 @ 2.66GHz,
то получился такой вот график:

т.е. использовуя в качестве сжималки конвеера gzip -1 или gzip -4, в 100мбитной сети можно гонять до 25мбайт/сек нежатых данных. (несколько раз проверял — gzip -4 почему-то дает больший профит чем -3 или -5)
cat /some/data | gzip -1c | ssh user@somehost -c "gzip -dc > /some/data"
xz можно использовать в таком лишь на каналах <8мбит,

Программы, которые поддерживают LZMA расширение файла

Следующий список содержит программы, сгруппированные по 3 операционным системам, которые поддерживают LZMA файлы. Файлы с суффиксом LZMA могут быть скопированы на любое мобильное устройство или системную платформу, но может быть невозможно открыть их должным образом в целевой системе.

Программы, обслуживающие файл LZMA

Как открыть файл LZMA?

Причин, по которым у вас возникают проблемы с открытием файлов LZMA в данной системе, может быть несколько. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами LZMA Compressed Format, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Ниже приведен список рекомендаций, которые помогут вам выявить и решить проблемы, связанные с файлами.

Шаг 1. Получить 7-Zip

Install software to open LZMA file

Проблемы с открытием и работой с файлами LZMA, скорее всего, связаны с отсутствием надлежащего программного обеспечения, совместимого с файлами LZMA на вашем компьютере. Наиболее очевидным решением является загрузка и установка 7-Zip или одной из перечисленных программ: PeaZip, LZMA SDK, The Unarchiver. В верхней части страницы находится список всех программ, сгруппированных по поддерживаемым операционным системам. Если вы хотите загрузить установщик 7-Zip наиболее безопасным способом, мы рекомендуем вам посетить сайт Igor Pavlov и загрузить его из официальных репозиториев.

Шаг 2. Убедитесь, что у вас установлена последняя версия 7-Zip

Update software that support file extension LZMA

Вы по-прежнему не можете получить доступ к файлам LZMA, хотя 7-Zip установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Разработчики программного обеспечения могут реализовать поддержку более современных форматов файлов в обновленных версиях своих продуктов. Причиной того, что 7-Zip не может обрабатывать файлы с LZMA, может быть то, что программное обеспечение устарело. Последняя версия 7-Zip должна поддерживать все форматы файлов, которые совместимы со старыми версиями программного обеспечения.

Шаг 3. Назначьте 7-Zip для LZMA файлов

Если проблема не была решена на предыдущем шаге, вам следует связать LZMA файлы с последней версией 7-Zip, установленной на вашем устройстве. Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.

Associate software with LZMA file on Windows

Изменить приложение по умолчанию в Windows

  • Выберите пункт Открыть с помощью в меню «Файл», к которому можно щелкнуть правой кнопкой мыши файл LZMA.
  • Выберите Выбрать другое приложение → Еще приложения
  • Наконец, выберите Найти другое приложение на этом. , укажите папку, в которой установлен 7-Zip, установите флажок Всегда использовать это приложение для открытия LZMA файлы свой выбор, нажав кнопку ОК

Изменить приложение по умолчанию в Mac OS

Шаг 4. Проверьте LZMA на наличие ошибок

Если вы выполнили инструкции из предыдущих шагов, но проблема все еще не решена, вам следует проверить файл LZMA, о котором идет речь. Вероятно, файл поврежден и, следовательно, недоступен.

Check LZMA file for viruses

1. Проверьте LZMA файл на наличие вирусов или вредоносных программ.

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

2. Убедитесь, что файл с расширением LZMA завершен и не содержит ошибок
3. Убедитесь, что у вас есть соответствующие права доступа

Существует вероятность того, что данный файл может быть доступен только пользователям с достаточными системными привилегиями. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл LZMA Compressed Format.

4. Убедитесь, что в системе достаточно ресурсов для запуска 7-Zip
5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов

Последние версии программ и драйверов могут помочь вам решить проблемы с файлами LZMA Compressed Format и обеспечить безопасность вашего устройства и операционной системы. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов LZMA.

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла LZMA мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле LZMA.

Читайте также: