TAR и TAR.GZ в Linux: создание и распаковка
TAR — это контейнер для объединения файлов в один архив, а GZ — алгоритм сжатия gzip. Используйте tar для упаковки и распаковки (tar -cvzf / tar -xvzf), или 7-Zip в два шага для tar.gz. Для надёжных бэкапов добавляйте контрольные суммы, подписи GPG и проверяйте права доступа перед восстановлением.
О чём эта статья
Вы узнаете, что такое tar, gzip и bzip2; как правильно создавать и распаковывать .tar и .tar.gz через tar и 7‑Zip; какие распространённые ошибки встречаются и как их избегать; а также получите практичные чек-листы и шпаргалку с командами.
Базовые термины
- Tarball — это набор файлов, объединённых в один файл-архив. Расширение: .tar.
- Gzip — алгоритм сжатия от проекта GNU. Расширение: .gz.
- TAR.GZ / .tgz — tar-архив, сжатый gzip. Часто встречаются оба варианта расширения.
- Bzip2 — альтернатива gzip; расширения: .bz2, .tar.bz2, .tbz.
Кратко: tar объединяет, gzip сжимает.
Быстрая шпаргалка (cheat sheet)
- Создать tar: tar -cvf archive.tar files…
- Создать tar.gz: tar -cvzf archive.tar.gz files…
- Распаковать tar.gz: tar -xvzf archive.tar.gz
- Распаковать в папку: tar -xvzf archive.tar.gz -C /путь/к/папке
- Просмотреть содержимое: tar -ztvf archive.tar.gz
- Исключить файлы: tar -cvzf archive.tar.gz –exclude=’*.log’ /путь
- Создать tar средствами 7‑Zip: 7z a -ttar archive.tar /папка
- Сжать tar в tar.gz с 7‑Zip: 7z a archive.tar.gz archive.tar
Как создавать TAR и TAR.GZ файлы
Создание архивов важно для бэкапов и переноса данных. Ниже — надёжные способы.
С помощью утилиты tar
Основной синтаксис для создания tar.gz:
tar -cvzf archive.tar.gz путь_или_файлыАргументы:
- -c — создать архив;
- -v — подробный вывод (verbose);
- -z — использовать gzip;
- -f — указать имя файла архива.
Примеры:
tar -cvzf new.tar.gz big-file.txt
tar -cvf new.tar big-file.txt
tar -cvzf new.tar.gz ~/Documents
tar -cvzf new.tar.gz ~/Documents ~/Downloads file1.txt file2.txtСоветы:
- Указывайте относительный путь внутри архива, переходя в корневую папку: cd /путь && tar -cvzf /куда/new.tar.gz ./директория
- Для сохранения прав и владельцев используйте опцию -p при восстановлении или создании бэкапа на другом хосте.
С помощью 7‑Zip
7‑Zip на Linux — удобный инструмент, особенно в кроссплатформенных средах.
Создать tar через 7‑Zip:
7z a -ttar archive.tar /folderСоздание tar.gz — двухшаговый процесс:
7z a -ttar archive.tar /Downloads
7z a archive.tar.gz archive.tarКоманда в одну строку (пайпинг в stdout/stdin):
7z a -ttar -so archive.tar /Downloads | 7z a -si archive.tar.gz-so и -si — вывод в стандартный поток и чтение из него.
Как распаковать TAR и TAR.GZ
Большинство дистрибутивов Linux уже имеют tar и графические менеджеры архивов.
С помощью tar
Основной синтаксис для распаковки:
tar -xvzf archive.tar.gz
tar -xvf archive.tarАргументы:
- -x — извлечь;
- -v — подробный вывод;
- -z — gzip (только для .gz);
- -f — имя файла.
Распаковка в конкретную папку:
tar -xvzf archive.tar.gz -C /DownloadsПросмотр содержимого без распаковки:
tar -ztvf archive.tar.gz
tar -tvf archive.tarИзвлечь только отдельные файлы или каталоги:
tar -xvzf archive.tar.gz file1 file2
tar -xvzf archive.tar.gz directory1 directory2Исключение файлов при распаковке:
tar -xvzf archive.tar.gz --exclude='/Downloads' --exclude='file1.txt'С помощью 7‑Zip
Rаспаковка tar:
7z x archive.tarДля tar.gz сперва распакуйте .gz в .tar, затем .tar:
7z x archive.tar.gz
7z x archive.tarПрямая распаковка через пайп:
7z x -so archive.tar.gz | 7z x -si -ttarГрафический способ
Большинство менеджеров архивов (File Roller, Ark, PeaZip и др.) позволяют распаковать архив через меню:
Выберите опцию «Extract Here» для извлечения в текущую папку или «Extract To» для выбора места назначения.
Когда это не сработает: распространённые ошибки и их решения
- Ошибка «tar: Unexpected EOF» — файл повреждён или неполный. Решение: проверьте размер, перекачайте или получите резервную копию.
- Недостаточно прав (permission denied) при распаковке в системные папки — используйте sudo с осторожностью: sudo tar -xvzf archive.tar.gz -C /путь
- Файл сжат другим алгоритмом (.xz, .lz4, .zst) — проверьте расширение и используйте соответствующие инструменты (xz, lz4, zstd).
- Архив создан с относительными путями и перезаписывает файлы при распаковке — проверяйте содержимое через tar -tvf перед извлечением.
Важно: перед распаковкой архива, полученного из ненадёжного источника, проверьте его содержимое и подписи.
Альтернативные подходы
- ZIP — кроссплатформенный формат, удобен при обмене с Windows: zip/unzip.
- rsync — отправляет только изменения, хорошо для инкрементных бэкапов.
- borg, restic — современные дедуплицирующие решения для бэкапов с шифрованием.
- tar + pigz — если нужен быстрый параллельный компрессор вместо gzip.
Выбор зависит от требований: совместимость, скорость, шифрование, дедупликация.
Практическая методология для надежного архива (мини‑метод)
- Спланируйте: определите каталоги и исключения.
- Создайте tar с относительными путями: cd / && tar -cvzf /backup/site-$(date +%F).tar.gz ./var/www
- Проверьте: tar -tvf archive.tar.gz | head
- Контроль целостности: sha256sum archive.tar.gz > archive.tar.gz.sha256
- Подпись (опционально): gpg –armor –detach-sign archive.tar.gz
- Хранение: копировать на отдельный носитель или в облако.
Роли и чек‑лист
Для администратора:
- Проверить права доступа и владельцев (tar -xvpf для сохранения прав).
- Создать контрольные суммы и подписи.
- Автоматизировать через cron и проверять успешность.
Для разработчика:
- Упаковать релиз в tar.gz без лишних временных файлов.
- Исключать node_modules, .git через –exclude.
Для обычного пользователя:
- Использовать графический менеджер архивов для простых задач.
- Перед распаковкой проверять содержимое через просмотр.
Модель мышления: архиватор vs компрессор
- Архиватор (tar) объединяет набор файлов в один поток данных, не изменяя содержимое.
- Компрессор (gzip, bzip2, xz) уменьшает объём этого потока. Поэтому порядок: tar → compress.
Понимание этой разницы помогает выбрать инструменты и отлаживать ошибки.
Безопасность и целостность
- Проверяйте контрольные суммы (sha256/sha512), особенно при передаче по сети.
- Подписывайте критичные архивы GPG для проверки подлинности.
- При распаковке архивов из интернета используйте непользовательскую учётную запись и просматривайте список файлов.
- Избегайте распаковки архивов с абсолютными путями или с «..» без проверки.
Пример проверки подписи и суммы:
sha256sum -c archive.tar.gz.sha256
gpg --verify archive.tar.gz.asc archive.tar.gzСоветы по производительности
- Для больших объёмов данных используйте pigz (параллельный gzip):
tar -I pigz -cvf archive.tar.gz /путь- Для максимального сжатия используйте xz, но учтите, что оно более медленное.
- Если важна скорость передачи, а не размер, используйте минимальное сжатие или вообще tar без -z.
Критерии приёмки
- Архив успешно распаковывается на целевой системе без ошибок.
- Контрольная сумма совпадает с источником.
- Права доступа и владельцы (если необходимы) сохранены.
- Архив не содержит файлов, которые должны были быть исключены.
Совместимость и миграция
- .tar и .tar.gz совместимы со всеми Unix-подобными системами.
- Для Windows целесообразно использовать zip или поставлять утилиту 7‑Zip.
- При миграции между файловыми системами учтите особенности прав и владельцев.
Дополнительно: формат и расширения
Частые расширения и их значение:
- .tar — контейнер, без сжатия
- .tar.gz или .tgz — tar + gzip
- .tar.bz2 или .tbz — tar + bzip2
- .tar.xz — tar + xz (высокое сжатие)
1‑строчный глоссарий
- tar: объединение файлов; gzip: сжатие; tgz: tar.gz; pigz: параллельный gzip.
Примеры тестов и приёмки
- Содержимое архива отображается (tar -tvf).
- Контрольная сумма совпадает (sha256sum).
- Распаковка в изолированную папку не вызывает ошибок.
Сравнение подходов (кратко)
- tar + gzip — стандарт, простота и совместимость;
- zip — удобство для Windows-пользователей;
- borg/restic — надёжные бэкап-решения с дедупликацией и шифрованием.
Резюме
TAR упаковывает, GZ сжимает. Для большинства задач в Linux достаточно утилиты tar. 7‑Zip полезен при работе с кроссплатформенными архивами. Для производственных бэкапов добавляйте контрольные суммы, подписи и тестируйте процесс восстановления заранее.
Важно: выбирайте инструменты в зависимости от требований — совместимость, скорость, безопасность и удобство восстановления.
Похожие материалы
Исправление уведомления «Проверить диск на наличие ошибок»
Исправить ошибку Windows Hello 0x80090011
Windows сжимает файлы — как отключить
Ошибка PIN 0x80040154 в Windows — как исправить
Исправить паузу индексирования в Windows 11