XZ Utils (xz-utils или просто xz) - это проект с открытым исходным кодом и полностью бесплатный программный продукт, который предоставляет все основные утилиты для работы с архивными файлами XZ в любой операционной системе GNU / Linux. Он позволяет извлекать архивы, которые заканчиваются расширениями .xz или .lzma, а также сжимать файлы и папки с помощью метода сжатия XZ, в результате чего сохраняются архивы .xz, .lzma, tar.xz или tar.lzma.
Один из самых мощных алгоритмов сжатия
XZ без сомнения является одним из самых мощных алгоритмов сжатия в мире, и он работает в системах GNU / Linux. Он способен создавать архивы, которые в два-три раза меньше, чем другие популярные методы сжатия, такие как RAR, ZIP, GZ или BZ2. Точнее, архивы XZ на 15% меньше, чем архивы bzip2 и на 30% меньше, чем файлы gzip.
Что в коробке?
XZ Utils или xz-utils или xz - это официальное имя пакета, которое можно легко установить во многих операционных системах GNU / Linux из своих репозиториев программного обеспечения по умолчанию. Он включает библиотеку сжатия liblzma, инструмент командной строки xz и инструмент для распаковки xzdec.
Кроме того, он поставляется с набором сценариев оболочки, включая xzgrep, xzegrep, xzfgrep, xzless, xzmore, xzcat, xzcmp и xzdiff, которые позволяют просматривать, сравнивать и grep XZ-архивы, а также необходимые компоненты для обработки архивов LZMA, которые теперь устаревают XZ. Команда XZ включает несколько важных параметров, включая возможность принудительного декомпрессии и сжатия.
Поддерживаемые платформы
Программное обеспечение для сжатия данных XZ официально поддерживается на GNU / Linux, GNU / HURD, BSD (FreeBSD, OpenBSD, NetBSD, Dragonfly BSD и MirBSD), MINIX, Solaris, IRIX, AIX, QNX, Mac OS X, Haiku , HP-UX, Tru64, OpenVMS, OpenVOS, IBM OS / 2, DOS (FreeDOS и MS-DOS), а также Microsoft Windows 95 и более поздних версий.
Что нового в этом выпуске:
- liblzma:
- Разрешить 0 как ограничение использования памяти вместо возврата LZMA_PROG_ERROR. Теперь 0 обрабатывается так, как если бы был указан 1 байт, который фактически совпадает с 0.
- Использовать & quot; noexcept & quot; ключевое слово вместо "throw ()" в публичных заголовках, когда используется компилятор C ++ 11 (или более новый стандарт).
- Добавлена возможность переносимости для последних компиляторов Intel C.
- Файлы сборки Microsoft Visual Studio были перемещены под windows / vs2013 и windows / vs2017.
- XZ:
- Исправить "xz --list --robot missing_or_bad_file.xz & quot; который попытается напечатать унифицированную строку и, таким образом, произвести вывод мусора. Поскольку статус выхода не равен нулю, большинство применений такой команды не будут пытаться интерпретировать вывод мусора.
- & quot; xz -list foo.xz & quot; может печатать & quot; Внутренняя ошибка (ошибка) & quot; в углу, где был установлен определенный предел использования памяти.
Что нового в версии:
- XZ:
- Всегда закрывайте файл перед тем, как его удалять, чтобы избежать проблем с некоторыми комбинациями операционной системы и файловой системы.
- Исправлено копирование временных меток файлов в Windows.
- Добавлена экспериментальная (отключенная по умолчанию) поддержка песочницы с использованием Capsicum (FreeBSD & gt; = 10). См. --enable-sandbox в INSTALL.
- C99 / C11 соответствует исправлениям для liblzma. Проблемы затронуты, по крайней мере, некоторыми сборками с использованием оптимизации времени соединения.
- Исправлены ошибки в редко используемой функции lzma_index_dup ().
- Использование внешнего кода SHA-256 теперь отключено по умолчанию. Его можно активировать, выполнив настройку --enable-external-sha256. Причины его отключения по умолчанию (подробнее см. УСТАНОВКУ) ...
- Некоторые OS-специфичные реализации SHA-256 конфликтуют с OpenSSL и вызывают проблемы в программах, которые связаны с liblzma и libcrypto. По меньшей мере FreeBSD 10 и MINIX 3.3.0 подвержены влиянию.
- Внутренний SHA-256 быстрее, чем код SHA-256 в некоторых операционных системах.
- Изменено определение подсчета ядра процессора для использования sched_getaffinity () в GNU / Linux и GNU / kFreeBSD.
- Исправлены ошибки в build-system и xz для создания xz, даже когда кодеки, декодеры или потоки были отключены из libilzma с помощью параметров конфигурации. Эти исправления добавили два новых #defines в config.h: HAVE_ENCODERS и HAVE_DECODERS.
Что нового в версии 5.2.2:
- Исправлены ошибки в коде QNX.
- Не удалось использовать pipe2 (), даже если он доступен, чтобы избежать проблем с переносимостью с некоторыми старыми комбинациями Linux и glibc.
- Обновленный немецкий перевод.
- Добавлены файлы проекта для создания статического и общего liblzma (не всех XZ Utils) с обновлением версии Visual Studio 2013 2 или более поздней версии.
- Доказано, что потоковая декомпрессия еще не реализована. Запись 5.2.0 NEWS, описывающая многопоточную поддержку, неправильно указала «декомпрессию». когда он должен был сказать «сжатие».
Что нового в версии 5.2.1:
- Исправлена регрессия коэффициента сжатия в быстром режиме LZMA1 и LZMA2. Ошибка присутствует в версиях 5.1.4beta и 5.2.0.
- Исправлена проблема с переносимостью в xz, которая затронула хотя бы OpenBSD.
- Исправлено xzdiff для совместимости с mktemp FreeBSD, которое отличается от большинства других реализаций mktemp.
- Изменено определение подсчета ЦП ядра, чтобы использовать cpuset_getaffinity () в FreeBSD.
Что нового в версии 5.2.0:
- Все исправления из 5.0.8
- liblzma: Исправлено lzma_stream_encoder_mt_memusage (), когда был использован пресет.
- xzdiff: Если mktemp не установлен, mkdir будет использоваться в качестве резервной копии для создания временного каталога. По-прежнему рекомендуется установить mktemp.
- Обновлены переводы на французский, немецкий, итальянский, польский и вьетнамский языки.
Что нового в версии 5.0.7:
- Все исправления из 5.0.6
- liblzma: Исправлено использование пресетов в инициализации потокового кодировщика.
- xz --block-list и -block-size теперь могут использоваться вместе в однопоточном режиме. Ранее комбинация работала только в многопоточном режиме.
- Добавлена поддержка LZMA_IGNORE_CHECK в liblzma и сделана доступной в xz как --ignore-check.
- Оптимизация скорости liblzma:
- Оптимизирована инициализация нового кодера LZMA1 или LZMA2. (Скорость повторной инициализации уже выделенного кодера не влияет.) Это помогает при сжатии многих небольших буферов с помощью lzma_stream_buffer_encode () и других подобных ситуаций, когда уже назначенное состояние кодировщика не используется повторно. Это ускорение видно и в xz, если один из них сжимает много маленьких файлов по одному, а вместо этого запускает xz один раз и дает все файлы в качестве аргументов командной строки.
- Сравнение буферов теперь намного быстрее, если разрешен недопустимый доступ (с настройкой --enable-unaligned-access). Это значительно ускоряет кодирование. Существует сводный код для 32-битного и 64-разрядного x86 (для достижения наилучших результатов 32-разрядный SSE2 нужен, и на данный момент не обнаружено CPU). Для других арков существует только общий код, который, вероятно, не так оптимален, как могут быть решения, специфичные для арки.
- В код SHA-256 была сделана небольшая оптимизация скорости. (Обратите внимание, что встроенный код SHA-256 не используется во всех операционных системах.)
- liblzma теперь может быть встроена с обновлением MSVC 2013 версии 2 или более поздней версии с помощью windows / config.h.
- Вьетнамский перевод был добавлен.
Что нового в версии 5.0.6:
- liblzma: Исправлено использование пресетов в инициализации потокового кодировщика.
- xz --block-list и -block-size теперь могут использоваться вместе в однопоточном режиме. Ранее комбинация работала только в многопоточном режиме.
- Добавлена поддержка LZMA_IGNORE_CHECK в liblzma и сделана доступной в xz как --ignore-check.
- Оптимизация скорости liblzma:
- Оптимизирована инициализация нового кодера LZMA1 или LZMA2. (Скорость повторной инициализации уже выделенного кодера не влияет.) Это помогает при сжатии многих небольших буферов с помощью lzma_stream_buffer_encode () и других подобных ситуаций, когда уже назначенное состояние кодировщика не используется повторно. Это ускорение видно и в xz, если один из них сжимает много маленьких файлов по одному, а вместо этого запускает xz один раз и дает все файлы в качестве аргументов командной строки.
- Сравнение буферов теперь намного быстрее, если разрешен недопустимый доступ (с параметром --enable-unaligned-access). Это значительно ускоряет кодирование. Существует сводный код для 32-битного и 64-разрядного x86 (для достижения наилучших результатов 32-разрядный SSE2 нужен, и на данный момент не обнаружено CPU). Для других арков существует только общий код, который, вероятно, не так оптимален, как могут быть решения, специфичные для арки.
- В код SHA-256 была сделана небольшая оптимизация скорости. (Обратите внимание, что встроенный код SHA-256 не используется во всех операционных системах.)
- liblzma теперь может быть встроена с обновлением MSVC 2013 версии 2 или более поздней версии с помощью windows / config.h.
- Вьетнамский перевод был добавлен.
Комментарии не найдены