XZ Utils

редактировать
Программное обеспечение для сжатия данных без потерь
XZ Util s
Оригинальный автор (ы) Лассе Коллин
Разработчик (и) Проект Тукаани
Стабильный выпуск 5.2.5 / 17 марта 2020 г. (2020-03-17)
Репозиторий Измените это на Викиданных
Написано вC
Операционной системе Кросс-платформенный
Тип Сжатие данных
Лицензия Общественное достояние. (но подробности см. в Разработка и внедрение )
Веб-сайтtukaani.org / xz /

XZ Utils (ранее LZMA Utils ) является набор бесплатного программного обеспечения командной строки компрессоров данных без потерь, включая lzma и xz, для Операционные системы типа Unix и, начиная с версии 5.0, Microsoft Windows.

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

XZ Utils состоит из двух основных компонентов:

Существуют различные сочетания клавиш, например lzma (для xz --format = lzma ), unxz (для х z - распаковать ; аналогично gunzip ) и xzcat (для unxz --stdout ; аналогично zcat )

XZ Utils может сжимать и распаковывать как xz, так и lzma, но поскольку формат LZMA теперь устаревший, XZ Utils сжимает по умолчанию до xz.

Содержание

  • 1 Реализация
  • 2 Формат xz
  • 3 Разработка и внедрение
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки

Реализация

Как поведение программного обеспечения, так и свойства формата файла были разработаны для работы аналогично популярных инструментов сжатия Unix gzip и bzip2. Он состоит из порта Unix LZMA- SDK Игоря Павлова , который имеет были адаптированы, чтобы легко вписываться в среды Unix и их обычную структуру и поведение.

xz поддерживает многопоточное сжатие (флаг -T) с 2014 г., версия 5.2.0., по состоянию на 2019 г. поточная декомпрессия еще не реализована... Количество потоков может быть меньше заданного, если файл недостаточно велик для потоковой передачи с заданными настройками или если использование большего количества потоков превысит предел использования памяти.

Так же, как gzip и bzip, xz и lzma могут сжимать только отдельные файлы (или потоки данных) в качестве входных данных. Они не могут объединить несколько файлов в один архив - для этого сначала используется программа архивирования, например tar.

Сжатие архива:

xz my_archive.tar # приводит к my_archive.tar.xz lzma my_archive.tar # приводит к my_archive.tar.lzma

Распаковка архива:

unxz my_archive.tar.xz # приводит к my_archive.tar unlzma my_archive. tar.lzma # приводит к my_archive.tar

Версия 1.22 или выше реализации tar GNU имеет прозрачную поддержку tarballs, сжатых с помощью lzma и xz, с использованием переключателей --xzили -Jдля сжатия xz и --lzmaдля сжатия LZMA.

Создание архива и его сжатие:

tar -c --xz -f my_archive.tar.xz / some_directory # приводит к my_archive.tar.xz tar -c --lzma -f my_archive.tar.lzma / some_directory # приводит к my_archive.tar.lzma

Распаковка архива и извлечение его содержимого:

tar -x --xz -f my_archive.tar.xz # результаты in / some_directory tar -x --lzma -f my_archive.tar.lzma # приводит к / some_directory

Пример однобуквенного tar для архива с сжатием и распаковкой с извлечением с использованием короткого суффикса

tar cJf keep.txz keep # archive, затем сжать каталог./keep/ в файл./keep.txz tar xJf keep.txz # распаковать, затем извлечь файл./keep.txz, создав каталог./keep/

Формат xz

Формат xz улучшает lzma, позволяя использовать фильтры предварительной обработки. Используемые точные фильтры аналогичны тем, которые используются в 7z, поскольку фильтры 7z доступны в открытом доступе через LZMA SDK.

Разработка и внедрение

Разработка XZ Utils проходила в рамках проекта Tukaani, которым руководил Майк Кезнер, небольшая группа разработчиков, которые когда-то поддерживали дистрибутив Linux на основе Slackware.

Весь исходный код для xz и liblzma был передан в общественное достояние. Распространение исходного кода XZ Utils дополнительно включает в себя несколько необязательных сценариев и пример программы, которые подпадают под действие различных версий GPL.

В частности, полный список сценариев GPL и исходных текстов, распространяемых с XZ Utils Программное обеспечение включает:

  • Необязательную реализацию общей функции libc, getopt (GNU GPL v2 и GNU LGPL v2.1 )
  • сценарий m4 для обнаружения потоков pthread (GNU GPL v3 )
  • Некоторые второстепенные сценарии оболочки (xzgrep и т. Д.) (GNU GPL v2 )
  • И пример программы scanlzma, которая не интегрирована с системой сборки

Полученное программное обеспечение xz и двоичные файлы liblzma являются общественным достоянием, если не включена дополнительная реализация LGPL getopt.

Бинарные файлы доступны для систем FreeBSD, Linux, Microsoft Windows и FreeDOS. Ряд дистрибутивов Linux, включая Fedora, Slackware, Ubuntu и Debian используют xz для сжатия свои программные пакеты. Arch Linux ранее использовал xz для сжатия пакетов, но по состоянию на 27 декабря 2019 года пакеты сжимаются со сжатием Zstandard. FTP-архив GNU также использует xz.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-22 06:51:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте