Jump to content

XZ Утилиты

(Перенаправлено с Либлзмы )
XZ Утилиты
Оригинальный автор(ы) Лассе Коллин
Разработчик(и) Проект Тукаани
Стабильная версия
5.6.2 / 29 мая 2024 г .; 2 месяца назад ( 29.05.2024 )
Репозиторий
Написано в С
Операционная система Кросс-платформенный
Тип Сжатие данных
Лицензия
Веб-сайт мы будем это отрицать .org /хз /
.xz
Расширение имени файла
.xz
Тип интернет-СМИ
приложение/x-xz
Магическое число FD 37 7A 58 5A 00
Разработано Лассе Коллин
Igor Pavlov
Первоначальный выпуск 14 января 2009 г .; 15 лет назад ( 14 января 2009 г. )
Последний выпуск
1.1.0
11 декабря 2022 г .; 19 месяцев назад ( 11.12.2022 )
Тип формата Сжатие данных
Открытый формат ? Да
Свободный формат ? Да
Веб-сайт мы будем это отрицать .org /хз /xz-формат-файла .текст

XZ Utils (ранее LZMA Utils ) — набор бесплатного программного обеспечения с командной строкой для сжатия данных без потерь , включая программы lzma и xz, для Unix-подобных операционных систем и, начиная с версии 5.0, Microsoft Windows . Для сжатия/декомпрессии цепной алгоритм Лемпеля-Зива-Маркова используется (LZMA). XZ Utils начинался как Unix-порт Игоря Павлова LZMA- SDK , который был адаптирован для полной интеграции в среды Unix с их обычной структурой и поведением.

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

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

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

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

Использование

[ редактировать ]

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

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

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

xz   my_archive.tar    # results in my_archive.tar.xz
lzma my_archive.tar    # results in my_archive.tar.lzma

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

unxz    my_archive.tar.xz      # results in my_archive.tar
unlzma  my_archive.tar.lzma    # results in my_archive.tar

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

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

tar -c --xz   -f my_archive.tar.xz   /some_directory    # results in my_archive.tar.xz
tar -c --lzma -f my_archive.tar.lzma /some_directory    # results in my_archive.tar.lzma

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

tar -x --xz   -f my_archive.tar.xz      # results in /some_directory
tar -x --lzma -f my_archive.tar.lzma    # results in /some_directory

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

tar cJf keep.txz keep   # archive then compress the directory ./keep/ into the file ./keep.txz
tar xJf keep.txz        # decompress then extract the file ./keep.txz creating the directory ./keep/

xz поддерживает многопоточное сжатие (с помощью -T флаг) [5] с 2014 г. версия 5.2.0; [6] начиная с версии 5.4.0 реализована поточная распаковка. Для поточной декомпрессии требуется несколько сжатых блоков в потоке, которые создаются интерфейсом поточного сжатия. Количество потоков может быть меньше заданного, если размер файла недостаточно велик для потоковой обработки с заданными настройками или если использование большего количества потоков превысит лимит использования памяти. [5]

Формат xz

[ редактировать ]

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

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

[ редактировать ]

Разработка XZ Utils проходила в рамках проекта Tukaani Project, небольшой группы разработчиков, которые когда-то поддерживали дистрибутив Linux на основе Slackware . Спецификация формата файла .xz версии 1.0.0 была официально выпущена в январе 2009 г. [7] .

Весь исходный код xz и liblzma передан в общественное достояние . В дистрибутив исходного кода XZ Utils дополнительно входят некоторые дополнительные сценарии и пример программы, на которые распространяются различные версии Стандартной общественной лицензии GNU (GPL). [1] Полученные двоичные файлы программного обеспечения xz и liblzma являются общественным достоянием, если не getopt LGPL. включена дополнительная реализация [8]

Двоичные файлы доступны для FreeBSD , NetBSD , Linux систем , Microsoft Windows и FreeDOS . Ряд дистрибутивов Linux , включая Fedora , Slackware , Ubuntu и Debian, используют xz для сжатия своих программных пакетов. Arch Linux ранее использовал xz для сжатия пакетов. [9] но по состоянию на 27 декабря 2019 г. пакеты сжимаются с помощью Zstandard . сжатия [10] Fedora Linux также перешла на сжатие своих пакетов RPM с помощью Zstandard в Fedora Linux 31. [11] FTP- архив GNU также использует xz.

Черный ход

[ редактировать ]

29 марта 2024 года Андрес Фройнд, разработчик PostgreSQL , работающий в Microsoft , объявил, что он обнаружил бэкдор в XZ Utils, затрагивающий версии 5.6.0 и 5.6.1. Сжатые тестовые файлы были добавлены в код настройки бэкдора посредством дополнений к скрипту настройки в tar-файлах . Он начал свое расследование, потому что «после наблюдения нескольких странных симптомов вокруг liblzma (часть пакета xz)», поскольку он обнаружил, что вход в систему по ssh осуществляется с использованием sshd «занимали много ресурсов ЦП и ошибок valgrind ». [12] Уязвимость получила оценку Common Vulnerability Scoring System (CVSS) 10 (самый высокий балл). [13]

  1. ^ Jump up to: а б Лицензирование на сайте tukaani.org «Наиболее интересные части XZ Utils (например, liblzma) находятся в свободном доступе. Вы можете делать с общедоступными частями все, что захотите. Некоторые части XZ Utils (например, система сборки и некоторые утилиты) находятся под различные лицензии свободного программного обеспечения, такие как GNU LGPLv2.1, GNU GPLv2 или GNU GPLv3».
  2. ^ LZMA Util , получено 25 января 2011 г.
  3. ^ Генри-Стокер, Сандра (12 декабря 2017 г.). «Как максимально эффективно использовать сжатие файлов Linux» . Сетевой мир . Проверено 9 февраля 2020 г.
  4. ^ «Сравнение производительности Gzip, Bzip2 и XZ» . Корневые пользователи . 16 сентября 2015 г. Проверено 9 февраля 2020 г.
  5. ^ Jump up to: а б «xz, unxz, xzcat, lzma, unlzma, lzcat — сжимать или распаковывать файлы .xz и .lzma» . Интернет-страницы руководства Linux .
  6. ^ «Примечания к выпуску XZ Utils» . git.tukaani.org .
  7. ^ Лассе Коллин (28 января 2009 г.). «Новости: официально выпущена спецификация формата файла .xz версии 1.0.0» .
  8. ^ «В каких случаях выходные данные программы GPL также подпадают под действие GPL?» . GNU.org . Проверено 21 августа 2019 г.
  9. ^ Пьер Шмитц (23 марта 2010 г.). «Новости: Переход на сжатие xz для новых пакетов» .
  10. ^ «Arch Linux — Новости: теперь для сжатия пакетов используется Zstandard вместо xz» . www.archlinux.org . Проверено 7 января 2020 г.
  11. ^ Мах, Дэниел. «Изменение/переключение RPM на сжатие zstd» . Вики проекта Fedora . Проверено 30 марта 2024 г.
  12. ^ «oss-security — бэкдор в исходном коде xz/liblzma, ведущий к компрометации ssh-сервера» . www.openwall.com . Проверено 8 апреля 2024 г.
  13. ^ «Бэкдор в xz» . LWN.net . Проверено 30 марта 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9bce29793e5badb95eb90c75a68f4302__1721166420
URL1:https://arc.ask3.ru/arc/aa/9b/02/9bce29793e5badb95eb90c75a68f4302.html
Заголовок, (Title) документа по адресу, URL1:
XZ Utils - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)