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

Перепакуйте TGZ в современный формат TXZ с алгоритмом LZMA2 для лучшего сжатия в Linux

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

Шаг 1

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

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

Шаг 1

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

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

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

Конвертация TGZ в TXZ - это перепаковка содержимого UNIX-tarball из устаревшего формата GZIP-сжатия в современный формат XZ с алгоритмом LZMA2. Внутренний TAR-контейнер с файлами сохраняется неизменным: те же записи, те же POSIX-атрибуты, те же временные метки. Меняется только внешний слой сжатия. TGZ (TAR + GZIP) использует алгоритм DEFLATE 1992 года со словарём 32 КБ. TXZ (TAR + XZ) применяет алгоритм LZMA2 со словарём до 1 ГБ, что обеспечивает значительно более плотное сжатие на современном уровне. Формат XZ был представлен в 2009 году как преемник LZMA-формата и быстро занял место стандарта в Linux-экосистеме.

Главная причина перевода TGZ в TXZ - модернизация архива до современного стандарта. Ядро Linux ещё в 2013 году перешло на распространение через kernel.org преимущественно в формате tar.xz, отказавшись от tar.bz2. Дистрибутивы Arch Linux, Debian, Ubuntu и многие другие используют XZ для пакетов программного обеспечения. Менеджеры пакетов dpkg, rpm, pacman работают с xz нативно. Переход с TGZ на TXZ даёт экономию 10-30% места при сопоставимой скорости распаковки и существенно лучшем сжатии для текстовых данных.

При конвертации происходит распаковка слоя GZIP в исходный TAR-поток и упаковка этого потока в новый слой XZ. Содержимое и структура TAR абсолютно сохраняются. Размер итогового TXZ существенно меньше, чем у TGZ, особенно для исходного кода, документации, логов и однотипных данных.

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

Алгоритмы сжатия

TGZ использует DEFLATE - алгоритм 1990-х годов на основе LZ77 со словарём 32 КБ и кодирования Хаффмана. Поток данных обрабатывается последовательно небольшими блоками. Преимущество - очень высокая скорость и минимальные требования к памяти; недостаток - ограниченная плотность сжатия из-за маленького окна поиска повторений.

TXZ применяет LZMA2 - современную модификацию алгоритма LZMA, разработанного Игорем Павловым. LZMA2 использует огромный скользящий словарь до 1 ГБ, диапазонное кодирование с контекстной моделью и адаптивный анализ потока данных. Длинные повторения находятся на больших расстояниях, что даёт значительно более плотное сжатие. XZ-обёртка добавляет современную проверку целостности (SHA-256 опционально), поддержку многопоточности и фильтры предобработки (Delta, BCJ для исполняемых файлов).

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

Характеристика TGZ TXZ
Год алгоритма 1992 (GZIP) 2009 (XZ)
Базовый алгоритм DEFLATE LZMA2
Размер словаря 32 КБ до 1 ГБ
Контейнер атрибутов TAR (POSIX) TAR (POSIX)
Степень сжатия Базовая Лучше на 10-30% (vs BZIP2) и 30-50% (vs GZIP)
Скорость сжатия Высокая Средняя
Скорость распаковки Высокая Сопоставимая или чуть ниже
Требования к памяти при распаковке Минимальные 50-200 МБ
Многопоточность Ограниченная Полная (xz -T)
Контрольные суммы CRC-32 CRC-32, CRC-64, SHA-256
Фильтры предобработки Нет Delta, BCJ, BCJ2

Степень сжатия: реальные примеры

Соотношение размеров архивов для типичных наборов данных:

Тип данных Исходный размер TGZ TXZ (xz -9) Экономия в TXZ
Исходный код проекта 100 МБ 18-22 МБ 12-15 МБ 30-40%
Текстовые документы 50 МБ 12-14 МБ 8-10 МБ 30-45%
Дамп SQL базы 200 МБ 35-45 МБ 20-30 МБ 40-55%
Логи серверов 1 ГБ 200-250 МБ 80-120 МБ 50-65%
Бинарные файлы (с фильтром BCJ) 500 МБ 350-400 МБ 280-330 МБ 15-25%
XML/JSON-документы 200 МБ 30-40 МБ 18-25 МБ 35-50%
Изображения JPG 500 МБ 498-500 МБ 495-498 МБ минимально

