Перейти к содержимому

Открыть TAR или TAR.GZ

Распакуйте архивы из Linux и macOS, не открывая терминал. Здесь читаются TAR, TAR.GZ, TGZ и обычный GZ, и ничего не сохраняется.

  • Не сохраняется
  • Без очереди и ожидания
  • Без регистрации и водяных знаков

Как это работает

1

Добавьте архив

TAR, TAR.GZ, TGZ или отдельный файл, сжатый gzip. Сжатые архивы сначала автоматически распаковываются.

2

Загляните внутрь

Все файлы показываются с размером и папкой. Ссылки показываются как ссылки — по ним не переходят.

3

Заберите нужное

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

Два формата друг на друге — и что не передаётся при скачивании

.tar.gz — это два формата, положенные друг на друга, и почти всё в TAR следует из этого. Сам TAR ничего не сжимает: он склеивает файлы в один поток, и перед каждым стоит 512-байтовый заголовок с именем, размером, правами, владельцем и временем изменения. Сжатие — отдельный слой, обёрнутый вокруг всего целиком (gzip, bzip2 или xz). Поэтому расширения идут одно за другим, и поэтому степень сжатия выше, чем у ZIP: ZIP сжимает каждый файл отдельно и не может использовать повторы между файлами, а сжатый TAR сжимает весь поток как единое целое.

Тот же принцип объясняет единственную настоящую слабость TAR. Поскольку сжатие охватывает всё, каталога, который можно прочитать, нет: чтобы показать содержимое .tar.gz, его нужно распаковывать с самого начала, а чтобы достать последний файл — распаковать целиком. ZIP показывает список мгновенно при любом размере. Это компромисс эпохи магнитных лент, когда последовательное чтение было единственным вариантом, — отсюда и название (tape archive).

Права доступа Unix и символические ссылки отображаются, но восстановить их нельзя, и для того, ради чего обычно используют TAR, это главное ограничение. Скачанные файлы приходят обычными файлами с обычными правами, поэтому исполняемый скрипт перестаёт быть исполняемым, а символическая ссылка превращается в маленький файл, которым она физически является, — с путём, на который она указывала. Если вы распаковываете исходники, чтобы их собрать, это серьёзное препятствие, а не мелочь: метаданные здесь читаются и показываются, но скачивание их не передаёт.

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

Если нужно другое

Если архив нужен для работы, а не просто чтобы заглянуть внутрь, ответ — сам tar, и он уже есть на любом Mac и Linux: tar -xzf archive.tar.gz восстанавливает права, символические ссылки, владельцев и время изменения, распаковывает прямо на диск без ограничения памяти и справляется с архивами любого размера. В Windows он встроен с 2018 года, так что tar -xf работает в обычной командной строке.

Здесь не помочь как раз в тех случаях, ради которых TAR существует: распаковать исходники для компиляции, восстановить резервную копию или перенести дерево каталогов между машинами с сохранением структуры. Все три зависят именно от тех метаданных, которые теряются при скачивании. Эта страница — чтобы посмотреть, что в архиве, или достать документ или изображение на компьютере, где ничего нельзя установить.

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

Чем .tar отличается от .tar.gz?

.tar вообще не сжат — он просто склеивает файлы в один, сохраняя их имена и папки. .tar.gz — та же связка, целиком обёрнутая в gzip. Сначала склеить, потом сжать — поэтому .tar.gz часто МЕНЬШЕ, чем ZIP тех же файлов: gzip видит все файлы как один непрерывный поток и замечает повторы на границах между ними, а ZIP сжимает каждый файл отдельно и каждый раз начинает с нуля.

Мой архив где-нибудь сохраняется?

Нет. Ничего не сохраняется и не хранится, а после загрузки страницы всё работает даже с выключенным Wi-Fi. Для архивов это важнее, чем для большинства файлов: ZIP с налоговыми декларациями или резервная копия папки — именно то, что не стоит отдавать на чужой сервер.

Длинные имена файлов поддерживаются?

Да. Исходный формат tar не мог хранить имя длиннее 100 символов, и для решения этой проблемы появились два несовместимых расширения — GNU и POSIX pax. Здесь читаются оба, так что архив с любой реальной системы распаковывается с исходными именами.

Что происходит с символическими ссылками?

Они показываются вместе с тем, на что указывают, но по ним никогда не переходят. Переход по ссылке внутри архива — один из классических способов заставить распаковщик записать что-то туда, куда не следует, поэтому здесь этого просто не делают.

Есть ли ограничение по размеру?

Ограничение — доступная память, а не фиксированный лимит. Там, где формат позволяет, очень большие архивы открываются по одному файлу за раз: большой ZIP показывает список мгновенно, а распаковывается только тот файл, который вы запросили.

Безопасно ли открывать TAR от незнакомого человека?

Архивы — единственный тип файлов, чьё СОДЕРЖИМОЕ может быть враждебным, поэтому от двух давно известных атак защита срабатывает ещё до того, как вы что-то увидите. Файл в архиве может называться «../../something», чтобы выбраться за пределы папки распаковки, — такие имена исправляются, и вам сообщают, какие именно были изменены. А архив в несколько килобайт может распаковываться в терабайты и обрушить вкладку браузера — это измеряется заранее, и такой архив отклоняется, а не распаковывается.

Полезно знать: Открываются TAR, TAR.GZ, TAR.BZ2 и TAR.XZ — последние три через libarchive, который загружается только при открытии сжатого архива, так что обычный TAR остаётся лёгким. Права доступа Unix и символические ссылки отображаются, но восстановить их нельзя: у браузера нет доступа ни к тому, ни к другому.

Разместите этот инструмент на своём сайте

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