Как распаковать файл gz. Распаковать tar, создать tar - удобная инструкция. Команды для действия

Большинство пользователей при переходе с операционной системы Windows на Linux испытывают легкий шок. Ведь если раньше, чтобы установить программу, нужно было лишь дважды щелкнуть мышкой по файлу с расширением *.exe, а для распаковки использовать простую программу-архиватор. В Linux для этого нужно знать список команд.

Общие принципы

Как установить tar.gz и что представляет собой этот формат? Расширение tar.gz говорит о том, что данные были обработаны двумя программами: вначале программой tar, которая не сжимает файлы, а только объединяет их в один tar-файл, затем архиватором gzip, который уже уменьшает суммарный размер информации. Как установить tar.gz Ubuntu или в другой сборке Linux? Нужно действовать в обратном порядке: распаковываем файл внешним архиватором, затем внутренним.

Примеры

Возьмем для примера файл libra00.tar.gz и покажем, как распаковать tar.gz на своем компьютере. Нужно ввести следующие команды:

  • gunzip libra00.tar.gz tar xvfz libra00.tar.gz

Первая программа распаковывает файл libra00.tar.gz, вторая задает параметры распаковки.

  • «x» - значит извлечение из архива.
  • «v» - выводит на экран все найденные в архиве файлы.
  • «f» - это опция, без которой tar будет использовать пленку стример, а не информацию из архива, поскольку изначально tar для таких пленок и предназначался.
  • «z» - параметр, который позволяет работать с архивом gz. Если параметр опустить, tar выдаст ошибку.

Теперь, когда архив распакован, его нужно установить. Для этого нужно перейти в каталог с исходными текстами и прочитать файлы install и readme. Именно в них можно найти сведения о том, как устанавливать и использовать программу. Но как правило, для установки достаточно зайти в каталог программы. Для перемещения по каталогам, нужно ввести команду: cd (название каталога). А чтобы запустить установку, надо ввести:

  • ./configure
  • make install

Список команд:

  • ./configure - команда, которая создаст конфигурацию программы под вашу систему и проверит, может ли вообще программа работать. Если нет, сообщение об этом будет выведено на экран, а процесс установки прекратится. Это происходит как правило когда на компьютере нет требуемых библиотек. Если вы установите библиотеку, то можно заново попытаться установить программу с помощью этой команды. ./configure создает Makefile, в котором записаны пути к библиотекам и к установке программы.
  • make - это команда, которая компилирует программу и создает исполняемые файлы из исходника.
  • make install - финальный аккорд, установка программы и файлов справочной системы в предназначенные им каталоги (обычно /usr/bin).

tar - наиболее распространенный архиватор, используемый в Linux-системах. Сам по себе tar не является архиватором в привычном понимании этого слова, т.к. он самостоятельно не использует сжатие. В то же время, многие архиваторы (например, Gzip или bzip2) не умеют сжимать несколько файлов, а работают только с одним файлом или входным потоком. Поэтому чаще всего эти программы используются вместе. tar создает несжатый архив, в который помещаются выбранные файлы и каталоги, при этом сохраняя некоторые их атрибуты (такие как права доступа). После этого полученный файл *.tar сжимается архиватором, например, gzip . Вот почему архивы обычно имеют расширение.tar.gz или.tar.bz2 (для архиваторов gzip и bzip2 соответственно)

Использование

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

Создание архива

Для создания архива нужно указать tar соответствующее действие, что делается с помощью ключа -c . Кроме того, для упаковки содержимого в файл необходим ключ -f . Далее укажем сначала имя будущего архива, а затем те файлы, которые хотим упаковать.

Tar -cf txt.tar *.txt

Эта команда упакует все файлы с расширением txt в архив txt.tar. Так и создается простейший архив без сжатия. Для использования сжатия не нужно запускать что-либо еще, достаточно указать tar, каким архиватором следует сжать архив. Для двух самых популярных архиваторов gzip и bzip2 ключи будут -z и -j соответственно.

Tar -cvzf files.tar.gz ~/files

упакует папку ~/files со всем содержимым в сжатый с помощью gzip архив.

Tar -cvjf files.tar.bz2 ~/files

создаст аналогичный архив, используя для сжатия bzip2.

Ключ -v включает вывод списка упакованных файлов в процессе работы. К сожалению, более продвинутой индикации хода процесса (например, указания степени готовности в процентах) в tar не предусмотрено. Для этого используйте графические архиваторы (например, Xarchiver) или пользуйтесь средствами файл-менеджера.

