Как установить tar gz в linux manjaro

Обновлено: 05.07.2024

Не для всех программ уже есть готовые пакеты для вашего дистрибутива, также новые версии программ могут распространяться только в форме tar.gz архива или просто исходников.

У многих новых пользователей Ubuntu возникает вопрос, как же устанавливать программы или игры в формате tar.gz. Ведь менеджером пакетов они не открываются, а двойным кликом открывается архив. Дело в том, это на самом деле еще не программа, это действительно архив. Архив исходных кодов программы, и если говорить простыми словами, то это набор текстовых файлов с инструкциями на определенном языке программирования.

Чтобы все это превратилось в готовую к установке и выполнению программу нужно выполнить сборку (компиляцию). Но не бойтесь всех этих новых терминов, на самом деле все намного проще чем кажется, вам не нужно будет ничего ни писать, ни исправлять, достаточно только ввести несколько команд в терминале. В этой инструкции будет рассмотрена установка tar.gz в Ubuntu.

Подготовка системы

Готовить почти нечего, компилятор GCC уже предустановлен в системе, и уже можно переходить к сборке. Но мы хотим не просто установить программу, а так чтобы ею потом можно было управлять с помощью пакетного менеджера, например, при удалении полностью стереть все ее файлы, не оставляя мусора в системе. Поэтому придется установить дополнительные утилиты для создания и сборки пакетов Ubuntu.

Наберите следующую команду для установки этих инструментов:

sudo apt install checkinstall build-essential autoconf automake

Установка из tar gz в Ubuntu

Я предполагаю, что архив с исходниками у вас уже есть, теперь можно переходить к сборке программы и установке tar.gz Ubuntu. Неважно в какой папке будет находиться архив, главное, чтобы вы знали где. Первой командой, которую мы выполним будет переход в папку с архивом:

Дальше извлечем исходники из архива с программой:

tar -xvf имя_архива.tar.gz

И переходим в папку с только что полученными исходными файлами:


Обычно программы в Linux состоят из большого количества файлов, и при их сборке нужны различные параметры и опции, поэтому вместо того, чтобы запускать компилятор для каждого из файлов вручную, в Linux используется утилита make. Она на основе файла Makefile подбирает правильные команды компиляции для каждого файла и собирает всю программу.

Программы часто используют внешние библиотеки, а в разных дистрибутивах путь к файлам библиотек разный, поэтому перед тем, как запускать make нужно выполнить скрипт configure для проверки зависимостей. Этот скрипт можно создать на основе файла configure.in. Но это необязательно, во многих программах скрипт конфигурации не предусмотрен и программа не требует проверки зависимостей перед сборкой, тогда файла configure.in просто нет в папке с исходниками. Если так, то просто пропустите следующие инструкции и переходите к сборке.

Скрипт configure можно создать несколькими способами, сначала попытаемся выполнить следующие скрипты:

Если же этих скриптов не оказалось в исходниках, просто последовательно выполните следующие команды:

aclocal
autoheader
automake --gnu --add-missing --copy --foreign
autoconf -f -Wall

Если скрипт обнаружит что какой-то библиотеки нет (File имя_файла_библиотеки.so not found), скомпилировать пакет не получится, берем название библиотеки и ищем в Google как называется ее пакет в Ubuntu, а затем устанавливаем его через apt-get. Обычно это libимя_библиотеки или libимя_библиотеки-dev.

Например, нам не хватало libfuse.so. С помощью поисковой системы мы узнали, что эта библиотека есть в пакете libfuse. Теперь просто ее установим:

sudo apt install libfuse

Затем опять выполняете configure, чтобы посмотреть нет ли других неразрешенных зависимостей. И повторяете все до тех пор, пока не увидите слово Sucessful или Complete в конце вывода скрипта.

И только теперь установка tar.gz в Ubuntu может быть продолжена и программа собрана. Команда make скомпилирует программу из исходников, а скрипт checkinstall соберет deb пакет:


Самое сложное уже позади, на этом этапе ошибки почти никогда не возникают.

И только теперь мы получили программу, которую можно устанавливать с помощью центра приложений или в терминале. Установка с помощью dpkg будет выглядеть вот так:

makepkg — скрипт для автоматизации сборки пакетов. Требования для работы — Unix-платформа с системой сборки и файл PKGBUILD.

makepkg входит в состав пакета pacman .

Contents

Настройка

Параметры настройки makepkg подробно описаны в руководстве makepkg.conf(5) .

Общесистемные настройки хранятся в файле /etc/makepkg.conf , пользовательские — в $XDG_CONFIG_HOME/pacman/makepkg.conf или

/.makepkg.conf . Рекомендуется проверять настройки перед сборкой пакетов.

Информация о создателе пакета

Каждый пакет содержит метаданные, в том числе информацию о создателе пакета (packager). По умолчанию скомпилированный пакет создаётся с пометкой Unknown Packager . Однако если на одной системе компиляцией занимаются несколько пользователей или вы планируете распространять пакет среди других пользователей, то имеет смысл указать настоящие контактные данные, задав переменную PACKAGER в файле makepkg.conf .

Создателя установленного пакета можно узнать командой:

Кроме того, если указать цифровую подпись создателя в параметре GPGKEY , то она тоже будет автоматически добавляться к пакету.

Расположение файлов пакета

makepkg создаёт пакет в рабочем каталоге в формате tar-архива, а исходный код загружает в подкаталог src/ . Целевые каталоги можно переназначить, например, чтобы все собранные пакеты хранились в

/build/packages/ , а все исходные данные — в

Можно задать следующие значения в makepkg.conf :

  • PKGDEST — каталог для собранных пакетов (расширение .pkg.tar.xz );
  • SRCDEST — каталог для исходных файлов (расширение .tar.gz ; в каталог src/ будут помещаться символические ссылки на новое местоположение);
  • SRCPKGDEST — каталог для пакетов исходных данных (расширение .src.tar.gz , создаются командой makepkg -S ).
Совет: Каталог PKGDEST можно очистить, например, командой paccache -c

Проверка цифровых подписей

Примечание: При проверке цифровых подписей makepkg полагается исключительно на пользовательские связки ключей. Связки ключей pacman не используются [1].

Если нужный открытый ключ отсутствует, то файл PKGBUILD, скорее всего, содержит пункт validpgpkeys с идентификаторами ключей. Ключи можно импортировать вручную или же найти их на сервере ключей и импортировать оттуда.

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

Для корректной работы makepkg нужно установить группу пакетов base-devel . Пакеты из этой группы можно не указывать в качестве зависимостей для сборки (makedepends) в файле PKGBUILD.

  • Убедитесь, что утилита sudo настроена должным образом для команд, передаваемых pacman.
  • Запуск makepkg от root-пользователя запрещён: [2], [3]. Поскольку PKGBUILD может содержать произвольные команды, сборка пакетов под root-аккаунтом признана небезопасной [4]. Если у пользователя нет доступа к аккаунту обычного пользователя, то следует запускать makepkg от пользователя "nobody".

Чтобы собрать пакет, первым делом необходимо создать файл PKGBUILD, который представляет собой скрипт сборки. Написание скрипта описано в статье Создание пакетов. Скрипты для существующих пакетов можно найти в дереве каталогов Системы сборки Arch, а также в AUR. После того, как PKGBUILD получен, переместитесь в каталог с ним и выполните команду сборки пакета:

Если в системе не установлены необходимые зависимости, makepkg предупредит вас об этом и отменит сборку. Если задать флаг -s / --syncdeps , то makepkg самостоятельно установит недостающие зависимости и соберёт пакет.

Когда все зависимости установлены и сборка пакета завершилась успешно, в рабочем каталоге появится файл пакета ( имя-пакета-версия-пакета.pkg.tar.zst ). Чтобы установить его в систему, используйте флаг -i / --install (работает аналогично команде pacman -U имя-пакета-версия-пакета.pkg.tar.zst ):

С флагом -c / --clean makepkg удалит оставшиеся после сборки промежуточные файлы и каталоги (например, распакованные в $srcdir файлы). Это полезно при многократных сборках одного и того же пакета или его обновления в одном рабочем каталоге. Это предотвратит добавление устаревших файлов в новые сборки:

Советы и рекомендации

