Конвертер TXZ в TAR

Распакуйте XZ-сжатие и получите чистый TAR-архив для редактирования содержимого и повторной упаковки

Без установки программ • Быстрая конверсия • Конфиденциально и безопасно

Шаг 1

Перетащите файлы или выберите

Вы можете конвертировать 3 файла до 10 МБ каждый

Шаг 1

Перетащите файлы или выберите

Вы можете конвертировать 3 файла до 10 МБ каждый

Что такое конвертация TXZ в TAR?

Конвертация TXZ в TAR - это снятие слоя сжатия XZ с архива при сохранении внутреннего TAR-контейнера. По сути это раздевание двойной обёртки до одинарной: содержимое не извлекается во множество отдельных файлов, а остаётся одним TAR-архивом, только без сжатия. TXZ - это связка TAR + XZ, где TAR (Tape Archive, формат 1979 года) объединяет множество файлов и каталогов в единый поток с заголовками POSIX, а XZ (выпущен в 2009 году) применяет к этому потоку алгоритм LZMA2 для уменьшения размера. TAR без сжатия - это первичный контейнер архивации Unix, не содержащий никакого алгоритма уменьшения объёма.

Главная и неизбежная особенность этой конвертации - значительный рост размера файла. XZ обеспечивает одно из лучших сжатий среди распространённых алгоритмов, и при его снятии текстовые данные могут увеличиться в 5-10 раз, исходный код - в 4-8 раз, дампы баз данных - в 6-12 раз. Уже сжатые форматы (JPG, MP4, PDF, DOCX) почти не изменятся, поскольку их повторное сжатие даёт минимальный эффект. Поэтому ключевой вопрос перед такой конвертацией - готова ли система выдержать рост занимаемого места.

Зачем тогда переходить с TXZ на TAR? Есть несколько важных причин: необходимость отредактировать содержимое архива и повторно упаковать его другим алгоритмом, передача на устаревшие Unix-системы без поддержки XZ, последующая интеграция в скрипты и пайплайны, которые ждут чистый TAR-поток, или подготовка к специализированному сжатию вроде Zstandard, Brotli, LZ4. После получения TAR файлы внутри архива остаются нетронутыми, со всеми правами доступа, владельцами и временными метками.

Технические различия форматов TXZ и TAR

Структура форматов

TXZ - двухслойный формат. Внутренний слой - TAR, внешний - XZ-контейнер с потоковым сжатием LZMA2. XZ-формат включает магическое число (FD 37 7A 58 5A 00), потоковые заголовки, индекс блоков, поток данных и контрольные суммы (по умолчанию SHA-256, опционально CRC32 или CRC64). LZMA2 анализирует длинные последовательности данных, использует словарь от 64 КБ до нескольких ГБ и кодирует результат арифметическим кодером.

TAR - однослойный архивный формат, изначально предназначенный для записи на ленточные накопители. Файл TAR состоит из последовательности заголовков и данных: каждый заголовок занимает 512 байт и описывает один файл (имя, размер, права, владелец, временные метки), за ним следуют сами данные файла, выровненные на границу 512 байт нулевыми байтами. В конце архива записывается двойной нулевой блок, обозначающий конец данных. Никаких контрольных сумм у файлов внутри TAR нет (только примитивная сумма самого заголовка).

Сравнительная таблица возможностей

Характеристика TXZ TAR
Год создания 2009 (XZ) / 1979 (TAR) 1979
Сжатие LZMA2 Отсутствует
Размер словаря до нескольких ГБ Не применимо
Контрольные суммы SHA-256 Только заголовков
POSIX-атрибуты Полная поддержка Полная поддержка
Доступ к одному файлу После распаковки Последовательно по архиву
Многотомность Через split Через split / multi-volume
Поддержка ОС "из коробки" Linux/BSD Все Unix-системы

Размер архива: чего ожидать

Соотношение размеров TXZ и распакованного TAR для типичных данных:

