Как распаковать tar.gz, tar.xz и zip, упаковать папку, заглянуть в архив без распаковки и исключить лишнее. Что делать, если программу скачали в tar.gz.
tar собирает файлы и папки в один файл, а сжимает его отдельная программа — отсюда двойные расширения: .tar.gz (gzip), .tar.xz (xz), .tar.zst (zstd), .tar.bz2 (bzip2). Распаковывать их можно одной командой: tar сам узнаёт, чем сжат архив.
Распаковать
tar -xf archive.tar.gz
tar -xf archive.tar.gz -C /var/www/site # в другую папку — она должна уже бытьx — распаковать, f — файл архива, его имя пишется сразу после f. Добавьте v, чтобы видеть список файлов: tar -xvf. В старых инструкциях пишут tar -xzf — так тоже работает, просто z при распаковке не обязателен.
Достать один файл: tar -xf archive.tar.gz папка/файл.txt — путь такой, как внутри архива.
Если распаковывать через sudo, у файлов будут те же владельцы и права, что в архиве. Без sudo все файлы достанутся вам.
Посмотреть, что внутри
tar -tf archive.tar.gz | lessПолезно перед распаковкой: аккуратный архив кладёт всё в одну папку, а неаккуратный высыпает сотни файлов прямо в текущую.
Упаковать
tar -czf site.tar.gz -C /var/www example.ruc — создать архив, z — сжать gzip. -C /var/www — перейти в эту папку перед упаковкой, чтобы внутри архива был путь example.ru/…, а не var/www/example.ru/….
| Ключ | Сжатие | Расширение |
|---|---|---|
| -z | gzip — быстро, понимают все | .tar.gz, .tgz |
| --zstd | zstd — быстрее gzip и сжимает лучше | .tar.zst |
| -J | xz — сжимает сильнее всех, но медленно | .tar.xz |
| -j | bzip2 — встречается в старых архивах | .tar.bz2 |
Исключить лишнее — кэш, журналы:
tar -czf site.tar.gz --exclude='example.ru/cache' --exclude='*.log' -C /var/www example.ruzip
Программы для zip в облачных образах обычно не установлены:
sudo apt install zip unzip # Ubuntu, Debian
sudo dnf install zip unzip # AlmaLinuxunzip -l archive.zip # что внутри
unzip archive.zip -d folder # распаковать в папку
zip -r site.zip example.ru # упаковать папкуЕсли в архиве из Windows вместо русских имён файлов кракозябры, в Ubuntu и Debian укажите кодировку: unzip -O cp866 archive.zip.
Программу скачали в tar.gz — как установить?
Сначала поищите её в пакетах системы: apt search имя или dnf search имя. Программа из пакетов обновляется вместе с системой, а скачанную архивом обновлять придётся самому.
Если пакета нет, распакуйте архив и загляните внутрь. Обычно там есть README или INSTALL с инструкцией. Дальше два варианта:
- Готовая программа — один исполняемый файл. Положите его в
/usr/local/binи дайте право на запуск:sudo install -m 755 программа /usr/local/bin/. - Исходный код — есть файл
configureилиMakefile. Его собирают командами./configure,makeиsudo make install. Для сборки нужен компилятор:sudo apt install build-essentialилиsudo dnf groupinstall "Development Tools".
Не нашли ответ? Напишите в поддержку — подскажем.


