АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

xzcat - Интернет в облаке

Запустите xzcat в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

Это команда xzcat, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


xz, unxz, xzcat, lzma, unlzma, lzcat - сжатие или распаковка файлов .xz и .lzma.

СИНТАКСИС


xz [вариант] ... [файл] ...

unxz эквивалентна xz - распаковать.
xzcat эквивалентна xz - распаковать --stdout.
LZMA эквивалентна xz --format = lzma.
Unlzma эквивалентна xz --format = lzma - распаковать.
зкат эквивалентна xz --format = lzma - распаковать --stdout.

При написании скриптов, которым необходимо распаковать файлы, рекомендуется всегда использовать
имя xz с соответствующими аргументами (xz -d or xz -Округ Колумбия) вместо имен unxz и xzcat.

ОПИСАНИЕ


xz это универсальный инструмент сжатия данных с синтаксисом командной строки, похожим на GZIP(1)
и bzip2(1). Собственный формат файла - это .xz формат, но наследие .лзма используемый формат
от LZMA Utils и необработанные сжатые потоки без заголовков формата контейнера также
поддерживается.

xz сжимает или распаковывает каждый файл в соответствии с выбранным режимом работы. Если нет
файлов даны или файл is -, xz читает со стандартного ввода и записывает обработанные данные
на стандартный вывод. xz откажется (отобразить ошибку и пропустить файл) написать
сжатые данные в стандартный вывод, если это терминал. Сходным образом, xz откажется читать
сжатые данные из стандартного ввода, если это терминал.

Если не --stdout указано, файлов кроме - записываются в новый файл с именем
полученный из источника файл Название:

· При сжатии суффикс формата целевого файла (.xz or .лзма) добавляется к
имя исходного файла, чтобы получить имя файла назначения.

· При распаковке .xz or .лзма суффикс удаляется из имени файла, чтобы получить
целевое имя файла. xz также распознает суффиксы .TXZ и .tlzи заменяет их
домен .tar суффикс.

Если целевой файл уже существует, отображается ошибка и файл пропускается.

Если не писать на стандартный вывод, xz отобразит предупреждение и пропустит файл если любой из
применяется следующее:

· Файл это не обычный файл. По символическим ссылкам не переходят, и поэтому они не
считаются обычными файлами.

· Файл имеет более одной жесткой ссылки.

· Файл установлен setuid, setgid или липкий бит.

· Режим работы установлен на сжатие, а файл уже есть суффикс цели
формат файла (.xz or .TXZ при сжатии до .xz формат и .лзма or .tlz когда
сжатие до .лзма формат).

· Режим работы установлен на декомпрессию, а файл не имеет суффикса ни одного из
поддерживаемые форматы файлов (.xz, .TXZ, .лзмаили .tlz).

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

После успешного закрытия целевого файла исходный файл удаляется, если
--хранить было указано. Источник файл никогда не удаляется, если вывод записывается в
стандартный вывод.

Посылающий СИГИНФО or СИГУСР1 до xz процесс заставляет его распечатать информацию о прогрессе в
стандартная ошибка. Это имеет только ограниченное использование, поскольку, когда стандартная ошибка является терминалом, используя
--подробный отобразит автоматически обновляемый индикатор прогресса.

Память пользования
Использование памяти xz варьируется от нескольких сотен килобайт до нескольких гигабайт в зависимости от
о настройках сжатия. Параметры, используемые при сжатии файла, определяют
требования к памяти декомпрессора. Обычно декомпрессору требуется от 5% до 20%
объем памяти, необходимый компрессору при создании файла. Например,
распаковка файла, созданного с помощью xz -9 в настоящее время требуется 65 МБ памяти. Тем не менее, это
возможно иметь .xz файлы, для распаковки которых требуется несколько гигабайт памяти.

Особенно пользователи старых систем могут столкнуться с возможностью очень большого использования памяти.
раздражающий. Чтобы предотвратить неприятные сюрпризы, xz имеет встроенный ограничитель использования памяти,
который по умолчанию отключен. Хотя некоторые операционные системы предоставляют способы ограничить
использование памяти процессами, полагаясь на нее, не считалось достаточно гибким (например, использование
ограничение(1) ограничение виртуальной памяти имеет тенденцию к выходу из строя ММАП(2 г.)).

Ограничитель использования памяти можно включить с помощью параметра командной строки. --memlimit =предел.
Часто бывает удобнее включить ограничитель по умолчанию, установив среду
переменная XZ_DEFAULTS, например XZ_DEFAULTS = - memlimit = 150 МБ. Можно установить
ограничения отдельно для сжатия и декомпрессии с помощью --memlimit-compress =предел и
--memlimit-decopress =предел. Использование этих двух вариантов вне XZ_DEFAULTS редко бывает полезным
потому что один запуск xz не может выполнять одновременно сжатие и декомпрессию и
--memlimit =предел (или -M предел) короче набирать в командной строке.

Если указанный предел использования памяти превышен при распаковке, xz отобразит
ошибка и распаковать файл не удастся. Если предел превышен при сжатии, xz
попытается уменьшить настройки, чтобы предел больше не превышался (кроме случаев, когда
через --format = raw or - не настраивать). Таким образом, операция не завершится неудачно, если не будет установлен предел.
очень маленький. Масштабирование настроек выполняется по шагам, которые не соответствуют степени сжатия.
предустановки уровня, например, если лимит лишь немного меньше суммы, необходимой для xz -9,
настройки будут немного уменьшены, а не полностью до xz -8.

конкатенация и набивка .xz файлов
Можно объединить .xz файлы как есть. xz распаковывает такие файлы, как если бы они
были единым .xz .

Можно вставить отступ между соединенными частями или после последней части.
Заполнение должно состоять из нулевых байтов, а его размер должен быть кратен
четыре байта. Это может быть полезно, например, если .xz файл хранится на носителе, который измеряет
размеры файлов в блоках по 512 байт.

Конкатенация и заполнение недопустимы с .лзма файлы или необработанные потоки.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


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

КБ Умножьте целое число на 1,024 (2 ^ 10). Ki, k, kB, Kкачества KB принимаются как
синонимы к слову КБ.

МиБ Умножьте целое число на 1,048,576 (2 ^ 20). Mi, m, Mкачества MB принимаются как
синонимы к слову МиБ.

GiB Умножьте целое число на 1,073,741,824 (2 ^ 30). Gi, g, Gкачества GB принимаются как
синонимы к слову GiB.

Особая ценность Макс может использоваться для указания максимального целочисленного значения, поддерживаемого
опцию.

Эксплуатация Режим
Если задано несколько вариантов режима работы, действует последний.

-z, --компресс
Компресс. Это режим работы по умолчанию, если параметр режима работы не задан.
указано, и из имени команды не подразумевается другой режим работы (для
пример, unxz подразумевает - распаковать).

-d, - распаковать, --распаковать
Распаковать.

-t, --тестовое задание
Проверить целостность сжатого файлов. Этот вариант эквивалентен - распаковать
--stdout за исключением того, что распакованные данные отбрасываются, а не записываются в
стандартный вывод. Файлы не создаются и не удаляются.

-l, --список
Распечатать информацию о сжатом файлов. Несжатый вывод не производится, и
файлы не создаются и не удаляются. В режиме списка программа не может прочитать
сжатые данные из стандартного ввода или из других недоступных источников.

В списке по умолчанию отображается основная информация о файлов, по одному файлу в строке. Получить
более подробную информацию, используйте также --подробный вариант. Для еще большего
информация, использование --подробный дважды, но учтите, что это может быть медленным, потому что получение
вся дополнительная информация требует множества поисков. Ширина подробного вывода превышает
80 символов, так что вывод, например, Меньше -S может быть удобно, если
терминал недостаточно широкий.

Точный результат может варьироваться в зависимости от xz версии и разные языки. Для машины-
читаемый вывод, --робот --список должен быть использован.

Эксплуатация модификаторы
-k, --хранить
Не удаляйте входные файлы.

-f, --сила
Этот вариант имеет несколько эффектов:

· Если целевой файл уже существует, удалите его перед сжатием или
декомпрессия.

· Сжимать или распаковывать, даже если входные данные являются символической ссылкой на обычный файл,
имеет более одной жесткой ссылки или имеет установленный setuid, setgid или липкий бит. В
setuid, setgid и липкие биты не копируются в целевой файл.

· При использовании с - распаковать --stdout и xz не может распознать тип
исходный файл, скопируйте исходный файл как есть в стандартный вывод. Это позволяет xzcat
--сила использоваться как кошка(1) для файлов, которые не были сжаты с помощью xz.
Обратите внимание, что в будущем xz может поддерживать новые форматы сжатых файлов, которые могут
сделать xz распаковывать больше типов файлов вместо того, чтобы копировать их как стандартные
вывод. --format =формат может использоваться для ограничения xz распаковать только один
формат файла.

-c, --stdout, --to-stdout
Записывайте сжатые или распакованные данные в стандартный вывод вместо файла.
Из этого следует --хранить.

- однопоточный
Распаковать только первый .xz поток и молча игнорировать возможный оставшийся ввод
данные, следующие за потоком. Обычно такой хвостовой мусор делает xz показать
ошибка.

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

Эта опция не действует, если режим работы не установлен. - распаковать or --тестовое задание.

- не разреженный
Отключить создание разреженных файлов. По умолчанию при распаковке в обычный
файл, xz пытается сделать файл разреженным, если распакованные данные содержат длинные
последовательности двоичных нулей. Он также работает при записи на стандартный вывод, пока
так как стандартный вывод связан с обычным файлом и определенными дополнительными условиями
встречаются, чтобы сделать это безопасным. Создание разреженных файлов может сэкономить место на диске и ускорить
декомпрессия за счет уменьшения количества дисковых операций ввода-вывода.

-S .суф, --suffix =.суф
При сжатии используйте .суф в качестве суффикса для целевого файла вместо .xz or
.лзма. Если не выполняется запись в стандартный вывод, а исходный файл уже имеет
суффикс .суфотображается предупреждение, и файл пропускается.

При распаковке распознавать файлы с суффиксом .суф в дополнение к файлам с
домен .xz, .TXZ, .лзмаили .tlz суффикс. Если исходный файл имеет суффикс .суф,
суффикс удаляется, чтобы получить целевое имя файла.

При сжатии или распаковке сырых потоков (--format = raw) суффикс должен
всегда указывать, кроме случаев записи в стандартный вывод, потому что по умолчанию нет
суффикс для сырых потоков.

--файлы[=файл]
Прочтите имена файлов для обработки из файл; если файл опускается, имена файлов читаются
со стандартного ввода. Имена файлов должны заканчиваться символом новой строки. А
бросаться (-) принимается как обычное имя файла; это не означает стандартный ввод. Если
имена файлов также указываются в качестве аргументов командной строки, они обрабатываются до
имена файлов читаются из файл.

--files0[=файл]
Это идентично --файлы[=файл] за исключением того, что каждое имя файла должно заканчиваться
с нулевым символом.

Базовый файл формат и (сила) кредита
-F формат, --format =формат
Укажите файл формат сжать или распаковать:

автоматический Это значение по умолчанию. При сжатии, автоматический эквивалентна xz. Когда
при распаковке автоматически определяется формат входного файла. Примечание
эти необработанные потоки (созданные с --format = raw) не может быть обнаружен автоматически.

xz Сжать до .xz формат файла или только принять .xz файлы, когда
декомпрессия.

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

сырье Сжать или распаковать необработанный поток (без заголовков). Это предназначено для
Только для опытных пользователей. Чтобы декодировать необработанные потоки, вам нужно использовать --format = raw и
явно указать цепочку фильтров, которая обычно хранилась бы
в заголовках контейнеров.

-C проверка, --check =проверка
Укажите тип проверки целостности. Чек рассчитывается от
несжатые данные и хранятся в .xz файл. Эта опция действует только тогда, когда
сжатие в .xz формат; в .лзма формат не поддерживает проверки целостности.
Проверка целостности (если таковая имеется) проверяется, когда .xz файл распакован.

Поддержанный проверка типы:

никто Ни в коем случае не рассчитывайте проверку целостности. Обычно это плохая идея.
Это может быть полезно, когда целостность данных проверяется другими способами.
так или иначе.

crc32 Вычислите CRC32, используя полином из IEEE-802.3 (Ethernet).

crc64 Вычислите CRC64, используя полином из ECMA-182. Это по умолчанию,
поскольку он немного лучше CRC32 при обнаружении поврежденных файлов и
разница в скорости незначительна.

sha256 Рассчитайте SHA-256. Это несколько медленнее, чем CRC32 и CRC64.

Целостность .xz заголовки всегда проверяются с помощью CRC32. Невозможно
изменить или отключить его.

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

Различия между пресетами более значительны, чем с GZIP(1) и
bzip2(1). Выбранные настройки сжатия определяют требования к памяти
декомпрессора, поэтому использование слишком высокого предустановленного уровня может затруднить
распаковать файл в старой системе с небольшим объемом оперативной памяти. Конкретно, это не a
хорошо идея в слепо использование -9 для многое как это часто бывает с GZIP(1) и
bzip2(1).

-0 ... -3
Это несколько быстрые предустановки. -0 иногда быстрее, чем GZIP -9 в то время как
сжимает намного лучше. Более высокие часто имеют скорость, сравнимую с
bzip2(1) со сравнимой или лучшей степенью сжатия, хотя результаты
во многом зависят от типа сжимаемых данных.

-4 ... -6
Сжатие от хорошего до очень хорошего при сохранении использования памяти декомпрессором
разумно даже для старых систем. -6 это значение по умолчанию, которое обычно является хорошим
выбор, например, для распространения файлов, которые необходимо распаковать даже на
системы только с 16 МБ ОЗУ. (-5e or -6e тоже стоит задуматься.
Читать --экстремальный.)

-7 ... -9
Это похоже на -6 но с более высокой памятью компрессора и декомпрессора
требования. Они полезны только при сжатии файлов размером более
8 МиБ, 16 МиБ и 32 МиБ соответственно.

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

В следующей таблице приведены характеристики предустановок:

Предустановленный DictSize CompCPU CompMem DecMem
-0 256 Кбайт 0 3 МиБ 1 МиБ
-1 1 МиБ 1 9 МиБ 2 МиБ
-2 2 МиБ 2 17 МиБ 3 МиБ
-3 4 МиБ 3 32 МиБ 5 МиБ
-4 4 МиБ 4 48 МиБ 5 МиБ
-5 8 МиБ 5 94 МиБ 9 МиБ
-6 8 МиБ 6 94 МиБ 9 МиБ
-7 16 МиБ 6 186 МиБ 17 МиБ
-8 32 МиБ 6 370 МиБ 33 МиБ
-9 64 МиБ 6 674 МиБ 65 МиБ

Описание столбцов:

· DictSize - это размер словаря LZMA2. Использование
словарь больше размера несжатого файла. Вот почему это
хорошо, чтобы избежать использования предустановок -7 ... -9 когда в них нет реальной необходимости.
At -6 и ниже, количество потраченной впустую памяти обычно достаточно мало, чтобы не
вопрос.

· CompCPU - это упрощенное представление настроек LZMA2, которые влияют на
скорость сжатия. Размер словаря тоже влияет на скорость, поэтому, пока CompCPU
то же самое для уровней -6 ... -9, более высокие уровни все же имеют тенденцию быть немного медленнее.
Чтобы получить еще более медленное и, возможно, лучшее сжатие, см. --экстремальный.

· CompMem содержит требования к памяти компрессора в однопоточном режиме.
Он может незначительно отличаться между xz версии. Требования к памяти некоторых из
будущие многопоточные режимы могут быть значительно выше, чем у однопоточных.
резьбовой режим.

· DecMem содержит требования к памяти декомпрессора. То есть сжатие
настройки определяют требования к памяти декомпрессора. Точный
использование памяти декомпрессора немного больше, чем размер словаря LZMA2, но
значения в таблице округлены до следующего полного МиБ.

-e, --экстремальный
Используйте более медленный вариант выбранного предустановленного уровня сжатия (-0 ... -9), Чтобы
надеюсь получить немного лучшую степень сжатия, но если не повезет, это может
также усугубить ситуацию. Использование памяти декомпрессором не влияет, но компрессор
использование памяти немного увеличивается на заданных уровнях -0 ... -3.

Поскольку есть два пресета с размером словаря 4 МиБ и 8 МиБ, пресеты -3e
и -5e используйте немного более быстрые настройки (ниже CompCPU), чем -4e и -6e,
соответственно. Таким образом, нет двух одинаковых предустановок.

Предустановленный DictSize CompCPU CompMem DecMem
-0e 256 Кбайт 8 4 МиБ 1 МиБ
-1e 1 МиБ 8 13 МиБ 2 МиБ
-2e 2 МиБ 8 25 МиБ 3 МиБ
-3e 4 МиБ 7 48 МиБ 5 МиБ
-4e 4 МиБ 8 48 МиБ 5 МиБ
-5e 8 МиБ 7 94 МиБ 9 МиБ
-6e 8 МиБ 8 94 МиБ 9 МиБ
-7e 16 МиБ 8 186 МиБ 17 МиБ
-8e 32 МиБ 8 370 МиБ 33 МиБ
-9e 64 МиБ 8 674 МиБ 65 МиБ

Например, всего четыре предустановки, которые используют словарь 8 MiB, чьи
порядок от самого быстрого к самому медленному -5, -6, -5eкачества -6e.

--быстро
--Лучший Это несколько вводящие в заблуждение псевдонимы для -0 и -9, соответственно. Эти
предоставляется только для обратной совместимости с LZMA Utils. Избегайте использования этих
настройки.

- размер блока =размер
При сжатии до .xz формат, разбейте входные данные на блоки размер байт.
Блоки сжимаются независимо друг от друга.

--memlimit-compress =предел
Установите предел использования памяти для сжатия. Если эта опция указана несколько
раз вступает в силу последний.

Если настройки сжатия превышают предел, xz уменьшит настройки
чтобы предел больше не превышался, и отображать уведомление о том, что автоматический
регулировка была сделана. Такие настройки не выполняются при сжатии с
--format = raw или если - не настраивать был указан. В этих случаях ошибка
отображается и xz выйдет со статусом выхода 1.

Ассоциация предел можно указать несколькими способами:

· The предел может быть абсолютным значением в байтах. Использование целочисленного суффикса, например МиБ
может быть полезно. Пример: --memlimit-compress = 80 МБ

· The предел можно указать в процентах от общей физической памяти (ОЗУ). Этот
может быть полезно, особенно при настройке XZ_DEFAULTS переменная среды в
сценарий инициализации оболочки, который используется разными компьютерами. Что
Таким образом, лимит автоматически увеличивается в системах с большим объемом памяти. Пример:
--memlimit-compress = 70%

· The предел можно сбросить до значения по умолчанию, установив для него 0. Это
в настоящее время эквивалентно установке предел в Макс (без ограничения использования памяти). Один раз
реализована поддержка многопоточности, может быть разница между 0
и Макс для многопоточного корпуса, поэтому рекомендуется использовать 0 вместо Макс
пока не будут решены детали.

Смотрите также раздел Память пользования.

--memlimit-decopress =предел
Установите предел использования памяти для распаковки. Это также влияет на --список режим. Если
операция невозможна без превышения предел, xz отобразит ошибку
и распаковать файл не удастся. Видеть --memlimit-compress =предел для возможного
способы указать предел.

-M предел, --memlimit =предел, --memory =предел
Это эквивалентно указанию --memlimit-compress =предел
--memlimit-decopress =предел.

- не настраивать
Вывести сообщение об ошибке и выйти, если параметры сжатия превышают использование памяти
предел. По умолчанию настройки уменьшаются таким образом, чтобы использование памяти
лимит не превышен. Автоматическая регулировка всегда отключена при создании сырых
потоки (--format = raw).

-T темы, --threads =темы
Укажите количество используемых рабочих потоков. Фактическое количество потоков может быть
меньше, чем темы если использование большего количества потоков превысит лимит использования памяти.

Многопоточный (сила) и декомпрессия Он не в XNUMX году Тем не менее, so этой вариант
и нет эффект для сейчас.

As of письмо (2010), it не имеет было решенный if темы будете be используемый by
по умолчанию on многожильный системы консолидировать поддержка для нарезания резьбы и было реализованы.
Комментарии Он Добро пожаловать. Усложняющий фактор заключается в том, что использование большого количества потоков приведет к
резко увеличить использование памяти. Обратите внимание, что если многопоточность будет
по умолчанию, вероятно, это будет сделано для того, чтобы однопоточный и многопоточный режимы
производят тот же результат, поэтому степень сжатия не будет существенно затронута, если
потоки будут включены по умолчанию.

На заказ компрессор фильтр цепи
Настраиваемая цепочка фильтров позволяет детально указывать параметры сжатия, а не
полагаясь на настройки, связанные с предустановленными уровнями. Когда настраиваемая цепочка фильтров
указаны параметры предустановленного уровня сжатия (-0 ... -9 и --экстремальный) молча
игнорируются.

Цепочка фильтров сравнима с конвейером в командной строке. При сжатии
несжатый вход поступает в первый фильтр, выход которого идет в следующий фильтр (если
любой). Результат последнего фильтра записывается в сжатый файл. Максимум
количество фильтров в цепочке - четыре, но обычно цепочка фильтров имеет только один или два
фильтры.

Многие фильтры имеют ограничения на то, где они могут быть в цепочке фильтров: некоторые фильтры могут
работают только как последний фильтр в цепочке, некоторые только как не последний фильтр, а некоторые работают
в любом месте цепи. В зависимости от фильтра это ограничение либо присуще.
к конструкции фильтра или существует для предотвращения проблем с безопасностью.

Настраиваемая цепочка фильтров указывается с помощью одного или нескольких параметров фильтра в том порядке, в котором они
требуются в цепочке фильтров. То есть порядок фильтров имеет значение!
При декодировании сырых потоков (--format = raw) цепочка фильтров указывается в том же порядке
как было указано при сжатии.

Фильтры принимают специфичный для фильтра кредита в виде списка, разделенного запятыми. Дополнительные запятые в кредита
игнорируются. Каждая опция имеет значение по умолчанию, поэтому вам нужно указать только те, которые вы хотите
изменить.