Помимо gzip и bzip2 можно использовать, например, lzma (ключ –lzma) или xz (ключ -J), при этом соответствующий архиватор должен быть установлен в системе.

Распаковка архива

Действие «распаковка» задается с помощью ключа -x . И тут снова потребуется ключ -f для указания имени файла архива. Также добавим ключ -v для визуального отображения хода процесса.

Tar -xvf /path/to/archive.tar.bz2

распакует содержимое архива в текущую папку. Альтернативное место для распаковки можно указать с помощью ключа -C:

Tar -xvf archive.tar.bz2 -C /path/to/folder

Просмотр содержимого архива

Для просмотра содержимого архива используйте следующую команду:

Tar -tf archive.tar.gz

Она выведет простой список файлов и каталогов в архиве. Если же добавить ключ -v , будет выведен подробный список с указанием размера, прав доступа и прочих параметров (так же, как по ls -l)

Прочие возможности

tar предоставляет множество полезных возможностей. Например, можно указать файлы и каталоги, которые не будут включены в архив, добавить файлы в существующий архив, взять список объектов для запаковки из текстового файла и много что ещё. Во всем многообразии опций как всегда поможет разобраться

man tar tar --help

Утилита командной строки tar используется для работы с архивами в операционных системах на базе UNIX. С ее помощью можно архивировать данные и оптимизировать использование дискового пространства.

Создание и распаковка архивов

Создать

Создание выполняется с ключом c . Синтаксис следующий:

tar -c<опции> <новый архивный файл> <что сжимаем>

Пример создания:

tar -czvf archive.tar.gz /home/dmosk

* в данном примере будет создан архив archive.tar.gz домашней директории пользователя (/home/dmosk )
** где z — сжать архив в gzip (без этого параметра, tar не сжимает, а создает так называемый тарбол); c — ключ на создание архива; v — verbose режим, то есть с выводом на экран процесса (очень удобно для наблюдением за ходом работы, но в скриптах можно упустить); f — использовать файл (обязательно указываем, так как в большей степени работаем именно с файлами).

Распаковать

Распаковка выполняется с ключом x с синтаксисом:

tar -x<опции> <архивный файл>

Пример распаковки:

tar -xvf archive.tar.gz

Примеры

gz

Распаковка.gz файла:

tar -xvf archive.tar.gz

* при возникновении ошибки This does not look like a tar archive , можно воспользоваться командой gzip -d archive.tar.gz .

bz2

tar -xvjf archive.tar.bz2

* ключ j отвечает за работу с bz2.

Если система ругается на bzip2, значит нужно его установить:

yum install bzip2

apt-get install bzip2

pkg install bzip2

* соответственно, для CentOS (RPM based), Ubuntu (deb based), FreeBSD (BSD based).

Если видим ошибку tar: Unrecognized archive format , воспользуемся следующей командой:

bzip2 -d archive.tar.bz2

gzip

tar -xvzf archive.tar.gzip

* ключ z отвечает за работу с gzip.

tgz

Распаковывается, как gzip:

tar -xvzf archive.tgz

Распаковать в определенную папку

tar -C /home/user -xvf archive.tar.gz

* ключ -C используется для указания папки, куда необходимо распаковать файлы из архива.

Распаковка без вложенной папки

Такой способ можно использовать для распаковки в заранее подготовленный каталог. Будет некий эффект переименовывания каталога или аналог «Распаковать здесь»:

tar -C /home/admin/mytar -xvf admin.tar.gz --strip-components 1

* каталог /home/admin/mytar заранее должен быть создан; --strip-components 1 пропустит одну вложенную папку внутри архива.

Исключение файлов по маске

Если необходимо пропустить некоторые файлы, вводим команду с ключом --exclude:

tar -czvf archive.tar.gz /wwwsite --exclude="sess_*"

* в данном примере мы создадим архив archive.tar.gz , в котором не будет файлов, начинающихся на sess_ .

Описание ключей tar

Команды для действия

* нельзя использовать несколько вышеперечисленных ключей в одной команде.

Дополнительные опции

Ключ Описание
--atime-preserve Оставить прежнюю метку времени доступа для файла.
-b N Задать размер блока N x 512.
-C Смена каталога. По умолчанию, используется тот, в котором мы находимся.
--checkpoint Показать имена папок при чтении архивного файла.
-G Использование старого формата инкрементального резервирования при отображении или извлечения.
-g Использование нового формата инкрементального резервирования при отображении или извлечения.
-h Не дублировать символьные ссылки. Только файлы, на которые указывают эти симлинки.
-i Игнорировать блоки нулей.
-j Использование bzip2.
--ignore-failed-read Игнорировать не читаемые файлы.
-k При распаковке, существующие файлы не заменяются соответствующими файлами из архива.
-L N Смена магнитной ленты после N*1024 байт.
-m При извлечении игнорировать время модификации объекта.
-M Многотомные архивы.
-N DATE Сохранять только более новые файлы относительно DATE
-O Направление извлекаемого на стандартный вывод.
-p Извлечение защищенной информации.
-P Не отбрасывает начальный слэш (/) из имен.
-s Сортировка файлов при извлечении.
--preserve Аналогично -ps
--remove-files Удалить исходные файлы после добавления в архив.
--same-owner Сохранить владельца при извлечении.
--totals Вывод байт при создании архива.
-v Протоколирование действий — отображение списка объектов, над которыми происходит действие.
-V NAME Создание архива на томе с меткой NAME.
--version Показать версию tar.
-w Требовать подтверждения для каждого действия.
-W Проверка архива после записи.
--exclude FILE Исключить файл FILE.
-X FILE Исключить файлы FILE.
-Z Фильтрует архив с помощью compress.
-z Использование gzip.

* актуальный список опций можно получить командой man tar .

Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт "Открыть с помощью", а выпадающем меню выбрать пункт "Выбрать программу...". В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта "Использовать это приложение для всех файлов TAR".

Другая проблема, с которой наши пользователи также встречаются довольно часто - файл TAR поврежден. Такая ситуация может возникнуть в массе случаев. Например: файл был скачан не польностью в результате ошибки сервера, файл был поврежден изначально и пр. Для устранения данной проблемы воспользуйтесь одной из рекомендаций:

  • Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: "Файл filetype:TAR" . Просто замените слово "файл" на нужное вам название;
  • Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;

Всем привет, ранее мы рассмотрели вопросы "Как распаковать архив 7z в Linux Ubuntu " и "Как открыть или создать архив RAR в Linux Ubuntu ", теперь давайте узнаем, как распаковать tar.gz и tar.bz2 архивы, это основа основ, с которой практически сразу встречается начинающий линуксоид, так как в момент установки и скачивания различных пакетов, они очень часто бывают именно в таком виде. Это в Windows все просто, открыл winrar и кликнул мышкой, все тривиально, а тут придется пару команд выучить, но для этого вы и решили изучать linux.

Распаковываем и создаем tar.gz и tar.bz2

  • tar.gz распаковывается так:

tar xvfz *.tar.gz

  • tar.bz2 распаковывается так:

tar xvjf *.tar.bz2

Синтаксис:

tar [-ключи] [название архива]

Используемые ключи:
-x – позволяет вам извлекать файлы из архива.

-v – на экран будут выведены все названия файлов для распаковки/упаковки. Если эта опция опущена, информация, выводимая в процессе обработки, будет ограничена.

-f – является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо файла архива.

-z – позволяет вам обрабатывать архив, сжатый gzip’ом (с расширением.gz). Если вы забудете указать эту опцию, tar выдаст ошибку. И наоборот, эта опция не должна использоваться для несжатых архивов.

Как создать архив в Linux

создать.tar (архив без сжатия)
tar -cvf file.tar /full/path

создать.tar.gz (архив со сжатием gzip):
tar -czvf file.tar.gz /full/path

создать.tar.bz2 (архив со сжатием bzip2):
tar -cjvf file.tar.bz2 /full/path

сохранить только структуру папок (без файлов):
tar -czvf dirs.tar.gz --no-recursion --files-from <(find /full/path -type d)

где:
/full/path - путь, для структуры, которую надо сохранить в архив

Используемые ключи:

-c – создать архив
-j – зажать в bzip2
-z – зажать в gzip
-f, -v – см. выше (f - обязательный ключ, v - для визуализации процесса)В файлах.tar можно хранить несколько папок (структуру папок и файлов). Лучше использовать с ключами для архивации файла.tar, чтобы в результате получились файлы с расширением.tar.gz (файл.tar сжатый архиватором gzip) или.tar.bz2 (файл.tar сжатый bzip2). bzip2 лучше сжимает, но с gzip более распространён , поэтому лучше сжимать gzip.
Если у вас установлен WinRAR, то проблем с открытием.tar.bz2 и.tar.gz не будет.