2. Сохранность данных в UNIX

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

2.1. Архивирование

Архивирование - tar

Команда tar предназначена для создания архивов на магнитной ленте, а также в файлах. Признак tar-архива: расширение файла ".tar" или буква "t" в расширении ".tgz". На профессиональном слэнге файл с tar-архивом часто называется tarball. Примеры работы с tar следуют ниже.

создать архив arh.tar, поместив в него файл b.txt и каталог prog со всеми его файлами и подкаталогами:

%tar cvf arh.tar b.txt prog

%rm -rf prog b.txt

вывести оглавление архива arh.tar:

%tar tvf arh.tar

извлечь файл prog/a.c из архива arh.tar (создается каталог prog {если его не было} и в него записывается файл a.c из архива):

%tar xvf arh.tar prog/a.c   

%ls -al prog

извлечь все файлы из архива arh.tar:

%tar xvf arh.tar 

%ls -l b.txt. prog

добавить файл uran к архиву:

%tar uvf arh.tar uran 

%tar tvf arh.tar

2.2. Сжатие

Сжатие - gzip, compress, zip,bzip

Наиболее широко используемым компрессором файлов под Unix является утилита gzip (обратная ей утилита - gunzip). Эти утилиты обязательно входят в поставку операционной системы. Признак файла, сжатого програмой gzip - расширение ".gz" или ".tgz" (tar+gzip).

Формат команды

%gzip file

%gunzip file.gz

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

С ОС Unix поставляется стандартный компрессор compress (uncompress). Работа с этими утилитами аналогична работе с gzip (gunzip), но используется расширение ".Z"

Для ОС Unix также имеются программы zip и unzip, которые работают аналогично DOS-версиям, в том числе, в дополнение к сжатию, производят архивирование и распаковку архивов. Формат архивов совместим с форматом DOS pkzip и WinZip. (Для DOS/Windows также уже написаны утилиты gz и tar.)

Формат команды

%zip file.zip список_файлов

%gunzip file.zip
%gunzip file.zip список_файлов

Для более подробной информации обо всех утилитах см. справочник man.. Используя man самостоятельно изучите утилиту bzip(необязательная компонента при установке Linux) и выполните с её помощью указанные выше задания.

%cp b.txt Z.txt
%cp b.txt gz.txt
%cp b.txt zip.txt

%gzip gz.txt
%compress Z.txt
%zip zip.txt.zip zip.txt

%ls -l *txt*

Сравните степень компрессии.

2.3. Архивирование и Сжатие

Совместное использование tar с gztip и compress,

У команды tar имеются две опции, позволяющие после(перед) архивирования(разархивированием) выполнить сжатие(распаковку) файлов. В случае опции -z архив пропускается через фильтр gzip, а с опцией -Z через фильтр compress. Для упакованного таким образом архива используется стандартное расширение .tgz.

Выполнить задания все задания пункта 2.1 в режиме архивирования и сжатия с различными упаковщиками. Сравнить размеры архивов при использовании разных упаковщиков.


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



Справочная таблица по быстрой распаковке архивов

Вид файла Действия
file.tar tar xvf file.tar
file.gz gunzip file.gz
file.tar.gz gunzip -c file.tar.gz | tar xvf -
file.tgz gunzip -c file.tgz | tar xvf -
file.Z uncompress file.Z
file.taz gunzip -c file.taz | tar xvf -
file.tar.Z uncompress -c file.tar.Z | tar xvf -
file.zip unzip file.zip





Завершите сеанс работы - exit.