Снижение времени загрузки и извлечения исходников

При многократной пересборке одного и того же пакета, особенно в случае VCS, используйте SRCDEST , чтобы сэкономить время на скачивание и распаковку файлов с исходным кодом.

Оптимизация двоичных пакетов

Повысить производительность программ можно на этапе сборки пакета за счет возможностей компилятора по оптимизации кода. Однако нужно иметь в виду, что двоичные файлы, скомпилированные под специфическую архитектуру процессора, не будут правильно работать на других машинах. Если говорить об архитектуре x86_64, то редко когда достигнутый эффект повышения производительности стоит затраченного на пересборку официальных пакетов времени.

С другой стороны, снизить производительность, задав "нестандартные" флаги компилятора — проще простого. Чаще всего тонкая настройка компилятора приносит пользу лишь в определённой ситуации и не стоит применять её ко всем пакетам без разбора. Если вы не можете доказать повышение производительности путем тестов, то скорее всего, его просто нет! Статьи из Gentoo-wiki Оптимизации GCC и Safe CFLAGS содержат больше информации по оптимизации компилятора.

Опции, переданные компилятору C/C++ (например, gcc или clang ) зависят от переменных окружения CFLAGS , CXXFLAGS и CPPFLAGS . В системе сборки Arch makepkg извлекает значения переменных окружения из файла настроек makepkg.conf и использует их в качестве опций. Значения по умолчанию выбраны таким образом, чтобы создаваемые двоичные программы работали на широком диапазоне машин.

  • Следует помнить, что не все системы сборки используют переменные, указанные в файле makepkg.conf . Например, cmake игнорирует переменную CPPFLAGS . Как следствие, часто в файлах PKGBUILD можно увидеть различные обходные решения для систем сборки, используемых для конкретного программного обеспечения.
  • Настройки в файле Makefile и аргументы в командах компиляции имеют приоритет над значениями в makepkg.conf , что может привести к их переопределению.

Компилятор GCC может автоматически обнаруживать и включать безопасные оптимизации, доступные для конкретной архитектуры. Чтобы использовать эту особенность, сначала удалите любые -march и -mtune флаги, а затем добавьте опцию -march=native . Например:

Чтобы узнать, какие флаги эта команда разблокирует на вашей машине, выполните:

Начиная с pacman версии 5.2.2 файл makepkg.conf также содержит переменную окружения RUSTFLAGS , в которой можно указать флаги, передаваемые компилятору языка Rust. Если указать в переменной RUSTFLAGS значение -C target-cpu=native , компилятор включит возможные для архитектуры вашего процессора алгоритмы оптимизации.

Чтобы узнать, какие возможности процессора можно включить этой настройкой, выполните:

Если в команде выше указать --print cfg без -C target-cpu=native , то будет выведена стандартная конфигурация. Можно также изменить значение параметра opt-level на 3 , s или z , подробнее см. документацию компилятора Rust.

Сокращение времени компиляции

Параллельная компиляция

Для сборки пакетов с помощью make используется переменная окружения MAKEFLAGS , которая определяет дополнительные опции для утилиты make. Установить значение этой переменной можно также в файле makepkg.conf .

Пользователи с многоядерными/многопроцессорными системами могут указать количество одновременно запускаемых задач. Это делается с помощью утилиты для определения количества доступных ядер nproc, например MAKEFLAGS="-j$(nproc)" . Некоторые файлы PKGBUILD переопределяют это значение на -j1 , чтобы избежать состояний гонки или просто потому что многопоточная работа не поддерживается изначально. Если сборка пакета завершилась неудачно из-за описанных выше изменений в MAKEFLAGS , то нужно создать отчёт об ошибке или, в случае пакета из AUR, сообщить сопроводителю пакета.

Другие возможные опции можно найти в руководстве make(1) .

Сборка из файлов в памяти

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

Переменная BUILDDIR может быть временно экспортирована в makepkg, чтобы установить рабочий каталог в существующий раздел с tmpfs. Например:

Чтобы сделать эту настройку постоянной, нужно раскомментировать опцию BUILDDIR файла настроек /etc/makepkg.conf . Если, к примеру, установить это значение BUILDDIR=/tmp/makepkg , то будет использоваться обычная временная файловая система Arch /tmp .

  • Старайтесь не компилировать большие пакеты в tmpfs, чтобы не произошло исчерпания памяти.
  • Каталог tmpfs должен быть смонтирован без опции noexec , потому что иначе собранный двоичный пакет будет невозможно исполнить.
  • Также помните, что собранные в tmpfs пакеты будут удалены при перезагрузке. Задайте параметр PKGDEST, чтобы собранный пакет автоматически перемещался в "постоянный" каталог.

Использование кэша компиляции

Применение ccache сокращает время сборки за счет многократного использования кэша компиляции.

Вычисление новых контрольных сумм

Установите пакет pacman-contrib и выполните следующую команду в каталоге с файлом PKGBUILD , чтобы сгенерировать новые контрольные суммы:

updpkgsums использует makepkg --geninteg для вычисления контрольных сумм. Подробнее см. обсуждение на форуме.

Контрольные суммы также можно получить посредством команды sha256sum , после чего полученные значения следует вручную добавить к массиву sha256sums в файле PKGBUILD .

Применение других алгоритмов сжатия

Создание и установку пакета можно ускорить, заплатив за это увеличением размера. Для этого нужно изменить переменную PKGEXT . Например, следующая команда создаст пакет в виде несжатого архива, вследствие чего не нужно будет выполнять его декомпрессию при установке:

Другой пример, с использованием алгоритма сжатия lzop (необходим пакет lzop ):

Чтобы сделать одну из этих настроек постоянной, нужно установить соответствующее значение PKGEXT в /etc/makepkg.conf .

Использование нескольких ядер при сжатии

xz поддерживает симметричную многопроцессорность (SMP) посредством флага --threads для ускорения сжатия. Например, чтобы разрешить makepkg использовать все имеющиеся в наличии ядра CPU, отредактируйте массив COMPRESSXZ в /etc/makepkg.conf :

pigz — параллельная реализация gzip , по умолчанию использует все доступные ядра CPU. Если необходимо задействовать меньшее количество ядер, то используется флаг -p/--processes :

zstd поддерживает симметричную многопроцессорность (SMP) посредством флага --threads для ускорения сжатия. Например, чтобы разрешить makepkg использовать все имеющиеся в наличии ядра CPU, отредактируйте массив COMPRESSZST в /etc/makepkg.conf :

Вывод списка пакетов по имени создателя

expac — программа для работы с базой данных pacman. Если необходимо вывести список всех установленных пакетов, создателем которых является создатель-пакета, выполните:

Команда для вывода списка пакетов, создатель которых указан в переменной PACKAGER файла /etc/makepkg.conf (покажет только пакеты из репозиториев, определенных в /etc/pacman.conf ):

Сборка 32-битных пакетов в 64-битной системе

Предварительно разблокируйте репозиторий multilib и установите группу пакетов multilib-devel .

Затем создайте 32-битный файл настроек

Решение проблем

Выбор каталога установки при сборке в QMake

QMake генерирует файл makefile , в котором для указания каталога установки используется переменная окружения INSTALL_ROOT . Например, вот как будет выглядеть функция package:

Обратите внимание, что Qmake тоже должен быть соответствующим образом настроен. К примеру, добавьте следующие строки в ваш .pro-файл.

WARNING: Package contains reference to $srcdir

Подобное предупреждение означает, что строковый литерал, указанный в переменных $srcdir или $pkgdir , каким-то образом оказался в одном или нескольких файлах вашего пакета [6].

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

Одной из причин появления этого предупреждения может быть использование в коде C/C++ макроса __FILE__ , который содержит полный путь к каталогу $srcdir .

makepkg не может загрузить зависимости через прокси

Чтобы makepkg мог работать через прокси, воспользуйтесь одним из советов ниже.

Параметр XferCommand в файле /etc/pacman.conf

Параметр XferCommand в файле /etc/pacman.conf позволяет настроить использование прокси. В этом параметре нужно указать URL прокси-сервера. Добавьте или раскомментируйте следующую строку:

Параметр env_keep в файле /etc/sudoers

makepkg не работает, но make завершается успешно

