1.2. Средства архивирования в Unix‒системах
Мы уже отмечали, что наиболее удобным способом создания
архивных копий является использование специальных программ для
архивации файлов. Часть из них распространяется бесплатно, часть —
на коммерческой основе, но большинство программ такого рода
распространяются как «Shareware», т.е. они могут быть получены
бесплатно, но если вы хотите использовать их постоянно, то должны
выслать авторам или распространителям указанное вознаграждение.
Основным средством архивирования в Unix (а следовательно, и в
Linux) является комплекс из двух программ — tar (Tape Archiver) и
gzip. Хотя никто не запрещает
пользоваться другими средствами
архивирования и сжатия, например arj,
pkzip, lha,
rar и т.д., — версии
этих программ для Linux общедоступны. Просто исторически
сложилось так, что пользователи Unix чаще применяют именно tar и
gzip, и именно в таком формате распространяется большая часть
программного обеспечения для Unix.
Профессионалы в качестве базового средства архивирования в
Unix-системах используют команду tar и производят архивирование
через терминал (с принципами работы в терминальном режиме можно
познакомиться, например, в пособии В.Г. Буленка, Е.Г. Пьяных «ОС
Linux»).
Обобщенный формат команды —
$ tar [options] archiv_name [arguments],
где archiv_name — обязательный аргумент, указывающий на имя
архивного файла, с которым производятся действия, определяемые
главными опциями [2].
Формы указания опций для команды tar очень
разнообразны. Исторически первой была краткая форма без
предваряющего дефиса, что поддерживается и поныне. Однако в
текущих версиях команды в целях единообразия утверждена краткая
форма с предваряющим дефисом или дублирующая ее полная форма,
предваряемая двумя дефисами. Некоторые опции (например, --help —
получение справки об использовании команды) предусмотрены только в
полной форме. Получить описание всех опций tar можно, например,
командой man tar (команда
вводится в консоли). Man —
справочная
система. Подробно работа со справочной системой man описана в
пособии В.Г. Буленка, Е.Г. Пьяных «ОС Linux».
Еще раз отметим, что tar осуществляет архивирование файлов (он
не сжимает данные, а лишь объединяет их в единый файл с
последовательным доступом). Первоначально он использовался для
резервного копирования файлов. Теперь чаще используется для
архивирования набора файлов в один большой файл.
Для сжатия файлов традиционно используется gzip. Кроме того,
достаточно распространенной утилитой сжатия является bzip2. Он
сжимает большинство файлов более эффективно, чем gzip. Следует
отметить, что декомпрессия файлов происходит быстрее, кроме того,
активно ведутся работы по увеличению скорости сжатия. При
практическом применении bzip2
необходимо помнить, что он
осуществляет только сжатие данных, но не архивирование.
Чаще всего пользователям приходится работать со следующими
форматами архивов:
● .arj;
● .ear (архив Enterprise);
● .jar (архив Java);
● .rar (RAR архив);
● .zip (PKZIP или WinZip архив);
● .tar.bz или .tbz (архив Tar, сжатый с помощью bzip);
● .tar.bz2 или .tbz2 (архив Tar, сжатый с помощью bzip2);
● .tar.gz или .tgz (архив Tar, сжатый с помощью gzip);
● .tar.Z или .taz (архив Tar, сжатый с помощью compress);
● .war (веб архив);
● .7z (7-Zip архив) и др.
В отличие от операционной системы Windows в Linux
применяются сдвоенные форматы типа .tar.bz,
.tar.Z и т.п. Происходит
это потому, что функции архивирования и сжатия разделены между
разными утилитами. Например, tar
осуществляет только
архивирование, а bzip − только
сжатие. Это соответствует общей
идеологии Linux, когда каждая утилита выполняет только одну простую
задачу. Подводя итог сказанному, отметим, что у пользователя есть
возможность проводить отдельно сжатие информации, архивирование
либо совмещать эти процессы.