Большинство пользователей при переходе с операционной системы 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 не будет.