Открыть TAR или TAR.GZ
Распакуйте архивы из Linux и macOS, не открывая терминал. Здесь читаются TAR, TAR.GZ, TGZ и обычный GZ, и ничего не сохраняется.
- Не сохраняется
- Без очереди и ожидания
- Без регистрации и водяных знаков
Как это работает
Добавьте архив
TAR, TAR.GZ, TGZ или отдельный файл, сжатый gzip. Сжатые архивы сначала автоматически распаковываются.
Загляните внутрь
Все файлы показываются с размером и папкой. Ссылки показываются как ссылки — по ним не переходят.
Заберите нужное
Скачайте один файл или все вместе в 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 и символические ссылки отображаются, но восстановить их нельзя: у браузера нет доступа ни к тому, ни к другому.
Разместите этот инструмент на своём сайте
Бесплатно для любого блога, страницы класса или справочной статьи. Вставьте один фрагмент кода — и посетители смогут пользоваться инструментом прямо на вашей странице.