Lt304888.ru

Туристические услуги

SFX

21-10-2023

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

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

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

Примеры

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

7-Zip
  • Ненастраиваемые 7z SFX архивы для Microsoft Windows.
  • Существует сторонний настраиваемый модуль — тоже для Windows.
ARJ
  • Для различных платформ.
p7zip
  • 7zCon.sfx — ненастраиваемый, для указанной пользователем платформы; поддерживает просмотр, автоматическую перезапись файлов, проверку целостности и зашифрованные архивы.
PKZIP
  • Только в зарегистрированных версиях, начиная с 2.70.
Zipcoin
  • Создает архивы с возможностью оплаты за распаковку.
RAR и WinRAR
  • Возможно создание настраиваемых самораспаковывающихся RAR (и ZIP в WinRAR) архивов с русским и английским интерфейсом. Настройка архива производится путем задания комментария или в окне "Дополнительные параметры SFX". Возможно изменение значка.

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

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

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

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

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

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

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

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

См. также

SFX.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01