--lzma1[=кредита]
--lzma2[=кредита]
Добавьте фильтр LZMA1 или LZMA2 в цепочку фильтров. Эти фильтры можно использовать только как
последний фильтр в цепочке.

LZMA1 - это устаревший фильтр, который поддерживается почти исключительно из-за устаревшего .лзма
формат файла, который поддерживает только LZMA1. LZMA2 - это обновленная версия LZMA1 до
исправить некоторые практические проблемы LZMA1. В .xz формат использует LZMA2 и не поддерживает
LZMA1 у всех. Скорость сжатия и отношения LZMA1 и LZMA2 практически равны
то же самое.

LZMA1 и LZMA2 используют один и тот же набор кредита:

предустановка =заданной
Сбросить все LZMA1 или LZMA2 кредита в заданной. Предустановленная состоят из целого числа,
за которым могут следовать однобуквенные предустановленные модификаторы. Целое число может быть
от 0 в 9, соответствие параметрам командной строки -0 ... -9, Единственный
поддерживаемый модификатор в настоящее время e, что соответствует --экстремальный. По умолчанию
заданной is 6, из которых значения по умолчанию для остальной части LZMA1 или
ЛЗМА2 кредита принимаются.

dict =размер
Словарь (буфер истории) размер указывает, сколько байтов недавно
обработанные несжатые данные хранятся в памяти. Алгоритм пытается найти
повторение последовательностей байтов (совпадений) в несжатых данных и замена
их со ссылками на данные, находящиеся в данный момент в словаре. Больший
словарь, тем выше шанс найти совпадение. Таким образом, увеличивая
словарь размер обычно улучшает степень сжатия, но словарь больше
чем несжатый файл - пустая трата памяти.

Типичный словарь размер составляет от 64 КиБ до 64 МиБ. Минимум 4 КиБ.
Максимальный размер сжатия в настоящее время составляет 1.5 ГиБ (1536 МиБ). В
декомпрессор уже поддерживает словари размером до одного байта менее 4 ГиБ,
что является максимумом для потоковых форматов LZMA1 и LZMA2.

Dictionary размер и поиск совпадений (mf) вместе определяют использование памяти
кодировщик LZMA1 или LZMA2. Тот же (или больший) словарь размер is
требуется для распаковки, которая использовалась при сжатии, таким образом, память
использование декодера определяется размером словаря, используемого, когда
сжатие. В .xz заголовки хранят словарь размер либо как 2 ^n или 2 ^n
+ 2 ^ (n-1), поэтому эти Размеры в некоторой степени предпочтительны для сжатия. Другой
Размеры будет округлено при хранении в .xz заголовки.

lc =lc Укажите количество битов буквального контекста. Минимум 0 и
максимум 4; значение по умолчанию - 3. Кроме того, сумма lc и lp нельзя
превышает 4.

Все байты, которые не могут быть закодированы как совпадения, кодируются как литералы. Что
То есть литералы - это просто 8-битные байты, которые кодируются по одному.

Буквальное кодирование предполагает, что самый высокий lc биты
предыдущий несжатый байт соотносится со следующим байтом. Например, в типичном
В английском тексте за прописной буквой часто следует строчная буква,
а за строчной буквой обычно следует другая строчная буква.
В наборе символов US-ASCII старшие три бита - 010 для верхнего регистра.
буквы и 011 для строчных букв. Когда lc не меньше 3, буквальный
кодирование может использовать это свойство в несжатых данных.

Значение по умолчанию (3) обычно хорошее. Если вы хотите максимальное сжатие,
тестXNUMX lc = 4. Иногда это немного помогает, а иногда делает сжатие
худший. Если это ухудшает ситуацию, проверьте, например, lc = 2 тоже.

lp =lp Укажите количество битов буквальной позиции. Минимум 0 и
максимум 4; по умолчанию 0.

Lp влияет на то, какое выравнивание несжатых данных предполагается, когда
кодирующие литералы. Видеть pb ниже для получения дополнительной информации о выравнивании.

pb =pb Укажите количество битов позиции. Минимум 0 и максимум 4;
по умолчанию 2.

Pb влияет на то, какое выравнивание несжатых данных предполагается в
Общее. По умолчанию означает четырехбайтовое выравнивание (2 ^pb= 2 ^ 2 = 4), что часто бывает
хороший выбор, когда нет лучшего предположения.

Когда известно значение, установка pb соответственно может уменьшить размер файла
маленький. Например, с текстовыми файлами с однобайтовым выравниванием (US-ASCII,
ISO-8859- *, UTF-8), настройка pb = 0 может немного улучшить сжатие. Для
Текст UTF-16, pb = 1 хороший выбор. Если выравнивание - нечетное число, например
3 XNUMX байт, pb = 0 может быть лучшим выбором.

Несмотря на то, что предполагаемое выравнивание можно отрегулировать с помощью pb и lp, LZMA1 и
LZMA2 все еще немного поддерживает 16-байтовое выравнивание. Возможно, стоит принять во внимание
учетная запись при разработке форматов файлов, которые могут часто сжиматься
с LZMA1 или LZMA2.

mf =mf Поиск совпадений существенно влияет на скорость кодировщика, использование памяти и
коэффициент сжатия. Обычно поисковые системы Hash Chain быстрее, чем Binary
Поисковики спичек деревьев. Значение по умолчанию зависит от заданной: 0 использований hc3, 1-3 использования
hc4, а остальные используют bt4.

Поддерживаются следующие средства поиска совпадений. Формулы использования памяти ниже
являются грубыми приближениями, которые наиболее близки к реальности, когда ДИКТ - это
мощность двух.

hc3 Хеш-цепочка с 2- и 3-байтовым хешированием
Минимальное значение для хороший: 3
Использование памяти:
ДИКТ * 7.5 (если ДИКТ <= 16 МБ);
ДИКТ * 5.5 + 64 МБ (если ДИКТ > 16 МБ)

hc4 Хеш-цепочка с 2-, 3- и 4-байтовым хешированием
Минимальное значение для хороший: 4
Использование памяти:
ДИКТ * 7.5 (если ДИКТ <= 32 МБ);
ДИКТ * 6.5 (если ДИКТ > 32 МБ)

bt2 Двоичное дерево с 2-байтовым хешированием
Минимальное значение для хороший: 2
Использование памяти: ДИКТ * 9.5

bt3 Двоичное дерево с 2- и 3-байтовым хешированием
Минимальное значение для хороший: 3
Использование памяти:
ДИКТ * 11.5 (если ДИКТ <= 16 МБ);
ДИКТ * 9.5 + 64 МБ (если ДИКТ > 16 МБ)

bt4 Двоичное дерево с 2-, 3- и 4-байтовым хешированием
Минимальное значение для хороший: 4
Использование памяти:
ДИКТ * 11.5 (если ДИКТ <= 32 МБ);
ДИКТ * 10.5 (если ДИКТ > 32 МБ)

Режим =Режим
компрессия Режим определяет метод анализа данных, производимых
поиск совпадений. Поддерживается Режимы Он быстро и "обычные", По умолчанию быстро для
пресеты 0-3 и "обычные" для пресеты 4-9.

Как правило быстро используется с поисковыми системами Hash Chain и "обычные" с двоичным
Поисковики спичек деревьев. Это тоже то, что пресеты делать.

приятно =хороший
Укажите, какая длина считается подходящей для матча. Однажды матч
XNUMX% хороший байтов найден, алгоритм перестает искать возможно
лучшие матчи.

Ницца может быть 2-273 байта. Чем выше значение, тем лучше сжатие
соотношение за счет скорости. Значение по умолчанию зависит от заданной.

глубина =глубина
Укажите максимальную глубину поиска в поисковике совпадений. По умолчанию
специальное значение 0, которое заставляет компрессор определять разумную глубина
от mf и хороший.

резонный глубина для хеш-цепочек - 4-100 и 16-1000 для двоичных деревьев.
Использование очень высоких значений для глубина может сделать кодировщик очень медленным с
некоторые файлы. Избегайте установки глубина более 1000, если вы не готовы
прервите сжатие, если оно длится слишком долго.

При декодировании сырых потоков (--format = raw), LZMA2 нужен только словарь размер.
LZMA1 также нуждается lc, lpкачества pb.

--x86[=кредита]
--powerpc[=кредита]
--ia64[=кредита]
--рука[=кредита]
большой палец руки[=кредита]
--sparc[=кредита]
Добавьте фильтр ветвления / вызова / перехода (BCJ) в цепочку фильтров. Эти фильтры можно использовать
только как не последний фильтр в цепочке фильтров.

Фильтр BCJ преобразует относительные адреса в машинном коде в их абсолютные.
аналоги. Это не меняет размер данных, но увеличивает
избыточность, которая может помочь LZMA2 производить на 0-15% меньше .xz файл. BCJ
фильтры всегда обратимы, поэтому использование BCJ-фильтра для неправильного типа данных не
может привести к потере данных, хотя может немного ухудшить степень сжатия.

Можно применить фильтр BCJ ко всему исполняемому файлу; нет необходимости применять это
только в исполняемом разделе. Применение фильтра BCJ к архиву, содержащему
как исполняемые, так и неисполняемые файлы могут давать или не давать хорошие результаты, поэтому
как правило, не рекомендуется применять фильтр BCJ вслепую при сжатии двоичных пакетов
для распространения.

Эти фильтры BCJ очень быстрые и используют незначительный объем памяти. Если BCJ
фильтр улучшает степень сжатия файла, он может улучшить скорость распаковки при
в то же время. Это связано с тем, что на том же оборудовании скорость декомпрессии
LZMA2 - это примерно фиксированное количество байтов сжатых данных в секунду.

Эти фильтры BCJ имеют известные проблемы, связанные со степенью сжатия:

· Некоторые типы файлов, содержащих исполняемый код (например, объектные файлы, статические
библиотеки и модули ядра Linux) имеют адреса в инструкциях
заполнены значениями наполнителя. Эти фильтры BCJ по-прежнему будут выполнять адрес
преобразование, которое ухудшит сжатие этих файлов.

· Применение фильтра BCJ к архиву, содержащему несколько похожих исполняемых файлов, может
сделать степень сжатия хуже, чем использование фильтра BCJ. Это потому что
фильтр BCJ не определяет границы исполняемых файлов, и
не сбрасывает счетчик преобразования адресов для каждого исполняемого файла.

Обе вышеуказанные проблемы будут исправлены в будущем в новом фильтре. Старый
Фильтры BCJ по-прежнему будут полезны во встроенных системах, потому что декодер
новый фильтр будет больше и потреблять больше памяти.

Различные наборы команд имеют разное выравнивание:

Примечания по выравниванию фильтра
x86 1 32-битный или 64-битный x86
PowerPC 4 только с прямым порядком байтов
ARM 4 Только с прямым порядком байтов
ARM-Thumb 2 Только с прямым порядком байтов
IA-64 16 с прямым или обратным порядком байтов
SPARC 4 Большой или маленький порядок байтов

Поскольку данные, отфильтрованные BCJ, обычно сжимаются с помощью LZMA2, степень сжатия
можно немного улучшить, если параметры LZMA2 настроены в соответствии с выравниванием
выбранный фильтр BCJ. Например, с фильтром IA-64 хорошо установить pb = 4
с LZMA2 (2 ^ 4 = 16). Фильтр x86 - исключение; обычно хорошо придерживаться
Четырехбайтовое выравнивание LZMA2 по умолчанию при сжатии исполняемых файлов x86.

Все фильтры BCJ поддерживают одно и то же кредита:

начало =смещение
Укажите начало смещение который используется при преобразовании между относительным и
абсолютные адреса. В смещение должно быть кратно выравниванию
фильтр (см. таблицу выше). По умолчанию - ноль. На практике
дефолт - хорошо; указание обычай смещение почти никогда не бывает полезным.

- дельта[=кредита]
Добавьте фильтр Дельта в цепочку фильтров. Дельта-фильтр можно использовать только как
не последний фильтр в цепочке фильтров.

В настоящее время поддерживается только простое побайтовое вычисление дельты. Это может быть полезно
при сжатии, например, несжатых растровых изображений или несжатого звука PCM.
Однако алгоритмы специального назначения могут дать значительно лучшие результаты, чем
Дельта + LZMA2. Это особенно верно в отношении звука, который сжимается быстрее и
лучше, например, с FLAC(1).

Поддержанный кредита:

dist =расстояние
Укажите расстояние вычисления дельты в байтах. расстояние должен быть
1-256. По умолчанию 1.

Например, с dist = 2 и восьмибайтовый вход A1 B1 A2 B3 A3 B5 A4 B7,
выход будет A1 B1 01 02 01 02 01 02.

Другие контрактные услуги кредита
-q, --тихий
Подавить предупреждения и уведомления. Укажите это дважды, чтобы также подавить ошибки. Этот
опция не влияет на статус выхода. То есть, даже если предупреждение было
подавлено, статус выхода, указывающий на то, что предупреждение все еще используется.

-v, --подробный
Будьте многословны. Если к терминалу подключена стандартная ошибка, xz будет отображать
индикатор прогресса. Указание --подробный дважды даст еще более подробный результат.

Индикатор прогресса показывает следующую информацию:

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

· Количество сжатых данных, произведенных (сжатие) или потребленных (распаковка).

· Количество несжатых данных, потребленных (сжатие) или произведенных (распаковка).

· Степень сжатия, которая рассчитывается путем деления количества сжатых данных.
обработано на данный момент по количеству обработанных несжатых данных.

· Скорость сжатия или декомпрессии. Это измеряется как количество
несжатые данные, потребляемые (сжатие) или производимые (распаковка) в секунду.
Он отображается через несколько секунд после того, как xz приступил к обработке
.

· Прошедшее время в формате M: SS или H: MM: SS.

· Расчетное оставшееся время отображается только в том случае, если известен размер входного файла.
и прошло уже пару секунд с тех пор, как xz приступил к обработке
файл. Время отображается в менее точном формате, в котором никогда не бывает двоеточий,
например, 2 мин 30 сек.

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

-Q, - не предупреждать
Не устанавливайте статус выхода на 2, даже если было обнаружено условие, заслуживающее предупреждения.
Этот параметр не влияет на уровень детализации, поэтому оба --тихий и - не предупреждать
должны использоваться, чтобы не отображать предупреждения и не изменять статус выхода.

--робот
Печатать сообщения в формате, пригодном для машинного анализа. Это сделано для облегчения написания
интерфейсы, которые хотят использовать xz вместо liblzma, что может иметь место с
различные скрипты. Выход с этой включенной опцией должен быть стабильным через
xz выпускает. См. Раздел РОБОТ РЕЖИМ для получения информации.

--инфо-память
Отображение в удобочитаемом формате объема физической памяти (ОЗУ) xz думает
система имеет ограничения на использование памяти для сжатия и распаковки, и выйти
успешно.

-h, --Помогите
Вывести справочное сообщение с описанием наиболее часто используемых параметров и выйти.
успешно.

-H, --долгая помощь
Отображение справочного сообщения, описывающего все функции xz, и успешно выйти

-V, --версия
Показать номер версии xz и liblzma в удобочитаемом формате. Получить
машинно-анализируемый вывод, укажите --робот до --версия.

РОБОТ РЕЖИМ


Режим робота активируется с помощью --робот вариант. Это делает вывод xz легче
парсить другими программами. В настоящее время --робот поддерживается только вместе с --версия,
--инфо-памятькачества --список. Будет поддерживаться нормальное сжатие и декомпрессия.
в будущем.

Версия
xz --робот --версия напечатает номер версии xz и liblzma в следующих
Формат:

XZ_VERSION =XYYYZZZS
LIBLZMA_VERSION =XYYYZZZS

X Основная версия.

YYY Дополнительная версия. Четные числа стабильны. Нечетные числа являются альфа- или бета-версиями.

ZZZ Уровень исправлений для стабильных выпусков или просто счетчик для выпусков в разработке.

S Стабильность. 0 - это альфа, 1 - это бета, а 2 - стабильная. S всегда должно быть 2, когда YYY
даже.

XYYYZZZS одинаковы в обеих строках, если xz и liblzma из той же версии XZ Utils.

Примеры: 4.999.9beta - это 49990091 и 5.0.0 это 50000002.

Память предел информация
xz --робот --инфо-память печатает одну строку с тремя столбцами, разделенными табуляцией:

1. Общий объем физической памяти (ОЗУ) в байтах.

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

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

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

Список Режим
xz --робот --список использует вывод, разделенный табуляцией. В первом столбце каждой строки есть строка
который указывает тип информации, найденной в этой строке:

имя Это всегда первая строка, когда начинается список файла. Вторая колонка на
строка - это имя файла.

файл Эта строка содержит общую информацию о .xz файл. Эта линия всегда
напечатано после имя линии.

поток Этот тип линии используется только тогда, когда --подробный было указано. Столько же поток
линий, поскольку в .xz .

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

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

общие данные Эта строка всегда является самой последней строкой вывода списка. Он показывает общую
количество и размеры.

Колонны файл линии:
2. Количество потоков в файле.
3. Общее количество блоков в потоке (ах).
4. Сжатый размер файла.
5. Несжатый размер файла.
6. Степень сжатия, например 0.123. Если коэффициент больше 9.999, три черточки
(Напишите нам в чат или Email) отображаются вместо соотношения.
7. Список имен проверки целостности, разделенных запятыми. Используются следующие строки
для известных типов чеков: Ничто, CRC32, CRC64качества SHA-256. Для неизвестной проверки
типы, НеизвестноN используется, где N - это идентификатор чека в виде десятичного числа (единица или
две цифры).
8. Общий размер заполнения потока в файле.

Колонны поток линии:
2. Номер потока (первый поток - 1).
3. Количество блоков в потоке.
4. Сжатое начальное смещение
5. Несжатое начальное смещение
6. Сжатый размер (без заполнения потока)
7. Несжатый размер
8. Степень сжатия
9. Название проверки целостности.
10. Размер заполнения потока.

Колонны блок линии:
2. Номер потока, содержащего этот блок.
3. Номер блока относительно начала потока (первый блок равен 1).
4. Номер блока относительно начала файла.
5. Сжатое начальное смещение относительно начала файла.
6. Несжатое начальное смещение относительно начала файла.
7. Общий сжатый размер блока (включая заголовки).
8. Несжатый размер
9. Степень сжатия
10. Название проверки целостности.

If --подробный был указан дважды, дополнительные столбцы включены в блок линий.
Они не отображаются с одним --подробный, потому что для получения этой информации требуется
многие ищут и поэтому могут быть медленными:
11. Значение проверки целостности в шестнадцатеричном формате.
12. Размер заголовка блока.
13. Блокировать флаги: c указывает на наличие сжатого размера, и u указывает, что
несжатый размер присутствует. Если флаг не установлен, прочерк (-) Показано
вместо этого, чтобы сохранить фиксированную длину строки. Новые флаги могут быть добавлены в конец
строка в будущем.
14. Размер фактических сжатых данных в блоке (исключая блок
заголовок, заполнение блока и поля проверки)
15. Объем памяти (в байтах), необходимый для распаковки этого блока с помощью этого xz
версия
16. Цепь фильтров. Обратите внимание, что большинство параметров, используемых во время сжатия, не могут быть
известно, потому что в
домен .xz заголовки.

Колонны резюме линии:
2. Объем памяти (в байтах), необходимый для распаковки этого файла с помощью этого xz
версия
3. Да or нет указывает, все ли заголовки блоков имеют сжатый размер и
несжатый размер хранится в них
С xz 5.1.2альфа:
4. Минимум xz версия, необходимая для распаковки файла

Колонны общие данные строки:
2. Количество потоков
3. Количество блоков
4. Сжатый размер
5. Несжатый размер
6. Средняя степень сжатия
7. Разделенный запятыми список имен проверок целостности, которые присутствовали в файлах.
8. Размер заполнения потока.
9. Количество файлов. Это здесь, чтобы сохранить порядок предыдущих столбцов,
так же, как на файл линий.

If --подробный был указан дважды, дополнительные столбцы включены в общие данные строки:
10. Максимальный объем памяти (в байтах), необходимый для распаковки файлов с помощью этого
xz версия
11. Да or нет указывает, все ли заголовки блоков имеют сжатый размер и
несжатый размер хранится в них
С xz 5.1.2альфа:
12. Минимум xz версия, необходимая для распаковки файла

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

ВЫХОД статус


0 Все хорошо.

1 Произошла ошибка.

2 Произошло что-то достойное предупреждения, но реальных ошибок не произошло.

Уведомления (не предупреждения или ошибки), напечатанные при стандартной ошибке, не влияют на статус выхода.

ОКРУЖАЮЩАЯ СРЕДА


xz анализирует разделенные пробелами списки параметров из переменных среды XZ_DEFAULTS и
XZ_OPTв этом порядке, прежде чем разбирать параметры в командной строке. Обратите внимание, что только
параметры анализируются из переменных среды; все не параметры игнорируются.
Разбор выполняется с помощью getopt_long(3), который также используется для аргументов командной строки.

XZ_DEFAULTS
Пользовательские или общесистемные параметры по умолчанию. Обычно это устанавливается в оболочке
сценарий инициализации для включения xzОграничитель использования памяти по умолчанию. Без учета
сценарии инициализации оболочки и подобные особые случаи, сценарии никогда не должны устанавливаться или
сброшен XZ_DEFAULTS.

XZ_OPT Это для передачи параметров в xz когда невозможно установить параметры
прямо на xz командная строка. Это тот случай, например, когда xz запускается скриптом
или инструмент, например GNU деготь(1):

XZ_OPT = -2v tar caf foo.tar.xz foo

Скрипты могут использовать XZ_OPT например, чтобы установить параметры сжатия по умолчанию для конкретного сценария. Это
по-прежнему рекомендуется разрешить пользователям переопределять XZ_OPT если это разумно, например
in sh(1) скрипты можно использовать примерно так:

XZ_OPT = $ {XZ_OPT - "- 7e"}
экспорт XZ_OPT

LZMA ПОЛЕЗНЫЙ СОВМЕСТИМОСТЬ