Преимущество XZ особенно заметно на исходниках, логах и SQL-дампах - типах данных, преобладающих в дистрибутивах Linux. На уже сжатых медиафайлах разница незначительна.

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

Модернизация репозиториев пакетов

Современные Linux-дистрибутивы используют XZ как стандарт:

  • Arch Linux - пакеты в формате pkg.tar.zst или pkg.tar.xz, репозитории также в xz.
  • Debian/Ubuntu - .deb пакеты содержат data.tar.xz и control.tar.xz внутри.
  • Fedora/RHEL/CentOS - .rpm пакеты используют xz для сжатия данных.
  • Slackware - официальный формат пакетов txz с 2009 года.
  • Gentoo Portage - distfiles для исходного кода преимущественно в tar.xz.

Архивирование исходного кода

Ядро Linux и крупные проекты предпочитают XZ:

  • Linux kernel - архивы на kernel.org преимущественно в tar.xz с 2013 года.
  • GNU Project - GCC, glibc, binutils распространяются в tar.xz.
  • KDE и GNOME - релизы рабочих сред упаковываются в xz.
  • Apache Foundation - многие проекты Apache предлагают tar.xz рядом с tar.gz.

Долгосрочное хранение текстовых данных

XZ оптимален для архивов с редким доступом, где важен размер:

  • Историческая документация - снимки документации проекта за прошедшие годы.
  • Архивы переписки - почтовые ящики mbox, exporta IMAP.
  • Журналы аудита - логи безопасности, журналы изменений систем.
  • Снимки баз данных - дампы PostgreSQL, MySQL за прошедшие периоды.

Передача через медленные каналы

Меньший размер ускоряет передачу:

  • Зеркала Linux-дистрибутивов - синхронизация миллионов пакетов между серверами.
  • CI/CD-конвейеры - артефакты сборки между этапами сборки и развёртывания.
  • Удалённое резервное копирование - бэкапы с офлайн-сайтов через ограниченный канал.
  • Спутниковая связь - научные миссии с дорогим трафиком.

Процесс конвертации

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

  1. Чтение заголовка GZIP - анализ магических байтов 1f 8b, метода сжатия, временной метки и имени исходного файла во внешней обёртке TGZ.

  2. Декодирование DEFLATE - алгоритм восстанавливает исходный TAR-поток через обратное LZ77 (восстановление повторений по ссылкам в окне 32 КБ) и обратное кодирование Хаффмана.

  3. Сохранение TAR-потока - содержимое TAR не модифицируется ни в одном байте: те же 512-байтные записи, те же заголовки ustar или PAX, те же блоки данных.

  4. Анализ для LZMA2 - определяются параметры сжатия: размер словаря (типично 64 МБ для уровня 9), режим (быстрый, нормальный или максимальный), целесообразность фильтров предобработки.

  5. Применение фильтров - при наличии исполняемых файлов внутри (.exe, .so, .o) активируется фильтр BCJ, преобразующий относительные адреса переходов в абсолютные для лучшего сжатия повторяющихся инструкций.

  6. Сжатие LZMA2 - данные обрабатываются блоками с поиском длинных повторений в скользящем словаре. Применяется диапазонное кодирование с контекстной моделью.

  7. Упаковка в XZ-контейнер - блоки оборачиваются в формат XZ с заголовком, индексом блоков и контрольной суммой CRC-64 (по умолчанию).

Что сохраняется, а что меняется

Сохраняется полностью:

  • Содержимое каждого файла побайтно
  • Имена файлов и каталогов с поддержкой Unicode и длинных имён
  • Структура каталогов любой глубины
  • Полные POSIX-атрибуты: владелец, группа, права, временные метки
  • Символические и жёсткие ссылки
  • Специальные файлы (FIFO, устройства)
  • Расширенные атрибуты (xattr) при наличии PAX-расширений

Меняется:

  • Размер итогового архива (обычно уменьшается на 30-50%)
  • Алгоритм внешнего сжатия (DEFLATE -> LZMA2)
  • Расширение файла (.tgz/.tar.gz -> .txz/.tar.xz)
  • Контрольные суммы внешнего слоя (CRC-32 заменяется на CRC-64 или SHA-256)

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

TXZ против TGZ

Прямой переход с устаревшего формата.

Критерий TXZ TGZ
Алгоритм LZMA2 DEFLATE
Степень сжатия Лучше на 30-50% Базовая
Скорость сжатия Медленнее Очень быстро
Скорость распаковки Сопоставима Очень быстро
Современность 2009 1992
Linux-стандарт Текущий Предыдущий

TXZ выигрывает почти по всем параметрам, кроме скорости сжатия.

TXZ против TBZ2

TBZ2 - предшественник TXZ в Linux-стандартах.

Критерий TXZ TBZ2
Алгоритм LZMA2 BZIP2
Степень сжатия Лучше на 10-30% Хорошая
Скорость распаковки Быстрее Медленнее
Возраст 2009 1996
Текущий стандарт Да Устаревает

TXZ заменил TBZ2 в большинстве крупных проектов Linux.

TXZ против TAR.ZST

TAR.ZST - современный конкурент с другим балансом.

Критерий TXZ TAR.ZST
Алгоритм LZMA2 (2009) ZSTD (2016)
Степень сжатия Чуть лучше Сопоставимая
Скорость сжатия Низкая Очень высокая
Скорость распаковки Высокая Очень высокая
Распространённость Стандарт Linux Растущая

ZSTD выигрывает по скорости, XZ - по плотности; оба активно используются в современном Linux.

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

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

XZ поддерживается всеми современными UNIX-системами и Windows:

  • Linux - утилита xz и интеграция с tar присутствует во всех дистрибутивах. Команда tar xJf archive.tar.xz работает из коробки.
  • macOS - xz доступен через Homebrew, MacPorts или встроен в macOS Catalina и новее. Archive Utility открывает .xz через Finder.
  • FreeBSD, OpenBSD, NetBSD - xz присутствует в базовой системе или ports.
  • Windows - 7-Zip, WinRAR, PeaZip, BandiZip открывают TXZ. Команда tar в Windows 10 (build 17063+) поддерживает .tar.xz.
  • Android - современные файловые менеджеры (ZArchiver, MiXplorer) распаковывают TXZ.
  • iOS - приложения для архивов в App Store работают с TXZ.

Языки программирования

Поддержка XZ/LZMA2 встроена или доступна через библиотеки:

Язык Стандартная библиотека
Python модули lzma, tarfile (с режимом xz)
Java apache-commons-compress, XZ for Java
C# / .NET XZ.NET, SharpCompress
JavaScript / Node.js lzma-native, xz-decompress
Go github.com/ulikunitz/xz
Rust xz2, liblzma-rs
C / C++ liblzma (автор - Lasse Collin)
Ruby xz-ruby

История развития формата

  • 1998 - Игорь Павлов разрабатывает алгоритм LZMA для 7-Zip.
  • 2008 - Lasse Collin создаёт liblzma и формат XZ как преемник проекта LZMA Utils.
  • 2009 - публикация спецификации XZ Utils 4.999.9 beta.
  • 2013 - Linux kernel переходит на распространение архивов в tar.xz как основной формат.
  • 2010-е - постепенное вытеснение bz2 из дистрибутивов Linux в пользу xz.
  • Настоящее время - XZ остаётся стандартом сжатия в Linux наряду с растущим ZSTD.

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

