Архивация…

Архивация…

Для пользователя Windows, привыкшего к программам типа Zip/WinZip и Rar/WinRar, архивация и компрессия неразрывны, как лошади в упряжке. Однако это — вполне разные действия.

Архивация — это сборка группы файлов или каталогов в единый файл, содержащий не только данные файлов-источников, но и информацию о них — имена файлов и каталогов, к которым они приписаны, атрибуты принадлежности, доступа и времени, что позволяет восстановить как данные, так и их структуру из архива в первозданном виде. Компрессия же предназначена исключительно для уменьшения объёма, занимаемого файлами на диске (или ином носителе).

Для архивации и компрессии предназначены самостоятельные команды. Хотя архивацию и компрессию можно объединить в одной конструкции или представить так, будто они выполняются как бы в едином процессе.

Традиционное и самое распространённое средство архивации в Unix-системах — утилита tar. Обобщенный формат ее таков:

$ tar [options] archiv_name [arguments]

где archiv_name — обязательный аргумент, указывающий на имя архивного файла, с которым производятся действия, определяемые главными опциями. Формы указания опций для команды tar очень разнообразны. Исторически первой была краткая форма без предваряющего дефиса, что поддерживается и поныне. Однако в текущих версиях команды в целях единообразия утверждена краткая форма с предваряющим дефисом или дублирующая ее полная форма, предваряемая двумя дефисами. Некоторые опции (например --help — получение справки об использовании команды) предусмотрены только в полной форме.

Главные опции и указывают на то, какие действия следует выполнить над архивом в целом:

   • создание архива (опция c, -c или --create);

   • просмотр содержимого существующего архива (опция t, -t или --list);

   • распаковка архива (опция x, -x, --extract или --get).

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

   • r (или --append) - добавление новых файлов в конец архива;

   • u (или --update) - обновление архива с добавлением не только новых, но и модифицированных (с меньшим значением атрибута mtime) файлов;

   • -A (--catenate или --concatenate) - присоединение одного архива к другому;

   • --delete - удаление именованных файлов из архива;

   • --compare - сравнение архива с его источниками в файловой системе.

Прочие (очень многочисленные) опции можно отнести в разряд дополнительных — они определяют условия выполнения основных функций команды. Однако одна из таких дополнительных опций — f (-f или --file), значение которой — имя файла (в том числе файла устройства, и не обязательно на локальной машине), также является практически обязательной. Дело в том, что команда tar (от tape archiv) изначально создавалась для прямого резервного копирования на стриммерную ленту, и именно это устройство подразумевается в качестве целевого по умолчанию. Так что если это не так (а в нынешних условиях — не так почти наверняка), имя архивного файла в качестве значения опции f следует указывать явно.

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

$ tar cf arch_name.tar file1 ... file#

Если задать дополнительную опцию v, ход процесса будет отображаться на экране — это целесообразно, и в дальнейших примерах эта опция будет использоваться постоянно.

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

$ tar cvf arch_name.tar *

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

$ tar cvf arch_name.tar dir

каталог dir будет упакован с полным сохранением его структуры.

С помощью команды

$ tar xvf arch_name.tar

будет выполнена обратная процедура — распаковка заархивированных файлов в текущий каталог. Если при архивировании в качестве аргумента было указано имя каталога, а не набора файлов (пусть даже в виде шаблона) - этот каталог будет восстановлен в виде корневого для всех разархивируемых файлов.

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

$ tar xvf arch_name.tar filename

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

$ tar tf arch_name.tar

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

dir2/

dir2/file1

example

new

newfile

tee.png

При втором способе архивации мы увидим на выводе нечто вроде

dir1/

dir1/example

dir1/new

dir1/newfile

dir1/tee.png

dir1/dir2/

dir1/dir2/file1

В данном примере опция v была опущена. Включение ее приведет к тому, что список файлов будет выведен в длинном формате, подобном выводу команды ls -l:

drwxr-xr-x alv/alv      0 10 май 11:03 2002 dir2/

-rw-r--r-- alv/alv      0 10 май 11:03 2002 dir2/file1

...

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

Здесь уместно добавить пару слов об утилите ar, предназначенной для создания архивов, их модификации, частичной экстракции из них файлов и полного развёртывания. Подобно tar, это — чистый архиватор, не выполняющий никакой компрессии. И, насколько я знаю, практически не используемый для архивирования данных, в частности, для резервного копирования. Но исторически сложилось так, что именно утилитой ar в конечном счёте упаковываются компоненты пакетов deb-формата, используемого в Mint (и многих других дистрибутивах).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Архивация данных и восстановление системы

Из книги Мобильный интернет автора Леонтьев Виталий Петрович

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


Глава 19 Архивация данных

Из книги Работа на ноутбуке автора Садовский Алексей

Глава 19 Архивация данных • Архивация средствами Windows• WinRAR• 7-ZipВзаимодействуя с компьютером, вы так или иначе работаете с файлами. Их приходится открывать, просматривать, изменять, копировать, перемещать, создавать и т. д. При этом часто требуется переносить файлы с


Архивация средствами Windows

Из книги Удаленная работа на компьютере: как работать из дома комфортно и эффективно автора Клименко Роман Александрович

Архивация средствами Windows Сегодня встроенные средства архивации имеет практически каждая операционная система. В операционных системах семейства Unix широко распространены производные от ZIP форматы: TGZ, BZip2, а также сам ZIP. В Windows поддерживается только ZIP, чего, впрочем,


1.3. Архивация данных

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

1.3. Архивация данных Синхронизация данных и архивация данных – настолько родственные процессы, что практически все программы архивации данных содержат и возможности синхронизации данных. Архивация данных – это один из тех загадочных механизмов, о которых вспоминают


Урок 4.3. Архивация файлов

Из книги Windows Vista без напряга автора Жвалевский Андрей Валентинович

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


Для чего нужна архивация

Из книги Windows Vista автора Вавилов Сергей

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


Архивация и восстановление файлов

Из книги Принцип Касперского [Телохранитель Интернета] автора Дорофеев Владислав Юрьевич

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


Архивация и восстановление файлов. Создание архивного образа компьютера Complete PC

Из книги Домашний компьютер автора Кравцов Роман

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


Архивация и восстановление

Из книги автора

Архивация и восстановление Любая серьезная операционная система должна иметь механизмы, с помощью которых можно быстро архивировать и восстанавливать данные или состояние операционной системы. Такие инструменты, конечно же, есть и в Windows 7.С помощью механизма


Глава 18 Архивация данных и создание образа системы

Из книги автора

Глава 18 Архивация данных и создание образа системы 18.1. Архивация данных18.2. Создание образа системыТеоретически операционная система может работать долго и без сбоев, самостоятельно блокируя и решая проблемы со сбоями, программной и аппаратной несовместимостью. Для


18.1. Архивация данных

Из книги автора

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