Синтаксис командной строки xz практически надмножество LZMA, Unlzmaкачества зкат as
найдено из LZMA Utils 4.32.x. В большинстве случаев возможно заменить LZMA Utils на XZ.
Утилит, не нарушая существующие скрипты. Однако есть некоторые несовместимости, которые
может иногда вызывать проблемы.

компрессия заданной уровни
Нумерация предустановок уровня сжатия не идентична в xz и LZMA Utils. В
Наиболее важное различие заключается в том, как размеры словаря сопоставляются с разными предустановками.
Размер словаря примерно равен использованию памяти декомпрессора.

Уровень xz LZMA Utils
-0 256 КБ Н / Д
-1 1 МиБ 64 КБ
-2 2 МБ 1 МБ
-3 4 МиБ 512 КБ
-4 4 МБ 1 МБ
-5 8 МБ 2 МБ
-6 8 МБ 4 МБ
-7 16 МБ 8 МБ
-8 32 МБ 16 МБ
-9 64 МБ 32 МБ

Различия в размерах словарей также влияют на использование памяти компрессора, но есть некоторые
другие различия между LZMA Utils и XZ Utils, которые делают разницу еще больше:

Уровень xz LZMA Utils 4.32.x
-0 3 МиБ Нет
-1 9 МБ 2 МБ
-2 17 МБ 12 МБ
-3 32 МБ 12 МБ
-4 48 МБ 16 МБ
-5 94 МБ 26 МБ
-6 94 МБ 45 МБ
-7 186 МБ 83 МБ
-8 370 МБ 159 МБ
-9 674 МБ 311 МБ

Предустановленный уровень по умолчанию в LZMA Utils - -7 в то время как в XZ Utils это -6, поэтому оба используют 8
Словарь MiB по умолчанию.

потоковый против не транслируемый .лзма файлов
Несжатый размер файла можно сохранить в .лзма заголовок. LZMA Utils делает это
при сжатии обычных файлов. Альтернативный вариант - отметить, что несжатый размер
unknown и используйте маркер конца полезной нагрузки, чтобы указать, где должен остановиться декомпрессор.
LZMA Utils использует этот метод, когда размер несжатого файла неизвестен, что имеет место для
пример в трубах.

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

Не поддерживается .лзма файлов
Ассоциация .лзма формат позволяет lc значения до 8, и lp значения до 4. LZMA Utils может
распаковать файлы любым lc и lp, но всегда создает файлы с lc = 3 и lp = 0.
Создание файлов с другими lc и lp возможно с xz и с LZMA SDK.

Реализация фильтра LZMA1 в liblzma требует, чтобы сумма lc и lp должен
не превышает 4. Таким образом, .лзма файлы, превышающие это ограничение, не могут быть распакованы
xz.

LZMA Utils создает только .лзма файлы с размером словаря 2 ^n (степень двойки), но
принимает файлы с любым размером словаря. liblzma принимает только .лзма файлы, которые имеют
размер словаря 2 ^n или 2 ^n + 2 ^ (n-1). Это необходимо для уменьшения количества ложных срабатываний, когда
обнаружения .лзма файлы.

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

Трейлинг мусор
При распаковке LZMA Utils молча игнорирует все после первого .лзма поток.
В большинстве случаев это ошибка. Это также означает, что LZMA Utils не поддерживает
распаковка составного .лзма файлы.

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

ПРИМЕЧАНИЯ


Сжатый выходной май меняться
Точный сжатый вывод, созданный из одного и того же несжатого входного файла, может отличаться
между версиями XZ Utils, даже если параметры сжатия идентичны. Это потому, что
кодировщик можно улучшить (более быстрое или лучшее сжатие), не влияя на формат файла.
Вывод может отличаться даже для разных сборок одной и той же версии XZ Utils, если
используются разные варианты сборки.

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

Встроенный .xz декомпрессоры
Встроенный .xz реализации декомпрессора, такие как XZ Embedded, не обязательно поддерживают файлы
создан с честностью проверка типы кроме никто и crc32. Поскольку по умолчанию
--check = crc64, вы должны использовать --check = нет or --check = crc32 при создании файлов для встроенных
систем.

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

XZ Embedded поддерживает фильтры BCJ, но только с начальным смещением по умолчанию.

ПРИМЕРЫ


Основы
Сжать файл Foo в foo.xz используя уровень сжатия по умолчанию (-6) и удалите Foo
если сжатие прошло успешно:

хз фу

Распаковка бар.xz в бар и не удаляйте бар.xz даже если декомпрессия прошла успешно:

xz -dk бар.xz

Создавай baz.tar.xz с предустановкой -4e (-4 --экстремальный), что медленнее, чем, например,
по умолчанию -6, но требуется меньше памяти для сжатия и распаковки (48 МБ и 5 МБ,
соответственно):

tar cf - baz | xz -4e> baz.tar.xz

Смесь сжатых и несжатых файлов можно распаковать до стандартного вывода с
одиночная команда:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma> abcd.txt

Параллельные (сила) of многих файлов
В GNU и * BSD, найдите(1) и xargs(1) можно использовать для распараллеливания сжатия многих
файлов:

найти . -типа f \! -name '* .xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

Ассоциация -P вариант xargs(1) устанавливает количество параллельных xz процессы. Лучшее соотношение цены и качества
домен -n опция зависит от того, сколько файлов нужно сжать. Если есть только
пара файлов, значение, вероятно, должно быть 1; с десятками тысяч файлов, 100 или
может потребоваться даже больше, чтобы уменьшить количество xz процессы, которые xargs(1) будет
в итоге создать.

Опция -T1 для xz есть ли заставить его перейти в однопоточный режим, потому что xargs(1)
используется для управления степенью распараллеливания.

Роботик Режим
Подсчитайте, сколько всего байтов было сохранено после сжатия нескольких файлов:

xz --robot --list * .xz | awk '/ ^ totals / {print $ 5- $ 4}'

Сценарий может захотеть узнать, что он использует достаточно новые xz, Следующие sh(1) сценарий
проверяет, что номер версии xz инструмент не ниже 5.0.0. Этот метод
совместим со старыми бета-версиями, которые не поддерживали --робот опции:

если ! eval "$ (xz --robot --version 2> / dev / null)" ||
["$ XZ_VERSION" -lt 50000002]; тогда
echo "Ваш xz слишком старый."
fi
сбросить XZ_VERSION LIBLZMA_VERSION

Установите предел использования памяти для распаковки с помощью XZ_OPT, но если лимит уже был
установить, не увеличивайте:

NEWLIM = $ ((123 << 20)) # 123 МиБ
OLDLIM = $ (xz --robot --info-memory | вырезать -f3)
если [$ OLDLIM -eq 0 -o $ OLDLIM -gt $ NEWLIM]; тогда
XZ_OPT = "$ XZ_OPT --memlimit-decopress = $ NEWLIM"
экспорт XZ_OPT
fi

На заказ компрессор фильтр цепи
Самым простым способом использования настраиваемых цепочек фильтров является настройка предустановки LZMA2. Это может быть
полезно, потому что пресеты охватывают только подмножество потенциально полезных комбинаций
настройки сжатия.

Столбцы CompCPU таблиц из описаний опций -0 ... -9 и
--экстремальный полезны при настройке предустановок LZMA2. Вот соответствующие части
собраны из этих двух таблиц:

Предустановленный CompCPU
-0 0
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-5е 7
-6е 8

Если вы знаете, что файл требует довольно большого словаря (например, 32 МиБ) для хорошего сжатия,
но вы хотите сжать его быстрее, чем xz -8 подойдет, предустановка с низким значением CompCPU
(например, 1) можно изменить, чтобы использовать словарь большего размера:

xz --lzma2 = preset = 1, dict = 32MiB foo.tar

С некоторыми файлами указанная выше команда может быть быстрее, чем xz -6 при сжатии
значительно лучше. Однако следует подчеркнуть, что только некоторые файлы получают выгоду от
большой словарь при низком значении CompCPU. Наиболее очевидная ситуация, когда
большой словарь может очень помочь, это архив, содержащий очень похожие файлы как минимум
по несколько мегабайт каждый. Размер словаря должен быть значительно больше любого
отдельный файл, чтобы позволить LZMA2 в полной мере использовать сходство между
последовательные файлы.

Если использование памяти компрессора и декомпрессора очень велико, и файл
сжатый составляет не менее нескольких сотен мегабайт, может быть полезно использовать еще больший
словаря, чем 64 МиБ, xz -9 будет использовать:

xz -vv --lzma2 = dict = 192MiB big_foo.tar

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

Иногда время сжатия не имеет значения, но необходимо использовать память декомпрессора.
поддерживается на низком уровне, например, чтобы можно было распаковать файл во встроенной системе. В
следующая команда использует -6e (-6 --экстремальный) в качестве основы и устанавливает для словаря только
64 КБ. Полученный файл можно распаковать с помощью XZ Embedded (поэтому есть
--check = crc32) используя около 100 КБ памяти.

xz --check = crc32 --lzma2 = preset = 6e, dict = 64KiB foo

Если вы хотите выжать как можно больше байтов, регулируя количество буквальных
биты контекста (lc) и количество битов позиции (pb) иногда может помочь. Регулировка
количество битов буквальной позиции (lp) тоже может помочь, но обычно lc и pb более
важный. Например, архив исходного кода содержит в основном текст US-ASCII, поэтому что-то вроде
следующее может дать файл немного (например, на 0.1%) меньше, чем xz -6e (попробуйте также без
lc = 4):

xz --lzma2 = preset = 6e, pb = 0, lc = 4 source_code.tar

Использование другого фильтра вместе с LZMA2 может улучшить сжатие файлов определенных типов.
Например, чтобы сжать разделяемую библиотеку x86-32 или x86-64 с помощью фильтра x86 BCJ:

xz --x86 --lzma2 libfoo.so

Обратите внимание, что порядок параметров фильтра имеет значение. Если --x86 указывается после
--lzma2, xz выдаст ошибку, потому что после LZMA2 не может быть никакого фильтра, а также
потому что фильтр x86 BCJ нельзя использовать в качестве последнего фильтра в цепочке.

Дельта-фильтр вместе с LZMA2 может дать хорошие результаты с растровыми изображениями. Должно
обычно лучше PNG, который имеет несколько более продвинутых фильтров, чем простой дельта, но использует Deflate
для фактического сжатия.

Изображение должно быть сохранено в несжатом формате, например, как несжатый TIFF. Расстояние
Параметр Дельта-фильтра устанавливается, чтобы соответствовать количеству байтов на пиксель в изображении.
Например, требуется 24-битное растровое изображение RGB. dist = 3, а также хорошо пройти pb = 0 в LZMA2 в
разместить трехбайтовое выравнивание:

xz --delta = dist = 3 --lzma2 = pb = 0 foo.tiff

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

Используйте xzcat онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    JXplorer - браузер Java Ldap
    JXplorer - браузер Java Ldap
    Java-клиент LDAP с поддержкой LDIF,
    безопасность (включая SSL, SASL и GSSAPI),
    переведен на многие языки (в т.
    китайский), интерактивную справку, пользовательские формы и
    многие другие ...
    Скачать JXplorer — браузер Java Ldap
  • 2
    PosteRazor - Создайте свой собственный плакат!
    PosteRazor - Создайте свой собственный плакат!
    Хотите напечатать плакат? PosteRazor режет
    файл изображения на части, и вы можете
    распечатайте потом на принтере и приклейте
    вместе к плакату. Простой на основе FLTK
    использовать ...
    Скачать PosteRazor - Создайте свой собственный постер!
  • 3
    Pharser
    Pharser
    Phaser - это быстрый, бесплатный и увлекательный
    исходный игровой фреймворк HTML5, который предлагает
    WebGL и рендеринг Canvas через
    настольные и мобильные веб-браузеры. Игры
    может быть со ...
    Скачать Фазер
  • 4
    VASSAL Двигатель
    VASSAL Двигатель
    VASSAL - игровой движок для создания
    электронные версии традиционной доски
    и карточные игры. Он обеспечивает поддержку
    рендеринг и взаимодействие игровых элементов,
    и ...
    Скачать движок VASSAL
  • 5
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF — это библиотека Java для создания
    и редактирование PDF-файлов с помощью LGPL и
    Лицензия с открытым исходным кодом MPL. OpenPDF – это
    LGPL/MPL преемник iText с открытым исходным кодом,
    и ...
    Скачать OpenPDF — форк iText
  • 6
    SAGA GIS
    SAGA GIS
    САГА - Автоматизированная система
    Геонаучный анализ - это географический
    Программное обеспечение информационной системы (ГИС) с
    огромные возможности для геоданных
    обработка и анализ ...
    Скачать ГИС САГА
  • Больше »

Команды Linux

  • 1
    aarch64-linux-gnu-gnatbind
    aarch64-linux-gnu-gnatbind
    комар, gnatbind, gnatbl, gnatchop,
    гнатфинд, гнаттмл, гнаткр, гнатлинк,
    гнатлы, гнатмейке, гнатпреп, гнатпста,
    gnatpsys, gnatxref — набор инструментов GNAT
    ОПИСАНИЕ: Т...
    Запустите aarch64-linux-gnu-gnatbind
  • 2
    aarch64-linux-gnu-gnathop-5
    aarch64-linux-gnu-gnathop-5
    комар, gnatbind, gnatbl, gnatchop,
    гнатфинд, гнаттмл, гнаткр, гнатлинк,
    гнатлы, гнатмейке, гнатпреп, гнатпста,
    gnatpsys, gnatxref — набор инструментов GNAT
    ОПИСАНИЕ: Т...
    Запустите aarch64-linux-gnu-gnatchop-5
  • 3
    cpupower-idle-информация
    cpupower-idle-информация
    cpupower Idle-info — Утилита для
    получить информацию о простое ядра процессора
    СИНТАКСИС: мощность процессора [ -c список процессоров ]
    Idle-info [опции] ОПИСАНИЕ: Инструмент
    который печатает p...
    Запустите cpupower-idle-info
  • 4
    cpupower-idle-set
    cpupower-idle-set
    cpupower Idle-Set — Утилита для настройки процессора
    специальные параметры ядра для состояния простоя
    СИНТАКСИС: мощность процессора [ -c список процессоров ]
    Idle-info [опции] ОПИСАНИЕ:
    мощность процессора в режиме ожидания...
    Запустите cpupower-idle-set
  • 5
    g.mapsetsgrass
    g.mapsetsgrass
    g.mapsets — изменяет/печатает пользовательские
    текущий путь поиска набора карт. Влияет на
    доступ пользователя к данным, существующим в рамках
    другие наборы карт в текущем местоположении. ...
    Запустите g.mapsetsgrass
  • 6
    г.messagegrass
    г.messagegrass
    g.message — печатает сообщение, предупреждение,
    информация о ходе выполнения или фатальная ошибка в
    ТРАВЯНОЙ путь. Этот модуль следует использовать в
    сценарии для сообщений, доставляемых пользователю.
    КЕЙВО...
    Запустите g.messagegrass
  • Больше »

Ad