Когда конвертация в TXZ нецелесообразна

  • Очень частая распаковка с минимальными ресурсами - LZMA2 требует больше памяти при распаковке (50-200 МБ), чем GZIP.
  • Уже сжатые медиаданные - выигрыш минимальный, скорость сжатия существенно ниже.
  • Совместимость со старыми UNIX - на legacy-системах xz может отсутствовать в базовой поставке.
  • Сценарии с приоритетом скорости сжатия - для CI/CD и потоковой обработки ZSTD предпочтительнее.

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

  • TGZ -> TAR.ZST - современный быстрый алгоритм с близким сжатием.
  • TGZ -> 7Z - кросс-платформенный формат с тем же LZMA2.
  • TGZ -> TBZ2 - совместимость со старыми UNIX-системами.
  • TGZ -> TAR - снять сжатие для модификации содержимого.

TXZ - оптимальный выбор для долгосрочного хранения и распространения в Linux-экосистеме, когда важна максимальная плотность сжатия при сохранении полных POSIX-атрибутов.

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

Модернизация Linux-репозиториев

Перевод архивов пакетов и распространяемых файлов на современный стандарт сжатия Linux

Долгосрочное хранение исходников

Архивирование релизов и снимков git-репозиториев с максимальной экономией места

Распространение через зеркала

Уменьшение размера архивов на серверах зеркалирования и в CDN-сетях

Хранение SQL-дампов и логов

Компактное архивирование текстовых данных с многократным выигрышем по сравнению с GZIP

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

1

Учитывайте память при распаковке

LZMA2 требует 50-200 МБ памяти при распаковке против считанных мегабайт у GZIP. На очень слабых системах это может быть фактором

2

Выбирайте между XZ и ZSTD

XZ даёт чуть лучшее сжатие, ZSTD - намного выше скорость сжатия. Для CI/CD и потоковой обработки ZSTD выгоднее, для архивов с редким доступом - XZ

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

На сколько уменьшится размер архива при конвертации TGZ в TXZ?
Для текстовых данных, исходного кода и логов выигрыш составляет 30-50%. Для SQL-дампов и серверных логов экономия может достигать 50-65%. Для уже сжатых файлов (JPG, MP4, MP3) разница минимальна, обычно меньше 1%.
Откроется ли TXZ без установки дополнительных программ?
В современных Linux-дистрибутивах xz встроен в систему, команда `tar xJf` работает из коробки. На macOS xz доступен в системе с Catalina или через Homebrew. На Windows нужна программа уровня 7-Zip - бесплатно. Распаковка TXZ - один клик в большинстве GUI-архиваторов.
Сохранятся ли права доступа и владельцы файлов из TGZ?
Да, при конвертации TGZ в TXZ внутренний TAR-контейнер сохраняется неизменным. Все POSIX-атрибуты переносятся: владелец (UID/GID), группа, права доступа в восьмеричной форме, временные метки, символические и жёсткие ссылки, специальные типы файлов.
Распаковка TXZ медленнее, чем TGZ?
Скорость распаковки сопоставима или чуть ниже у XZ - типично на 10-30% медленнее GZIP. При этом память расходуется существенно больше: до 200 МБ против считанных мегабайт у GZIP. Для современных компьютеров и серверов разница незаметна.
Почему ядро Linux перешло с TGZ на TXZ?
В 2013 году kernel.org перевёл архивы ядра на tar.xz из-за существенно лучшего сжатия (на 30-40% компактнее tar.gz и на 10-30% компактнее tar.bz2). Это сократило размер зеркал, ускорило загрузку и снизило нагрузку на серверы при сопоставимой скорости распаковки.
Можно ли использовать TXZ в системах с менеджерами пакетов?
Да, TXZ - стандартный формат для многих менеджеров пакетов. Slackware использует .txz как родной формат пакетов. Debian и Ubuntu кладут data.tar.xz внутрь .deb. Fedora и RHEL используют xz в .rpm. Arch Linux переходит между tar.xz и tar.zst.
Можно ли конвертировать несколько TGZ в TXZ за один раз?
Да, пакетная конвертация позволяет загрузить несколько TGZ-архивов одновременно. Каждый файл будет преобразован в отдельный TXZ с тем же базовым именем. Скачать результаты можно по каждому файлу после завершения обработки.