Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАСТ.doc
Скачиваний:
3
Добавлен:
05.09.2019
Размер:
354.3 Кб
Скачать

§3. Типы архивов Самораспаковывающийся архив

Самораспаковывающийся или самоизвлекающийся архив (англ. self-extracting archive, сокращённо «SFX arсhive») — файл, компьютерная программа, объединяющая в себе архив и исполняемый код для его распаковки. Такие архивы, в отличие от обычных, не требуют отдельной программы для их распаковки (получения исходных файлов, из которых они созданы), если исполняемый код можно выполнить в указанной операционной системе. Это удобно, когда неизвестно, есть ли у пользователя, которому передаётся архив, соответствующая программа распаковки.

Основной способ использования самораспаковывающихся архивов — создание программ для установки ПО без использования систем управления пакетами.

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

Примеры:

Примеры программ, способных создавать самораспаковывающиеся архивы:

  • 7-Zip

Ненастраиваемые 7z SFX архивы для Microsoft Windows.

Существует сторонний настраиваемый модуль — тоже для Windows.

  • ARJ

Для различных платформ.

  • p7zip

  • 7zCon.sfx — ненастраиваемый, для указанной пользователем платформы; поддерживает просмотр, автоматическую перезапись файлов, проверку целостности и зашифрованные архивы.

  • PKZIP

Только в зарегистрированных версиях, начиная с 2.70.

  • RAR и WinRAR

Возможно создание настраиваемых самораспаковывающихся RAR (и ZIP в WinRAR) архивов с русским и английским интерфейсом. Настройка архива производится путем задания комментария или в окне "Дополнительные параметры SFX". Возможно изменение значка.

  • zipSfx

Настраиваемый, поддерживает ZIP формат. Настройка производится подготовкой текстового файла и последующей "склейкой" файлов.

Также такие архивы в своих форматах для соответствующих платформ могут создавать StuffIt и WinZip.

Существуют также программы, которые создают архивы в виде сценариев оболочки UNIX. Это часто используется для создания программ установки коммерческого ПО для UNIX-подобных ОС. Примеры: makeself и более старая shar.

Совместимость

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

Самораспаковывающиеся архивы в некоторых форматах — например, RAR и ZIP — могут быть распакованы самостоятельной программой распаковки.

Также можно создать код, который будет поддерживаться без дополнительных программ сразу на нескольких операционных системах — например, DOS и OS/2.

Или код, который будет поддерживаться стандартной поставкой одной ОС, и дополнительными средствами в другой — например, с использованием Python или shell (см. выше).

Архив с кодом под Win32 может потребовать дополнительных действий после распаковки с помощью Wine на UNIX-подобной системе — в частности, установки битов прав доступа.