Первое появление интернет сетей ознаменовалось низкими скоростями и нестабильными соединениями. Именно в этот момент понадобилось создание решения, на основе которого можно было бы передавать файлы и документы в сжатом виде для экономии трафика сети. Было испробовано множество подходов и алгоритмов. А затем на рынок вышло много программных продуктов — WinZip, WinRAR и другие, прочно закрепившиеся в этой нише. Эти средства были актуальны для семейства операционных систем Windows. В Linux среде же активно использовались архивы bzip2, Gzip и tar. Именно о связке двух последних и пойдёт речь в этой статье.
Что такое tar и gz
Tar представляет собой формат архива, который способен сохранять в нем такие важные сведения, как данные о владельцах файлов, их структуру папок и многое другое. Одноимённая программа, установленная в системах Linux, работает с архивами типа tar. При этом самостоятельно сжимать файлы tar не умеет. Поэтому для уменьшения размера получившегося архива он использует сторонние продукты сжатия. Чаще всего это gzip или bzip2.
Архиватор gzip использует для сжатия метод Deflate, который позволяет эффективно сокращать размер файлов без потерь. Единственным недостатком gzip является его неспособность работать одновременно с несколькими файлами. Поэтому для того, чтобы создать архив, он комбинируется с утилитой tar. Таким образом, для сжатия нескольких файлов tar сначала создаёт из них один архивный файл, который затем сжимается gzip.
Ещё одной интересной особенностью gzip является возможность сжатия файлов, что называется, «на лету». Таким образом эту методику активно используют многие браузеры для сжатия трафика.
Как установить tar.gz - архив или программу
В среде Linux, и в частности в Ubuntu, многие файлы и программы иногда поставляются в качестве архивов tar.gz. Это могут быть приложения, пакеты обновлений или же просто исполняемые файлы. Поэтому все дальнейшее описание будет приведено для операционной системы Ubuntu. Чтобы понять, как установить в Ubuntu tar.gz архив, можно для примера взять любую программу, которая поставляется с исходным кодом.
К примеру, можно скачать приложение hello, загрузка которого есть в открытом доступе. Этот продукт выполняет одну простую функцию — приветствует мир в лучших традициях первых уроков любого языка программирования. Среди представленных по адресу версий лучше выбрать посвежее.
Итак, файл скачан, но как установить tar.gz? Очень просто. В операционных системах типа Ubuntu нужно использовать терминал. Вызвать его можно сочетанием клавиш Ctrl+Alt+t. Его окно выглядит примерно так:
Для того чтобы разархивировать файл ,нужно к нему добраться. В терминале это можно сделать с помощью команды cd и нужного каталога. Например:
cd Downloads
После ввода команды нажимается клавиша Enter, которая отправляет её на исполнение. Теперь терминал находится в одной папке со скачанным архивом hello-2.10.tar.gz. Вводится команда tar zxvf hello-2.10.tar.gz. Её результатом будет вывод на консоль списка всех распакованных файлов.
Теперь задача подходит к главному пункту в вопросе о том, как установить в Ubuntu tar.gz архив, — подготовке и компиляции.
Подготовка файлов программы
Для начала нужно снова оказаться в одной папке с распакованными файлами. Для этого используется команда cd с указанием необходимого каталога - hello-2.10. Теперь в самой папке нужно выполнить команду ./configure --help. Она выдаст подсказки по тому, как именно необходимо устанавливать программу. В большинстве случаев достаточно простого введения ./configure. Однако у пользователя может не хватить прав доступа для установки в каталог по умолчанию, которым является /usr/local. Поэтому нужно указать, что приложение должно установиться в домашнюю папку системы. Общая команда выглядит в итоге так:
./configure --prefix=$HOME
В результате её выполнения система проверит все зависимости и выдаст в конце несколько строк об успешном создании файлов.
Компиляция
Теперь осталось скомпилировать подготовленную конфигурацию. Выполняется это простой командой make в этом же каталоге распакованного архива. Если вывод не содержит ошибок, то значит, компиляция прошла успешно, теперь осталось понять, как установить программу из tar.gz в систему. Для этого применяется команда make install. Если она также не содержит ошибок, то значит, все инсталлировалось в систему, и её можно использовать. Но перед этим стоит учесть, что, если был указан домашний каталог в качестве пути установки, то нужно добавить его в переменную окружения PATH следующим образом:
export PATH=$HOME/bin:$PATH
Теперь скомпилированную и установленную в систему программу можно запустить из любого каталога простым вызовом hello.
На самом деле установить именно эту программу можно было и простым вызовом apt-get install hello в Ubuntu, так как она содержится в его репозиториях. Но главным посылом статьи было рассказать, как установить архив tar.gz. Поэтому, программа hello выступила здесь своего рода подопытным кроликом. Он просто показал, как установить пакет tar.gz. Мы узнали также, как распаковать его, скомпилировать и запустить в системе.
Как установить tar.gz в Linux Mint
Работа в Mint мало чем принципиально отличается от Ubuntu. Разве что вызов терминала может быть переназначен на другие клавиши. В общем же случае алгоритм установки программы из tar.gz архива будет тот же:
- скачивание непосредственно самого tar.gz;
- как установить tar.gz и распаковать его, было описано чуть выше;
- выполнение configure, make и, если требуется, make install;
Основные команды tar
Программа tar на самом деле обладает широкими возможностями, реализация которых доступна с помощью опций. Посмотреть их полный список можно, вызвав в терминале tar --help. Для простейшей распаковки используется tar -xvf путь к архиву. Если же нужно указать, в какую именно папку это надо сделать, то добавляется ключ -C: tar -xvf путь к архиву -C путь к папке назначения. Ключи, используемые в команде, означают следующее:
- -z. Этот ключ говорит о том, что нужно пропустить данный архив через программу gzip;
- -x. Означает, собственно, саму распаковку;
- -v. Говорит о том, что при выполнении команды на экран будет выводиться весь листинг процесса;
- -f. Означает, что распаковать нужно именно архивный локальный файл;
Также перед распаковкой можно посмотреть содержимое файла командой tar -tf путь к архиву.
Основные команды gzip
Программу gzip тоже можно использовать отдельно, для сжатия или распаковки файлов. Чтобы создать архив, нужно выполнить команду gzip имя_файла. И наоборот, для распаковки — gunzip имя_файла.gz.
Помимо стандартных команд, имеются и ключи, которые расширяют функционал программы. Основные выглядят так:
- -h. Использование данного ключа приведёт к выводу списка доступных опций и команд;
- -q. Блокирует все появляющиеся во время работы сообщения;
- -t. Данный ключ проверяет архив на целостность;
- -fast и -best. Эти два ключа управляют скоростью создания архива. best — наилучшее качество сжатия, но медленнее. Fast — наоборот, очень быстро, но с меньшим процентом архивирования.
Заключение
В данной статье были рассмотрены простейшие команды и показано, как установить tar.gz архив или программу в систему. Этот способ походит как для Ubuntu и Mint, так и для ряда других дистрибутивов Linux.
На самом деле возможности программ tar и gzip гораздо шире, и более подробное их изучение выходит за рамки этой статьи.