Тип данных Исходный размер файлов TXZ TAR Рост
Исходный код проекта 100 МБ 12-15 МБ ~100 МБ в 7-8 раз
Текстовые документы TXT 50 МБ 8-10 МБ ~50 МБ в 5-6 раз
Дамп SQL базы данных 200 МБ 20-30 МБ ~200 МБ в 7-10 раз
XML/JSON логи 1 ГБ 30-60 МБ ~1 ГБ в 17-30 раз
Изображения JPG 500 МБ 495-498 МБ ~500 МБ минимальный
Видеофайлы MP4 1 ГБ 0.99-1 ГБ ~1 ГБ минимальный
Смешанный контент 250 МБ 100-150 МБ ~250 МБ в 1.7-2.5 раз

Размер TAR практически совпадает с суммарным размером исходных файлов плюс небольшой накладной расход на заголовки (512 байт на файл) и выравнивание. Для архивов с миллионом мелких файлов накладные расходы могут добавить заметную часть, но обычно они укладываются в 1-2% от объёма данных.

Когда необходима конвертация TXZ в TAR

Редактирование содержимого архива

Главный сценарий перехода на чистый TAR - возможность работать с содержимым:

  • Изменение конфигов и манифестов - в дистрибутивных пакетах (например, образах контейнеров) часто нужно поправить один файл, и TAR позволяет добавить, заменить или удалить запись без полной распаковки и обратной упаковки.
  • Обновление исходного кода - перепаковка снапшота с патчами или дополнениями требует доступа к TAR-структуре.
  • Замена служебных файлов - в архивах с метаданными (например, OCI image layers) TAR-формат позволяет точечно редактировать содержимое.
  • Подготовка тестовых наборов - создание модифицированных версий датасетов для отладки и QA.

Повторное сжатие альтернативным алгоритмом

Снятие XZ открывает дорогу к другим методам компрессии, более подходящим для конкретного сценария:

  • Zstandard - быстрее распаковки чем XZ при сопоставимом сжатии, удобен для CI/CD и образов контейнеров.
  • GZIP - максимальная скорость распаковки, минимум памяти, лучше для частого открытия архива.
  • BZIP2 - старый стандарт Unix-систем, иногда требуется для совместимости.
  • Brotli - альтернатива для веб-доставки и API-ответов.
  • LZ4 - ультра-быстрая компрессия для систем реального времени.

Совместимость со старыми Unix-системами

Не все Unix-системы умеют работать с XZ:

  • Старые серверы - системы Solaris до 11, AIX, HP-UX, древние варианты Linux могут не иметь утилиты xz по умолчанию.
  • Встраиваемые системы - роутеры, IoT-устройства, ARM-устройства с ограниченным набором утилит.
  • Минимальные образы - busybox в стандартной сборке не всегда поддерживает XZ.
  • Восстановительные среды (rescue) - LiveCD прошлых лет могут не открывать XZ.

Передача в потоковые конвейеры

TAR без сжатия - удобный формат для скриптов и пайплайнов:

  • Прямая передача через сеть - tar | nc или tar | ssh без промежуточного буфера.
  • Запись на ленту - оригинальное назначение TAR, до сих пор актуальное для бэкапов на LTO-картриджах.
  • Конвейерная обработка - tar | grep, tar | awk, tar | sed для анализа содержимого без полной распаковки на диск.
  • Контейнерные образы - Docker и OCI работают с tar-слоями, иногда без сжатия для скорости.

Процесс конвертации: что происходит с архивом

Этапы преобразования

  1. Чтение заголовка XZ - проверка магического числа (FD 37 7A 58 5A 00), версии формата, флагов, размера словаря и метода контрольной суммы.

  2. Декодирование LZMA2 - алгоритм разворачивает сжатый поток обратно в исходные байты. Требуется память пропорциональная словарю (обычно 64-256 МБ, иногда до нескольких гигабайт).

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

  4. Сохранение TAR-потока - распакованные данные записываются в файл с расширением .tar. Никакой реструктуризации не происходит, TAR-заголовки записей сохраняются в исходном виде.

  5. Финализация файла - при необходимости добавляется завершающий нулевой блок (если в исходном TAR его не было).