Если удаётся скомпилировать пакет командой make, но не получается — командой makepkg, причиной могут быть переменные компиляции в файле /etc/makepkg.conf . Попробуйте добавить следующие флаги к параметру options файла PKGBUILD :

!buildflags , для отключения значений по умолчанию CPPFLAGS , CFLAGS , CXXFLAGS , и LDFLAGS .

!makeflags , для отключения MAKEFLAGS , если вы меняли /etc/makepkg.conf , чтобы разрешить параллельную сборку.

!debug , для отключения DEBUG_CFLAGS и DEBUG_CXXFLAGS , если вы собрали пакет для отладки.

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

Manjaro — самый популярный дистрибутив GNU/Linux, как минимум, в течение последних месяцев в рейтинге Distrowatch. Причин для этого более чем достаточно. В статье будет рассмотрен один из несомненных плюсов системы, который по удобству, качеству и простоте является одним из самых привлекательных для пользователей, — установка программ в Manjaro.

Стандартной средой рабочего стола в Manjaro является Xfce. Именно в ней мы опробуем два варианта установки ПО: графический и с помощью терминала.

Установка программ в Manjaro Linux

Manjaro имеет собственный список источников программного обеспечения, рядом с которым также работает репозиторий Arch (в том числе и пользовательский репозиторий AUR).

1. Установка пакетов Manjaro через графический интерфейс

По умолчанию система использует pamac в качестве менеджера управления программами, которая является графическим вариантом консольной утилиты pacman, о которой будет сказано позже. Он может работать одновременно со стандартным репозиторием и с AUR.

Чтобы запустить его, откройте меню Xfce → Настройки → Установка и удаление программ (или воспользуйтесь поиском).

Запуск Pamac

Pamac имеет схожий с подобными программами интерфейс, в котором есть возможность сортировать все программы по категориям, группам и т.д.

Pamac

Установленные программы имеют окрашенное зеленым цветом поле Состояние. Чтобы установить программу Manjaro, выберите необходимый фильтр ПО (например Категории). Укажите один из предложенных разделов:

Категория Графика


Укажите одну или несколько программ для установки, поставив галочку в поле Состояние → Применить.

Выбор программ для установки

При необходимости установить дополнительные зависимости ПО, pamac выдаст соответствующее окно с полным их перечнем → Далее.

Список зависимостей ПО

При первой попытке установки, за время работы pamac будет запрошен пароль пользователя. Введите его и нажмите Аутентифицировать.

Ввод пароля pamac

Начнётся инсталляция. Для просмотра подробностей установки нажмите кнопку Подробно.

Подробно

Установка завершена Pamac

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

Проверка после установки

Таким образом выбранные программы будут установлены в систему графически.

2. Установка пакетов с помощью pacman

Для инсталляции ПО в терминале используется утилита pacman. Этот метод подходит для тех, кто привык управлять установкой и удалением программ «вручную». В некоторых случаях этим способом получается совершать некоторые операции с ПО быстрее, чем в графическом варианте.

Главное отличие pacman от pamac в том, что первый не производит установку из AUR. Для этого используется утилита yaourt. Рассмотрим их по очереди.

Чтобы установить программу с помощью pacman, используйте следующую инструкцию:

sudo pacman -S NAME

  • sudo — выполнить команду от имени суперпользователя;
  • pacman — название управляющей утилиты;
  • -S — указание установить программу;
  • NAME — имя программы в том виде, в каком оно указано в репозитории.

Например, чтобы установить редактор vim, откройте меню Xfce → Настройки → Терминал Xfce.

Терминал Xfce

Введите команду установки и, при необходимости, подтвердите паролем.

sudo pacman -S vim

Обратите внимание, что по умолчанию ввод пароля не отображается на экране в целях безопасности.

Установка vim

Далее pacman предложит установить пакет в Manjaro, если его имя было введено правильно и он находится в репозитории. Чтобы подтвердить выбор, введите Y и нажмите Enter. Обратите внимание, что в данном случае регистр вводимой буквы не имеет особого значения: большая буква означает, что этот вариант будет выбран по умолчанию, если вы нажмете Enter без точного указания.

Подтверждение установки

Дождитесь, пока установка программы завершится и появится приглашение ввода новой команды.

Установка программы завершена Pacman

Таким образом будет установлен текстовый редактор vim.

3. Установка пакетов с помощью yaourt

Эта утилита используется для установки приложений из пользовательского репозитория ­— AUR. Но по умолчанию она не установлена, так как AUR нужно включить вручную. Для этого откройте pamac. В меню программы выберите Настройки.

Меню pamac

Во вкладе AUR включите его поддержку.

AUR

Закройте pamac. Для установки yaourt воспользуйтесь командой:

sudo pacman -S yaourt

Чтобы установить приложение из AUR, используйте такую инструкцию:

yaourt NAME

где NAME — имя устанавливаемой программы. Например, для установки программы skype введите команду:

Поскольку в AUR находится много пакетов, в названиях которых содержится skype, необходимо выбрать из списка тот, который необходим. В данном случае это пакет под номером 20. Введите его и нажмите Enter.

Выбор пакета AUR

Далее yaourt предупредит, что вы устанавливаете выбранную программу на свой страх и риск и предложит отредактировать файл PKGBUILD, являющийся инструкцией по сборке ПО из исходного кода. На это отвечайте отрицательно буквой N. Обратите внимание, что с этого момента момента ввод буквы не требует подтверждения. Затем отобразится список устанавливаемых пакетов. Подтвердите выбор с помощью буквы Y или нажатием Enter.

Отказ от PKGBUILD

Начнётся процесс скачивания и сборки пакетов. Когда программа будет готова к установке, появится соответствующий вопрос. Ответьте утвердительно.

Подтверждение yaourt

Запустится установка пакетов Manjaro, где будет показана итоговая информацию по изменению размера свободного места на диске. Подтвердите решение.

Установка программы Yaourt

После этого программа будет установлена на компьютер и отобразится в соответствующей категории.

Выводы

Установка программ в Manjaro возможна в двух вариантах: графическом и консольном. Отличительная особенность установки в терминале - использование разных утилит для инсталляции ПО из стандартных репозиториев и AUR (а именно — pacman и yaourt).

В качестве инструмента для архивации данных в Linux используются разные программы. Например архиватор Zip Linux, приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux — встроенный архиватор.

Изначально tar использовалась для архивации данных на ленточных устройствах. Но также она позволяет записывать вывод в файл, и этот способ стал широко применяться в Linux по своему назначению. Здесь будут рассмотрены самые распространенные варианты работы с этой утилитой.

Синтаксис команды tar

Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:

tar опции архив.tar файлы_для_архивации

Для его распаковки:

tar опции архив.tar

Функции, которые может выполнять команда:

Функция Длинный
формат
Описание
-A --concatenate Присоединить существующий архив к другому
-c --create Создать новый архив
-d --diff
--delete
Проверить различие между архивами
Удалить из существующего архива файл
-r --append Присоединить файлы к концу архива
-t --list Сформировать список содержимого архива
-u --update Обновить архив более новыми файлами с тем же именем
-x --extract Извлечь файлы из архива

При определении каждой функции используются параметры, которые регламентируют выполнение конкретных операций с tar-архивом:

А дальше рассмотрим примеры того, как может применяться команда tar Linux.

Как пользоваться tar

1. Создание архива tar

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:

tar --totals --create --verbose --file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar --totals -cvf archive.tar file1 file2 file3

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

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

Следующая команда выводит содержимое архива, не распаковывая его:

tar -tf archive.tar

Отображение архива

3. Распаковка архива tar Linux

Распаковывает архив test.tar с выводом файлов на экран:

tar -xvf archive.tar

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

Чтобы сделать это в другой каталог, можно воспользоваться параметром -C:

tar -C "Test" -xvf archive.tar

Распаковка в другой каталог

3. Работа со сжатыми архивами

Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:

tar -cjvf archive.tar.bz2 file1 file2 file3

Сжатие в bz2

Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:

tar -czvf archive.tar.gz file1 file2 file3

Сжатие в gz

При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:

tar -C "Test" -xjvf arhive.tar.bz2

Распаковка bz2

tar -xzvf archive.tar.gz

Распаковка gz

На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.

Выводы

В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.

Читайте также: