Архивация файлов

Архивация данных, программы архиваторы.

Содержание

  1. Введение.
  2. Программы архивации
  3. Архиваторы MS DOS.
  4. PKZIP
  5. ARJ
  6. RAR
  7. Технические характеристики
  8. Описание команд
  9. Описание ключей
  10. Работа с архивами
  11. Непрерывные (solid) архивы.
  12. Архиваторы WINDOWS.
  13. WinRAR 2.5
  14. WinZip 7.0
  15. Список литературы

 

 

 

Введение

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

Для сохранения информации можно конечно её дублировать, однако при этом копии занимают столько же места, сколько занимают исходные файлы, и для копирования нужных файлов может потребоваться много дискет. Например, для копирования файлов с жесткого диска емкостью 1,2 Гбайт необходимо 854 дискеты емкостью по 1,44 Мбайт. В таком большом количестве дискет даже разобраться довольно трудно, поэтому трудоемкость создания и обновления копии будет весьма значительной.

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

Принято различать архивацию и упаковку (компрессию, сжатие) данных. В первом случае речь идет о слиянии нескольких файлов и даже каталогов в единый файл — архив (примером использования такой технологии в чистом виде может служить формат TAR). Во втором — о сокращении объема исходных файлов путем устранения избыточности (в данной работе рассматривается упаковка без потерь информации, т. е. с возможностью точного восстановления исходных файлов). Как правило, современные архиваторы обеспечивают также сжатие данных, являясь, таким образом, еще и упаковщиками, однако существуют и чисто «упаковочные» утилиты типа Gzip, сжимающие отдельные файлы, преобразуя их в формат Z или GZ.

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

Программы архивации

Различными разработчиками были созданы специальные программы для архивации файлов. Часть из них распространяется бесплатно, часть — на коммерческой основе (за плату), но большинство программ такого рода распространяются как “Shareware”. т.е. они могут быть получены бесплатно, но если Вы хотите их использовать постоянно, то должны выслать авторам или распространителям указанное (обычно небольшое, до 50 дол.) вознаграждение.

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

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

Принцип работы архиваторов основан на поиске в файле "избыточной" информации и последующем ее кодировании с целью получения минимального объема. Самым известным методом архивации файлов является сжатие последовательностей одинаковых символов. Например, внутри вашего файла находятся последовательности байтов, которые часто повторяются. Вместо того, чтобы хранить каждый байт, фиксируется количество повторяемых символов и их позиция. Например, архивируемый файл занимает 15 байт и состоит из следующих символов:

B B B B B L L L L L A A A A A

В шестнадцатеричной системе

42 42 42 42 42 4C 4C 4C 4C 4C 41 41 41 41 41

Архиватор может представить этот файл в следующем виде (шестнадцатеричном):

01 05 42 06 05 4C 0A 05 41

Это значит: с первой позиции пять раз повторяется символ "B", с позиции 6 пять раз повторяется символ "L" и с позиции 11 пять раз повторяется символ "A". Для хранения файла в такой форме потребуется всего 9 байт, что на 6 байт меньше исходного.

Описанный метод является простым и очень эффективным способом сжатия файлов. Однако он не обеспечивает большой экономии объема, если обрабатываемый текст содержит небольшое количество последовательностей повторяющихся символов. Более изощренный метод сжатия данных, используемый в том или ином виде практически любым архиватором, - это так называемый оптимальный префиксный код и, в частности, кодирование символами переменной длины (алгоритм Хаффмана). Код переменной длины позволяет записывать наиболее часто встречающиеся символы и группы символов всего лишь несколькими битами, в то время как редкие символы и фразы будут записаны более длинными битовыми строками. Например, в любом английском тексте буква E встречается чаще, чем Z, а X и Q относятся к наименее встречающимся. Таким образом, используя специальную таблицу соответствия, можно закодировать каждую букву Е меньшим числом бит и использовать более длинный код для более редких букв.

Популярные архиваторы ARJ, PAK, PKZIP работают на основе алгоритма Лемпела-Зива. Эти архиваторы классифицируются как адаптивные словарные кодировщики, в которых текстовые строки заменяются указателями на идентичные им строки, встречающиеся ранее в тексте. Например, все слова какой-нибудь книги могут быть представлены в виде номеров страниц и номеров строк некоторого словаря. Важнейшей отличительной чертой этого алгоритма является использование грамматического разбора предшествующего текста с расположением его на фразы, которые записываются в словарь. Указатели позволяют сделать ссылки на любую фразу в окне установленного размера, предшествующего текущей фразе. Если соответствие найдено, текущая фраза заменяется указателем на своего предыдущего двойника.

При архивации, как и при компрессировании, степень сжатия файлов сильно зависит от формата файла. Графические файлы типа TIFF и GIF уже заранее компрессированы (хотя существует разновидность формата TIFF и без компрессии) и здесь даже самый лучший архиватор мало чего найдет для упаковки. Совсем другая картина наблюдается при архивации текстовых файлов, файлов *.ВМР и им подобных.

Все программы для архивации условно можно разделить на две категории:

  • Для командной строки MS-DOS (ARJ, PKZIP, RAR и тд.)

  • Для ос WINDOWS (WINZIP, WINRAR и тд.)

Архивный файл.

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

  • имя файла;

  • сведения о каталоге, в котором содержится файл;

  • дата и время последней модификации файла;

  • размер файла на диске и в архиве;

  • код циклического контроля для каждого файла, используемый для проверки целостности архива;

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

      • game.rar – заархивирован при помощи архиватора RAR.

      • game.arj – заархивирован при помощи архиватора ARJ.

      • game.zip - заархивирован при помощи архиватора ZIP.

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

Архиваторы MS DOS.

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

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

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

Наиболее известные программы-архиваторы для MS-DOS: ARJ (разработчик - Robert K. Jung), PKZIP(компания PKWARE Inc.), IHA (Haruyasu Yoshizaki), ZOO (Rahul Dhesi). Безусловным лидером во всем мире за последние 5 лет стал архиватор RAR. В настоящее время RAR активно вытесняет ZIP как основную утилиту сжатия FTP архивов в сети INTERNET. RAR является единственной всемирно используемой программой, созданной русским программистом (за исключением TETRIS). Все архиваторы отличаются используемыми алгоритмами сжатия, форматами архивных файлов, скоростью работы и т.д.

PKZIP

Работает из командной строки. Различные функции по обслуживанию архивов zip

выполняются разными программами:

pkzip - помещение файлов в архив

pkunzip - извлечение файлов из архива

zip2exe - создание  самораспаковывающегося архива

pkzipfix - восстановление поврежденного архива.

Изучить справку по работе с архиватором pkzip с помощью команд:

pkzip /h

pkunzip /h

zip2exe /h

ARJ

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

Arj имеет очень большое число ключей. Можно автоматизировать много действий - создание резервной копии диска, архивирование начиная с какой-то даты, добавление к имени архива текущей даты (arh970821.arj), архивирование файла с конкретного места, несколько уровней сжатия и так далее. В версии 2.55 возможна работа с длинными именами.  
Достоинства: очень большое количество ключей, что дает возможность автоматизировать большое число функций. Защита архива от повреждений. 
Недостатки: отсутствие диалогового режима, некоторое неудобства работы при наличии какого-то ключа в переменной окружения (ARJ_SW) и строке запуска - взаимное уничтожение.

RAR

Введение

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

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

По своим техническим характеристикам RAR не уступает широко распространенным и популярным архиваторам, а по некоторым показателям превосходит их.

Технические характеристики

 Степень сжатия

На файлах типа .EXE, .COM, .LIB, .OBJ, .OVR и аналогичных им RAR как правило обеспечивает максимальную по сравнению с другими архиваторами степень сжатия, превосходя их примерно на 0.5 - 3%

На отдельных файлах (больших .LIB, некоторых других) выигрыш может достигать 5-7% от упакованного размера. Метод сжатия обычно существенно не влияет на результат.

Текстовая информация сжимается примерно на уровне других архиваторов (зависит от вида текста и метода сжатия) на файлах до 32 килобайт размером. На больших текстовых файлах RAR обычно превосходит большинство других архиваторов.

При упаковке файлов баз данных существенно влиять на размер и время работы может метод сжатия (m0 - m5).

Степень сжатия графической информации сильно зависит от рода файлов.

При создании непрерывного (solid) архива, содержащего много небольших однотипных файлов, степень сжатия на 10 - 40 % и более превосходит достигаемую при упаковке в обычный архив.

Описание команд

a: добавляет указанные файлы к архиву

m: переносит указанные файлы и подкаталоги в архив.

При успешном завершении упаковки все указанные файлы и подкаталоги удаляются с диска.

Удаление подкаталогов будет выполнено только если не использовался ключ -ed, а в качестве имени добавляемых файлов было указано *.* или имя подкаталога.

mf: переносит указанные файлы в архив.

При успешном завершении упаковки все указанные файлы удаляются с диска.

d: удаляет указанные файлы из архива

: извлекает указанные файлы из архива с восстановлением структуры подкаталогов (если при архивировании был указан ключ -r).

e: извлекает указанные файлы из архива в текущий подкаталог

v: просмотр содержимого архива.

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

Если необходимо просмотреть все архивные тома (volumes), то у имени архива вместо расширения ставится *.

Описание ключей

-? выводит экран помощи

-r может использоваться совместно с командами - a,u,f,m,x,e,t,p,v,l,c,cf,s.

При использовании с командами a,u,f,m приводит к добавлению к архиву всех указанных файлов в текущем и вложенных подкаталогах.

При использовании с командами x,e,t,p,v,l,c,cf,s приводит к обработке всех указанных архивов в текущем и вложенных подкаталогах.

-o+ при распаковке перезаписывать существующие файлы

-o- при распаковке не перезаписывать существующие файлы

-x<name> все файлы, с именами, соответствующими name, будут исключены из обработки

Работа с архивами

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

На экран выводится список файлов в архиве. По списку можно перемешаться с помощью клавиш управления курсором или мыши. Файлы можно помечать с помощью пробела или INS, или правой кнопки мыши, или пометить группу файлов, введя маску с помощью '+' или убрать метки с помощью '-'. Возможна пометка подкаталогов, при этом помеченными считаются все файлы во всех подкаталогах внутри него. Нажатие клавиши '*' изменяет пометку файлов и каталогов на противоположную.

В правой части экрана выдается информация о присутствии комментария, файлов с паролями, количестве, размере и степени сжатия файлов.

Опции:

ALT-C: цветной/черно-белый  режим

ALT-D: выбор текущего диска

ALT-W: установка подкаталога  для временных файлов

ALT-M: выбор метода упаковки

ALT-P: установка пароля

ALT-S: сохранить конфигурацию (см. ниже)

Функциональные клавиши соответствуют следующим функциям командной строки:

F1: помощь

F2: проверить содержимое  архива

F3: просмотреть файл (встроенный  или внешний viewer)

F4: извлечь файлы со  всеми подкаталогами

F5: добавить комментарии  к архиву

F6: извлечь файлы в текущий  подкаталог

F7: преобразовать архив  в SFX

F8: удалить файлы

F9: изменить/сохранить параметры

F10: возврат в режим  работы с файлами (ESC)

Alt-F3: просмотреть файл (viewer встроенный)

Alt-F4: извлечь файлы на  указанный диск и каталог

Alt-F5: cf ввести комментарии к отдельным файлам в архиве

Alt-F7: k защита архива от  модификации

При нажатии прочих клавиш осуществляется поиск файла по имени. С помощью Ctrl-Enter можно просмотреть все совпадения.

Файлы, защищенные паролем, отмечаются символом '*', который выводится перед именем.

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

Возможен ввод нескольких шаблонов. После ввода последнего из них нужно еще раз нажать Enter (ввести пустую строку).

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

В полноэкранном режиме поддерживается работа с "мышью". Для перемещения по подкаталогам и архивам используется левая кнопка мыши. Функцию ввода в этом случае выполняет двойное нажатие. Для пометки файлов используется правая кнопка. При вводе текста (имя архива, пароль) левая кнопка отменяет, а правая подтверждает ввод. Левая кнопка мыши используется для выбора команд (F1 - F10), пунктов меню и конфигурации.

Непрерывные (solid) архивы.

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

Чтобы получить непрерывный архив, необходимо в командной строке RAR при создании архива указать ключ -s:

rar a -s solid.rar

В непрерывном архиве при упаковке каждого файла (кроме первого) используется информация, содержащаяся в предыдущих файлах. По этой причине архивы такого типа нельзя модифицировать. Выигрыш в степени сжатия по сравнению с обычными архивами тем выше, чем меньше средний размер файла и больше их количество. Наиболее типичный выигрыш на больших пакетах программ от 2 до 15 %, но в отдельных случаях наблюдалось уменьшение размера архива (по сравнению с созданным обычным методом) в 1.5 - 2 раза.

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

Основной недостаток предложенного метода в том, что для распаковки одного файла архиватору необходимо обработать все файлы, предшествующие данному (при этом выдается сообщение: Skipped <имя файла>). Поэтому непрерывные архивы удобнее всего использовать в том случае, когда предполагается распаковка сразу всего архива, например для поставки больших пакетов программ (в этом случае могут быть удобны непрерывные самораспаковывающиеся архивные тома).

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

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

Для повышения степени сжатия при добавлении к непрерывному архиву файлы сортируются по расширению.

Архиваторы WINDOWS.

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

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

WinRAR 2.5

Разработанная российским программистом Евгением Рошалем утилита WinRAR позволяет работать с ZIP-архивами, но основным форматом для нее является RAR (также разработка Рошаля). Кроме того, есть возможность создавать самораспаковывающиеся EXE-архивы, а также использовать внешние программы для распаковки и просмотра архивов типа ARJ, LZH и CAB. Программа создает многотомные архивы лишь в формате RAR.

Формат RAR превосходит ZIP, ARJ и LZH по эффективности сжатия, однако в наибольшей степени преимущество этой технологии проявляется в случае «непрерывных» архивов, которые не допускают внесение изменений и обрабатываются довольно медленно.

Дистрибутив WinRAR — EXE-файл объемом около 650 Кбайт, после инсталляции пакет занимает почти 1,5 Мбайт. Имеются версии архиватора на английском и русском языке.

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

Утилита Е. Рошаля компактна, удобна, в достаточной мере универсальна, ее цена не такая привлекательная, как у WinZip, но меньше, чем у других лидеров этого обзора — ZIP Explorer Pro и Zip Magic, так что для многих WinRAR может стать наилучшим выбором.

WinRAR - это 32-разрядная версия популярного архиватора RAR для Windows, мощного средства создания архивов и управления ими.

Возможности WinRAR:

  • полная поддержка архивов RAR и ZIP;

  • оригинальный высокоэффективный алгоритм сжатия данных;

  • специальный алгоритм мультимедиа-сжатия;

  • оболочка с поддержкой технологии перетащить – и - оставить (drag & drop);

  • интерфейс командной строки;

  • управление архивами других форматов (CAB, ARJ, LZH, TAR, GZ, ACE, UUE);

  • поддержка непрерывных (solid) архивов, в которых степень сжатия может быть на 10 - 50% больше, чем при обычных методах сжатия, особенно при упаковке значительного количества небольших похожих файлов;

  • поддержка многотомных архивов;

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

  • восстановление физически поврежденных архивов;

  • другие дополнительные функции, например, шифрование, добавление архивных комментариев (с поддержкой ESC-последовательностей ANSI), ведение протокола ошибок и пр.

Количество добавляемых в архив файлов зависит от объема доступной памяти и длины их имен. Для добавления одного файла нужно ориентировочно 128 байт памяти. Например, для архивации миллиона файлов необходимо около 128 Мб памяти. WinRAR тестировался на архивах, содержащих до 10 миллионов файлов.

Размер архива RAR, также как и любого файла в архиве RAR, ограничен объемом 8 589 934 591 Гб (9 223 372 036 854 775 807 байт).

Размер архива ZIP, также как и любого файла в архиве ZIP, не может превышать 4 Гб.

Кроме WinRAR, в комплект поставки входит файл Rar.exe. Это также 32-разрядная версия RAR для Windows, но она поддерживает только интерфейс командной строки и работает в текстовом режиме. Обычно консольная версия RAR используется для вызова из пакетных файлов (BAT и CMD), для запуска из приглашения DOS и др. Она поддерживает больше команд и ключей в командной строке, чем WinRAR.

Архивация файлов