Установка файлов формата tar.gz в ubuntu

Синтаксис

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

Утилита, которая применяется для создания и извлечения различных типов файлов, ничем не отличается от классических архиваторов. Синтаксис команд весьма прост.

Рассмотрим синтаксис.

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

Распаковка:

Утилита отличается хорошей производительностью и функциональностью. Существует определенный список опций, которые поддерживает эта команда:

  • «-А». Присоединение имеющегося архива к стороннему архиву.
  • «-с». Создание нового сжатого файла.
  • «-d». Определение отличий между двумя определенными архивами, удаление документов.
  • «-r». Присоединение файлов к архиву. Они располагаются в конце.
  • «-t». Формирование перечня содержимого в архиве.
  • «-u». Обновление архивных данных, дополнение данными с аналогичными именами.
  • «-х». Извлечение требуемых документов из архива.

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

  • «-С» (—directory=DIR). Изменение адреса каталога перед проведением мероприятий на dir.
  • «-f» (—file). Вывод результата в определённый файл или на конкретное устройство.
  • «-j» (—bzip2). Перенаправление вывода информации к bzip2.
  • «-p» (—same-permissions). Сохранение доступности относительно определенного документа.
  • «-v». (—verbose; —totals). Вывод подробных данных о совершаемых или уже завершенных процессах.
  • «-z». (—gzip). Перенаправление вывода на gzip.

Создание

Для первого примера, создадим новый архив newarhiv.tar из одного документа /root/catalog/test.

С помощью команды cd зайдем в директорию /root/catalog.

Далее будем использовать функцию «-c» создание нового архива, параметр «-v» вывод подробной информации, «-f» результат записать в документ.

Здесь:

  • «-cvf» — функция и опции.
  • «newarhiv.tar» — название нового сжатого документа.
  • «test» — название файла, который нужно запаковать.

Если требуется запаковать несколько документов, то будет выглядеть так:

test2 test3

Запакуем tar.gz все файлы в каталоге «/root/catalog» . Для этого необходимо использовать аргумент «-z» (gzip).

tar/bz2

Файлы в формате bz2 сжимаются лучше, чем gz, соответственно занимают меньше места.

Запакуем документ «newfile» в каталоге «/root/primercataloga» в формате bz2. Для этого будем использовать аргумент «-j»

Просмотр

Откроем newarhiv.tar для просмотра. Для этого, необходимо использовать аргумент «-t».

 Просмотр tar.gz

Откроем oldfile.tar.gz для просмотра. Синтаксис команды тот же, что и при открытии простого «.tar».

Просмотр bz2

Откроем документ oldfile.tar.bz2.

Распаковка

Для извлечения определенного файлового архива потребуется использование функции «х». Извлечем документ newarhiv.

Разархивируем единичный файл

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

Для примера, требуется распаковать файл test из архива arhiv.tar.

Извлекаем отдельный документ tar.gz

Представим для примера, что требуется распаковать index.php из site.tar.bz2. Для этого стоит указать в командной строке:

Другие менеджеры пакетов в вашем дистрибутиве:

Arch Linux и производные используют менеджер пакетов с именем Кличко. Он был создан Джаддом Винетом и способен автоматически разрешать зависимости. Чтобы установить пакет с этим менеджером:

pacman –S nombre_paquete

Волок — еще один замечательный менеджер пакетов, например Gentoo. Он имеет сходство с портами BSD и совместим с POSIX и средой Python. Он также используется FreeBSD. Чтобы установить с ним пакет:

emerge nombre_paquete

Палдо Это операционная система ядра Linux, использующая диспетчер пакетов upkg. Он был создан Jürg Billeter, и для установки программ в Linux с его помощью вы должны написать:

upkg-install nombre_paquete

В дистрибутиве Pardus Linux используется простой менеджер пакетов, написанный на Python и известный как ПиСи. Он использует LZMA и XZ для сжатия пакетов, и, прежде всего, поразительна технология Delta, которая позволяет загружать только различия между пакетами для экономии полосы пропускания. Установить так:

pisi install nombre_paquete

Тест на эффективность: Tar vs Zip vs Gz

Здесь я сравниваю эффективность сжатия. Я учитываю только сэкономленное пространство, без учёта затраченного времени. Как правило, чем эффективней алгоритм сжатия, тем больше ресурсов ЦП он требует.

Чтобы сравнить эффективность алгоритмов, я использовал файлы в популярных форматах размером около 100Mb. В таблице результаты, которые я получил в системе Debian Stretch (все размеры я узнал командой du -sh):

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

Как уже упоминалось, файлы .odt сами по себе являются zip файлами. Поэтому результат их повторного сжатия был предсказуем (за исключением bzip2 и xz, я бы назвал это статистической аномалией, вызванной низкой неоднородностью моих файлов, содержащих несколько резервных копий или рабочих версий одних и тех же документов).

Что касается .jpg, .mp3 и .mp4 — это форматы, которые уже содержат сжатые данные. Более того, они используют деструктивное сжатие. Другими словами, вы не сможете полностью восстановить изображение после JPEG компрессии. Но вот что менее известно, так это то, что после фазы деструктивного сжатия, данные сжимаются во второй раз с использованием сжатия без потерь, для удаления избыточности данных, алгоритмом переменной длины слова Хаффмана.

Поэтому было предсказуемо, что сжатие JPEG, MP3/MP4 файлов не даст впечатляющих результатов

Обратите внимание, что обычный файл содержит, как сильно сжатые данные, так и не сжатые метаданные, поэтому мы можем ещё чего-то добиться. Это объясняет заметный результат для JPEG, так как их было много

Т.е. размер метаданных был существенным относительно общего размера файлов. Впечатляющие результаты показало сжатие MP4 с использованием xz. Вероятно, это связано с высоким сходством между файлами MP4, которые я использовал для тестов. Или нет?

Чтобы развеять сомнения, я рекомендую вам провести собственные тесты.

Перевод статьи Sylvain Leroux: Tar Vs Zip Vs Gz : Difference And Efficiency

Примеры

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

tar -xvzf archive.tar.gzip

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

Распаковывается, как 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 —exclude=’sess_*’ -czvf archive.tar.gz /wwwsite

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

Также можно исключить несколько файлов или папок, добавляя несколько опций exclude:

tar —exclude=’/data/recycle’ —exclude=’*.tmp’ zcf /backup/samba/2021-08-29.tar.gz /data/

* в данном примере мы исключим папку recycle и файлы, которые заканчиваются на .tmp

Работа с архивами, разбитыми на части

Разбить архив на части может понадобиться по разным причинам — нехватка места на носителе, необходимость отправки файлов по почте и так далее.

Чтобы создать архив, разбитый на части, вводим команду:

tar -zcvf — /root | split -b 100M — root_home.tar.gz

* данная команда создаст архив каталога /root и разобьет его на части по 100 Мб.

В итоге мы получим, примерно, такую картину:

root_home.tar.gzaa  root_home.tar.gzac  root_home.tar.gzae
root_home.tar.gzag  root_home.tar.gzai  root_home.tar.gzab
root_home.tar.gzad  root_home.tar.gzaf  root_home.tar.gzah

Чтобы собрать архив и восстановить его, вводим команду:

cat root_home.tar.gz* | tar -zxv

Извлечь один файл

TAR позволяет извлекать одиночные файлы из архива, вы всего лишь должны указать в конце командной строки имя файла. Но тут есть одна странность, точнее то, что пользователи Windows не понимают. Имя файла — это не имя файла самого, а имя плюч весь путь от начала иерархии. Иными словами, если файл с именем «file_1» лежит прямо в корне иерархии, то проблем никаких, а вот если вообразить, что файл лежит в папке, скажем «test», то имя его «test/file_1». Это нужно, чтобы tar в момент распаковки смог правильно воссоздать структуру папок, ведь в архиве никаких папок нет, все файлы идут друг за другом — вспоминайте вывод hexdump. Приведем пример как, используя наш архив test.tar извлечь из него всего один файл file_1

Теперь давайте создадим новый архив, но сначала положим наши два файла в папку

И попробуем извлечь файл file_1

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

Предсказуемо tar создал папку test и распаковал наш файл в нее. Но что, если мы забыли правильный путь? Конечно, можно попросить tar показать нам список файлов

Ключ «-t» или «—list» при указании имени архива через ключ «-f» или «—file» заставляет tar вывести список файлов. А если этот список большой и не удобный? Как нам распаковать один файл просто зная его имя? Ключ «—no-anchored» приходит на помощь. Он выключает интерпретацию путей

Файлы также можно извлекать и по маске. Например мы хотим извлечь все файлы, имена которых начинаются с букв «file_». Ключ —wildcards позволяет включать в имена файлов звездочки

Ну и в завершение истории о распаковке представляем вам ключ «—strip» который позволяет отбросить родительские папки. Он может пригодиться, когда вы не хотите, чтобы tar воссоздавал иерархию папок

Как распаковать файл GZ на Windows

Windows 10 даёт разные способы распаковать файлы GZ. Если вы предпочитаете пользоваться командами, можно задействовать командную строку. Если вам больше нравится графический пользовательский интерфейс, есть приложения сторонних разработчиков для доступа к архивам GZ.

Как распаковать файл GZ при помощи командной строки

Существует команда tar, которую можно задействовать в командной строке для распаковки архива GZ. Данная команда встроена в операционную систему, поэтому не нужно ничего устанавливать.

Когда у вас есть файл GZ, сделайте для его распаковки следующее:

  1. Откройте меню «Пуск», введите cmd, правой кнопкой нажмите на приложение «Командная строка» и выберите «Запуск от имени администратора».
  2. Нажмите «Да».
  3. Введите следующую команду, заменив SOURCE на название вашего файла GZ, а DESTINATION на путь к папке, куда должны сохранить распакованные файлы:
tar -xvzf SOURCE -C DESTINATION
  1. Если всё сделано правильно, распакованные файлы будут в указанной вами папке.

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

Как распаковать файл GZ при помощи приложения

Есть много бесплатных программ для распаковки файлов GZ на компьютере. Неплохим выбором является программа 7-Zip. Она простая и с открытым исходным кодом.

  1. Скачайте и установите 7-Zip на компьютер.
  2. Откройте программу и укажите путь к вашему файлу GZ.
  3. Выберите файл в списке и нажмите «Извлечь» на панели задач наверху.
  4. Выберите папку для сохранения извлечённых файлов.
  5. При желании измените другие параметры, затем нажмите OK.
  6. Откройте папку и получите доступ к файлам из архива GZ.

Как установить tar.gz — архив или программу

В среде Linux, и в частности в Ubuntu, многие файлы и программы иногда поставляются в качестве архивов tar.gz. Это могут быть приложения, пакеты обновлений или же просто исполняемые файлы. Поэтому все дальнейшее описание будет приведено для операционной системы Ubuntu. Чтобы понять, как установить в Ubuntu tar.gz архив, можно для примера взять любую программу, которая поставляется с исходным кодом.

К примеру, можно скачать приложение hello, загрузка которого есть в открытом доступе. Этот продукт выполняет одну простую функцию — приветствует мир в лучших традициях первых уроков любого языка программирования. Среди представленных по адресу версий лучше выбрать посвежее.

Итак, файл скачан, но как установить tar.gz? Очень просто. В операционных системах типа Ubuntu нужно использовать терминал. Вызвать его можно сочетанием клавиш Ctrl+Alt+t. Его окно выглядит примерно так:

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

После ввода команды нажимается клавиша Enter, которая отправляет её на исполнение. Теперь терминал находится в одной папке со скачанным архивом hello-2.10.tar.gz. Вводится команда tar zxvf hello-2.10.tar.gz. Её результатом будет вывод на консоль списка всех распакованных файлов.

Теперь задача подходит к главному пункту в вопросе о том, как установить в Ubuntu tar.gz архив, — подготовке и компиляции.

Что такое файлы TAR?

Аббревиатура tar предназначена для иллюстрации того, что отдельные файлы GZIP были сжаты настолько широко и максимально плотно, насколько это возможно. Упакованный файл может заканчиваться на .tar.gz и .tar.bz2. Иногда используется двойное окончание — .tar.gz. ZIP, который был разработан для слияния и сжатия, но оказался более мощным и поэтому в значительной степени подавляет файл .tar.

Как можно догадаться по двойному расширению формата, состоящему из двух файлов, это фактически два в одном. TAR объединяет несколько объектов данных в один пакет под систему Windows. Это полезно, если, например, необходимо отправить несколько документов, изображений или предложить их для загрузки.

Расширения в формате .tar в основном предназначены для операционной системы Linux. В мире Windows они довольно необычны и редко встречаются. По этой причине система не может открыть эти файлы без дополнительного программного обеспечения.

Программа для открытия файлов TAR в системе Windows

Особенно популярным и удобным программным обеспечением для распаковки и открытия файлов .tar.gz и .tar.bz2 в Windows является WinRAR.

Winrar признана классикой среди упаковочного ПО и может быть загружена в тестовой версии с сайта производителя WindowsRAR.ru. С ней файлы в системах Windows могут сжиматься намного эффективнее, чем с форматами ZIP. Лучшая и самая важная функция WinRAR понятна и отлично выполняется упаковщиком: экономит место на диске, время передачи. В дополнение к основной задаче, программное обеспечение предлагает множество других инструментов при архивировании файлов.

Главное преимущество WinRaR заключается в том, что она распознает двойные файлы и распаковывает их непосредственно за один шаг. Даже если вы дважды откроете .tar.gz и .tar.bz2, вы сможете напрямую просмотреть отдельные папки, упакованные в него с помощью архиватора. Это особенно удобно и стоит запомнить, поскольку на самом деле в формате .bz есть только один файл .TAR. Только в нем находятся отдельные оригинальные файлы.

Программа для открытия TAR файлов используется в пробной версии бесплатно в течение 40 дней. Далее производитель предложит вам купить лицензию.

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

Вам нужно установить пакет с именем build-essential для создания пакета из исходного кода и проверить установку, чтобы добавить его в менеджер пакетов для легкого удаления. Это можно сделать быстро через консоль, просто откройте Терминал ( Приложения , Аксессуары , Терминал ) и введите:

  sudo apt-get install build-essential checkinstall 

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

  sudo apt-get установить subversion git-core mercurial 

Далее вы захотите использовать общий каталог для сборки этих пакетов. Технически вы можете поместить это где угодно, если это доступно для записи. Официальная документация Ubuntu рекомендует

  / USR / местные / SRC 

поэтому мы будем придерживаться этого:

  sudo chown $ USER / usr / local / src 

Затем убедитесь, что это доступно для записи:

  sudo chmod u + rwx / usr / local / src 

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

  sudo apt-get установить apt-файл 

Вы, вероятно, получите всплывающее окно с сообщением о необходимости обновления apt-файла, если не выполните следующую команду и дайте ей закончить:

  обновление sudo apt-файла 

После того, как вы это сделаете, вам больше никогда не понадобится делать это снова, так как ваша система будет готова к любым архивам, которые вы на него наметите.

СЖАТИЕ АРХИВОВ В LINUX

Как создать архив в linux рассмотрели. Теперь давайте поговорим о сжатии. Как я говорил, для сжатия используются специальные утилиты. Рассмотрим кратко несколько из них

GZIP

Чаще всего применяется Gzip. Это стандартная утилита сжатия в Unix/Linux. Для декомпрессии используется gunzip или gzip -d Сначала рассмотрим ее синтаксис:

$ gzip опции файл

$ gunzip опции файл

Теперь разберем опции:

  • -c — выводить архив в стандартный вывод
  • -d — распаковать
  • -f — принудительно распаковывать или сжимать
  • -l — показать информацию об архиве
  • -r — рекурсивно перебирать каталоги
  • -0 — минимальный уровень сжатия
  • -9 — максимальный уровень сжатия

Примеры использования вы уже видели в описании утилиты tar. Например, выполним сжатие файла:

А теперь распакуем:

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

BZIP

bzip2 — еще одна альтернативная утилита сжатия для Linux. Она более эффективная чем gzip, но работает медленнее. Для распаковки используйте утилиту bunzip2.

Описывать опции bzip2 я не буду, они аналогичны gzip. Чтобы создать архив в Linux используйте:

В текущем каталоге будет создан файл file.bz2

LZMA

Новый и высокоэффективный алгоритм сжатия. Синтаксис и опции тоже похожи на Gzip. Для распаковки используйте unlzma.

ZIP

Кроссплатформенная утилита для создания сжатых архивов формата zip. Совместимая с Windows реализациями этого алгоритма. Zip архивы очень часто используются для обмена файлами в интернете. С помощью этой утилиты можно сжимать как файлы, так и сжать папку linux.

Синтаксис утилиты:

$ zip опции файлы

$ unzip опции архив

Опции утилиты:

  • -d удалить файл из архива
  • -r — рекурсивно обходить каталоги
  • -0 — только архивировать, без сжатия
  • -9 — наилучший степень сжатия
  • -F — исправить zip файл
  • -e — шифровать файлы

Чтобы создать Zip архив в Linux используйте:

А для распаковки:

Как видите архивирование zip в Linux не сильно отличается от других форматов.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
IP-файл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: