XZ — формат контейнера для архивов, использующий алгоритм сжатия LZMA2 и призванный заменить формат контейнера lzma. Как и форматы gzip и bzip2, он является контейнером для единственного файла, поэтому его обычно используют совместно с форматом tar.

XZ
Расширение .xz
MIME-тип application/x-xz
Сигнатура 0xFD, '7', 'z', 'X', 'Z', 0x00
Разработчик The Tukaani Project
Тип формата сжатие данных
Содержит tar
Открытый формат? да
Сайт tukaani.org/xz/fo… (англ.)
XZ Utils
Тип формат файла
Разработчик The Tukaani Project
Первый выпуск 2009[1]
Последняя версия 5.6.2 (29 мая 2024; 5 месяцев назад (2024-05-29))
Состояние Активная
Лицензия Общественное достояние, некоторые части под LGPL
Сайт tukaani.org/xz/

Реализация

править

Реализацией формата xz является пакет XZ Utils. Начиная с выпуска 5.0.0, XZ Utils перешёл[2] на лицензию общественное достояние c LGPL, однако некоторые позаимствованные из других проектов части проекта продолжают поставляться по условиям копилефт.

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

править

Формат XZ используется GNU Coreutils начиная с версии 7.1. Начиная с версии 1.22 GNU tar позволяет автоматически сжимать и распаковывать архивы tar с помощью xz, обеспечивая прозрачную работу с ними (так же, как до этого было реализовано для gzip и bzip2)[3][4]. Стандартный архиватор tar операционной системы FreeBSD поддерживает прозрачное сжатие в xz, начиная с r191190 (17 апреля 2009). По состоянию на 24 августа 2015 года Apple всё ещё не включает поддержку данного формата в macOS, но возможна установка пакета xz через одну из систем управления пакетами для macOS, например MacPorts или HomeBrew[5]

XZ используется или поддерживается для сжатия дистрибутивов ОС или пакетов с ПО в проектах Debian (формат deb), Fedora,[6][7] ArchLinux,[8] FreeBSD[9] Gentoo,[10] GNOME.[11]

Приложение 7-Zip с версии 9.04 бета поддерживает данный формат сжатия[12].

Проблемы

править

29 марта 2024 года Андрес Фройнд, разработчик PostgreSQL, работающий в Microsoft, объявил, что он обнаружил бэкдор в пакете XZ Utils, обслуживающем формат XZ в семействе ОС Linux. Уязвимость получила оценку Common Vulnerability Scoring System (CVSS) в 10 баллов (наивысший балл). Разработчики ОС срочно выпустили исправления и рекомендуют пользователям обновить все свои установки Linux[13].

Примечания

править
  1. https://tukaani.org/xz/xz-file-format-1.0.0.txt
  2. Lasse, Collin (2009-04-13), "Put the interesting parts of XZ Utils into the public domain.", The Tukaani Project (неопр.) {{citation}}: Указан более чем один параметр |author= and |last= (справка)Википедия:Обслуживание CS1 (неизвестный язык) (ссылка)
  3. GNU tar Web site: References. Дата обращения: 4 августа 2009. Архивировано 2 октября 2008 года.
  4. Changelog for Tar 1.22. Дата обращения: 4 августа 2009. Архивировано 23 марта 2012 года.
  5. Homebrew Core. — 2023-06-12. Архивировано 12 июня 2023 года.
  6. openSUSE:RPM sucks - openSUSE. Дата обращения: 24 августа 2016. Архивировано 16 апреля 2022 года.
  7. Features/XZRpmPayloads - FedoraProject. Дата обращения: 24 августа 2016. Архивировано 17 мая 2022 года.
  8. Arch Linux - News: Switching to xz compression for new packages. Дата обращения: 24 августа 2016. Архивировано 6 июля 2010 года.
  9. FreeBSD 8.2-RC2 Available. Дата обращения: 24 августа 2016. Архивировано 24 апреля 2016 года.
  10. "Remove .lzma in favor of .xz portage snapshots", Dev (mailing list post) (RFC), Gentoo, Архивировано 12 ноября 2013, Дата обращения: 24 августа 2016 Источник. Дата обращения: 24 августа 2016. Архивировано 12 ноября 2013 года..
  11. "Important: Switch of GNOME tarball compression format", Devel (mailing list post), Gnome, Apr 2011, Архивировано 16 апреля 2022, Дата обращения: 24 августа 2016 Источник. Дата обращения: 24 августа 2016. Архивировано 16 апреля 2022 года..
  12. 7-Zip History. Дата обращения: 4 декабря 2010. Архивировано 12 мая 2006 года.
  13. Взлом Linux был обнаружен благодаря случайности - Российская газета