Что сохраняется без изменений

  • Все имена файлов, включая Unicode и длинные пути
  • Полная структура каталогов любой вложенности
  • Содержимое каждого файла байт в байт
  • Временные метки (создание, модификация, доступ)
  • Числовые UID и GID владельцев
  • Полные права доступа Unix (включая setuid, setgid, sticky)
  • Расширенные атрибуты xattr (если они были в TXZ через PAX-расширение)
  • Символические и жёсткие ссылки

Что меняется

  • Размер файла - значительный рост, особенно для текстов и кода
  • Контрольные суммы - в TXZ есть SHA-256/CRC32/CRC64, в TAR нет защиты данных от повреждений
  • Магическое число - вместо XZ-сигнатуры теперь TAR-заголовок первого файла или USTAR-сигнатура
  • Степень защищённости - чистый TAR более уязвим к битовым ошибкам (один сбой и файл может быть утрачен)

Сравнение TAR с другими форматами

TAR против ZIP

ZIP объединяет архивацию и сжатие в одном формате.

Критерий TAR ZIP
Архивация Да Да
Сжатие Нет DEFLATE
POSIX-атрибуты Полные Через расширения
Доступ к файлу Последовательный По оглавлению
Поддержка ОС Все Unix Все ОС

TAR - чисто архивный контейнер для Unix, ZIP - универсальный формат с встроенным сжатием.

TAR против CPIO

CPIO - альтернативный формат архивации Unix.

Критерий TAR CPIO
Распространённость Очень высокая Низкая
POSIX-стандарт Да Да
Использование сегодня Бэкапы, дистрибутивы initramfs, RPM
Размер заголовка 512 байт Меняется

TAR применяется повсеместно, CPIO - в нишевых сценариях системного программирования.

TAR с разными методами сжатия

TAR без сжатия редко используется самостоятельно, обычно сочетается с алгоритмами:

Связка Алгоритм Сжатие Скорость
TAR.GZ DEFLATE Базовое Высокая
TAR.BZ2 BZIP2 Среднее Средняя
TAR.XZ LZMA2 Высокое Низкая (упаковка)
TAR.ZST Zstandard Среднее Очень высокая
TAR.LZ4 LZ4 Низкое Максимальная

Чистый TAR оправдан для записи на ленту, обмена между скриптами и краткосрочного хранения.

Совместимость и поддержка TAR

Операционные системы

TAR - один из самых старых и универсальных форматов в Unix-семействе:

  • Linux - утилита tar присутствует в любом дистрибутиве, является базовой командой POSIX.
  • macOS - tar встроен в систему, работает как BSD-вариант.
  • FreeBSD, OpenBSD, NetBSD - bsdtar по умолчанию, поддерживает все распространённые опции.
  • Solaris, AIX, HP-UX - системные tar-утилиты с возможной разницей в опциях.
  • Windows - современные сборки Windows 10/11 включают tar в командной строке, также доступен через WSL и Cygwin.
  • Android, iOS - через специализированные приложения и через утилиты в режиме разработчика.

Программные интерфейсы

Большинство языков программирования имеют встроенную или стандартную поддержку TAR:

Язык Способ работы
Python Модуль tarfile в стандартной библиотеке
Ruby Класс Gem::Package::TarReader / TarWriter
Go Пакет archive/tar
Java Apache Commons Compress
C / C++ libtar, libarchive
Node.js Пакеты tar, tar-stream
Perl Модуль Archive::Tar

Это делает TAR удобной средой для скриптинга и автоматизации.

Долговечность формата

Спецификация TAR практически не менялась десятилетиями:

  • 1979 - формат tar в Unix V7
  • 1988 - стандарт POSIX 1003.1 (USTAR)
  • 1994 - GNU tar с расширениями
  • 2001 - PAX-расширение для длинных имён и метаданных

За 45+ лет существования TAR остаётся стандартом для Unix-архивов, и обратная совместимость с архивами 1980-х годов обеспечена.

Ограничения и альтернативы

Когда конвертация в TAR не оптимальна

  • Острая нехватка места - после снятия XZ архив может занять в 5-10 раз больше, и при ограниченном свободном месте операция приведёт к проблемам.
  • Передача через сеть - несжатый TAR расходует трафик и время в разы больше, чем TXZ.
  • Дистрибуция конечным пользователям - распаковка чистого TAR - две стадии для пользователя, который ожидал готовое содержимое.
  • Долгое хранение - TAR не имеет контрольных сумм для содержимого файлов, повреждения сложнее обнаружить.

Альтернативные сценарии

Если нужно работать с распакованным содержимым:

  • TXZ -> отдельные файлы - полная распаковка вместо TAR-промежутка
  • TXZ -> TAR.GZ - повторное сжатие более быстрым алгоритмом
  • TXZ -> ZIP - переход на формат с произвольным доступом к файлам

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

Для чего используют конвертацию TXZ в TAR

Редактирование архивов

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

Повторная упаковка другим алгоритмом

Подготовка к смене сжатия на Zstandard, GZIP, BZIP2 или другие форматы для конкретных задач

Совместимость со старыми системами

Передача архивов на серверы и устройства, не поддерживающие XZ-сжатие из коробки

Интеграция в скрипты и пайплайны

Работа с TAR-потоком в командных конвейерах, образах контейнеров и системах бэкапа на ленту

Советы по конвертации TXZ в TAR

1

Готовьте свободное место

После снятия XZ архив займёт в 5-10 раз больше для текстовых данных и кода. Проверьте свободное место на диске заранее

2

TAR не защищает от повреждений

В отличие от XZ, чистый TAR не имеет контрольных сумм содержимого. Для долгого хранения лучше повторно сжать или хранить с проверочными суммами рядом

Частые вопросы

Насколько вырастет размер архива при конвертации TXZ в TAR?
Размер сильно зависит от типа данных. Текстовые файлы и исходный код могут увеличиться в 5-10 раз, дампы баз данных - в 7-12 раз, логи в формате JSON или XML - до 30 раз. Уже сжатые форматы (JPG, MP4, MP3, DOCX, PDF) почти не изменятся, рост будет в пределах 1-3%. Для смешанного контента типичный рост - в 2-3 раза.
Можно ли отредактировать TAR-архив после конвертации?
Да, это одна из главных причин такой конвертации. С TAR работают штатные утилиты Unix (tar) и практически все языки программирования через стандартные библиотеки. Можно добавлять, заменять, удалять записи в архиве без полной распаковки на диск. После редактирования при желании TAR можно снова сжать любым подходящим алгоритмом.
Сохранятся ли права доступа Unix при конвертации в TAR?
Да, TAR сохраняет POSIX-атрибуты лучше любого другого распространённого формата: права чтения/записи/выполнения, флаги setuid/setgid/sticky, числовые UID и GID владельцев. Через PAX-расширение поддерживаются длинные пути, расширенные атрибуты xattr, ACL. Это делает TAR подходящим форматом для системных бэкапов и образов контейнеров.
Можно ли потом обратно сжать TAR в XZ?
Да, обратная операция (TAR -> TAR.XZ) выполняется одной командой xz и даёт результат, идентичный исходному TXZ по размеру и содержимому. Также можно сжать TAR другими алгоритмами: gzip для скорости (TAR.GZ), bzip2 для совместимости (TAR.BZ2), Zstandard для баланса (TAR.ZST).
Откроется ли TAR на Windows?
Да, начиная с Windows 10 утилита tar встроена в командную строку и доступна по команде tar.exe. Также TAR открывается популярными архиваторами 7-Zip, WinRAR, Bandizip без установки дополнительных компонентов. Для частых операций удобнее всё-таки 7-Zip с графическим интерфейсом.
Сохранятся ли символические и жёсткие ссылки?
Да, TAR полностью сохраняет символические и жёсткие ссылки между файлами. Это одна из ключевых особенностей формата, важная для системных бэкапов: жёсткие ссылки занимают одну запись в архиве, а не дублируют содержимое файлов, что экономит размер архива.
Можно ли конвертировать несколько TXZ файлов в TAR за один раз?
Да, пакетная конвертация позволяет загрузить несколько TXZ архивов одновременно. Каждый файл будет распакован из XZ и сохранён как TAR с тем же базовым именем. Скачать результаты можно по каждому файлу отдельно после завершения обработки. Учитывайте значительный рост размера итоговых файлов.