Открыть сервис

Info-ZIP

Info-ZIP — это набор свободных программ с открытым исходным кодом для сжатия и архивации данных в форматах ZIP и UnZip, а также название проекта, разрабатывающего и поддерживающего эти программы. Проект является одним из старейших и наиболее распространённых инструментов для работы с ZIP-архивами в операционных системах семейства Unix, а также на платформах DOS, Windows, OS/2 и многих других.

История

Проект Info-ZIP был основан в 1990 году группой разработчиков, стремившихся создать свободную, переносимую и совместимую с существующими стандартами реализацию алгоритмов сжатия, используемых в формате ZIP. На тот момент формат ZIP уже был широко распространён в среде MS-DOS благодаря программе PKZIP от компании PKWARE, но его исходный код был закрыт, а версии для других операционных систем отсутствовали.

Первая публичная версия Info-ZIP (v1.0) была выпущена в 1991 году. Она включала в себя утилиты zip и unzip, которые могли создавать и распаковывать ZIP-архивы. С самого начала проект придерживался принципов открытости: исходный код распространялся под лицензией, близкой к BSD, что позволяло использовать его в любых, в том числе коммерческих, проектах.

В 1990-е годы Info-ZIP стал стандартом де-факто для работы с ZIP-архивами в Unix-подобных системах (Linux, BSD, Solaris). Разработчики активно портировали код на новые платформы, добавляли поддержку новых алгоритмов сжатия (например, Deflate64) и улучшали совместимость с архивами, созданными другими программами (PKZIP, WinZip). Последний стабильный релиз (v3.0) был выпущен в 2008 году, после чего проект перешёл в режим поддержки, хотя отдельные исправления и обновления продолжают выходить.

Состав пакета

Основными компонентами Info-ZIP являются две утилиты командной строки:

  • zip — программа для создания и обновления ZIP-архивов. Она принимает список файлов и каталогов, сжимает их с использованием алгоритма Deflate (или других, в зависимости от версии) и упаковывает в один файл с расширением .zip.
  • unzip — программа для распаковки ZIP-архивов. Она извлекает файлы из архива, восстанавливая их структуру каталогов, атрибуты и временные метки. Поддерживает просмотр содержимого архива без распаковки, тестирование целостности и выборочное извлечение.

Помимо основных утилит, в состав пакета входят вспомогательные инструменты:

  • zipcloak — утилита для шифрования и дешифрования ZIP-архивов с использованием традиционного (слабого) алгоритма шифрования PKZIP.
  • zipnote — программа для просмотра и редактирования комментариев, хранящихся в ZIP-архиве.
  • zipsplit — утилита для разбиения большого ZIP-архива на несколько томов (томов фиксированного размера).

Функциональные возможности

Info-ZIP поддерживает все основные возможности формата ZIP, включая:

  • Сжатие данных: Основной алгоритм — Deflate (RFC 1951). В некоторых версиях доступна поддержка Deflate64 (Enhanced Deflate) и BZip2.
  • Сжатие без потерь: Все алгоритмы, используемые в Info-ZIP, являются алгоритмами сжатия без потерь, то есть исходные данные после распаковки полностью восстанавливаются.
  • Поддержка многотомных архивов: Архив может быть разбит на несколько файлов (томов) для записи на сменные носители (дискеты, CD-R) или для передачи по сети.
  • Шифрование: Поддерживается традиционное шифрование на основе пароля (алгоритм PKZIP 2.0). Важно: этот метод шифрования считается устаревшим и небезопасным; для защиты данных рекомендуется использовать современные инструменты (например, 7-Zip с AES-256).
  • Хранение атрибутов файлов: Сохраняются права доступа (в Unix-системах), временные метки, информация о владельце файла.
  • Поддержка длинных имён файлов: В архивах могут храниться файлы с именами длиной до 65535 символов (в кодировке UTF-8 или CP437).
  • Работа с потоками: Утилиты могут читать данные из стандартного ввода (stdin) и выводить в стандартный вывод (stdout), что позволяет использовать их в конвейерах командной строки.
  • Совместимость: Архивы, созданные Info-ZIP, полностью совместимы с архиваторами PKZIP, WinZip, 7-Zip, а также со встроенными средствами работы с ZIP в операционных системах (например, «Проводник» в Windows).

Применение

Info-ZIP является стандартным инструментом для работы с ZIP-архивами в большинстве дистрибутивов Linux и Unix-подобных систем. Он используется:

  • В системном администрировании: для резервного копирования, распространения конфигурационных файлов, создания дистрибутивов программного обеспечения.
  • В разработке ПО: для упаковки исходных кодов, бинарных файлов и документации в архивы для распространения (например, на GitHub или SourceForge).
  • В скриптах автоматизации: благодаря своей простоте и поддержке конвейеров, утилиты zip и unzip часто используются в shell-скриптах для обработки файлов.
  • В веб-разработке: для создания архивов с файлами сайтов, резервного копирования баз данных (в связке с другими утилитами).
  • В повседневной работе: для сжатия и распаковки файлов, отправки по электронной почте, хранения на внешних носителях.

Лицензия и распространение

Исходный код Info-ZIP распространяется под лицензией Info-ZIP License, которая является разрешительной (permissive) и близка по духу к лицензиям BSD и MIT. Она позволяет использовать, модифицировать и распространять код как в открытых, так и в закрытых коммерческих проектах без выплаты роялти. Единственным требованием является сохранение уведомления об авторских правах.

Благодаря этой лицензии, код Info-ZIP был включён во многие другие проекты, включая библиотеки для работы с ZIP-архивами (например, libzip), а также в состав операционных систем (например, в Windows 10 и 11 встроенная поддержка ZIP-архивов частично основана на коде Info-ZIP).

Критика и ограничения

Несмотря на свою широкую распространённость, Info-ZIP имеет ряд ограничений:

  • Устаревшее шифрование: Как уже упоминалось, используемый алгоритм шифрования (PKZIP 2.0) является слабым и может быть взломан за короткое время. Для защиты конфиденциальных данных его использовать не рекомендуется.
  • Отсутствие поддержки современных алгоритмов сжатия: Info-ZIP не поддерживает алгоритмы LZMA, PPMd или WavPack, которые обеспечивают более высокую степень сжатия, особенно для определённых типов данных (например, текстов или аудио).
  • Ограниченная поддержка Unicode: Хотя Info-ZIP поддерживает длинные имена файлов, работа с именами, содержащими символы, отличные от ASCII (например, кириллицу), может быть проблематичной в некоторых системах, особенно при использовании старых версий.
  • Отсутствие графического интерфейса: Программа является исключительно консольной, что может быть неудобно для пользователей, привыкших к графическим архиваторам (например, 7-Zip, WinRAR).
  • Прекращение активной разработки: Последний стабильный релиз (v3.0) был выпущен в 2008 году, и новые функции добавляются крайне редко. Проект поддерживается сообществом, но не развивается активно.

Интересные факты

  • Название «Info-ZIP» происходит от слов «Information» и «ZIP», подчёркивая цель проекта — предоставить информацию и свободный инструмент для работы с форматом ZIP.
  • Исходный код Info-ZIP был использован при создании многих других популярных архиваторов, включая unzip в составе GNU Coreutils (в некоторых дистрибутивах) и библиотеку libzip, которая лежит в основе архиватора KDE Ark.
  • В 1990-е годы, когда интернет был медленным, Info-ZIP активно использовался для сжатия дистрибутивов программного обеспечения, что позволяло значительно сократить время загрузки.

Источники

  • Официальный сайт проекта Info-ZIP (info-zip.org)
  • Документация к утилитам zip и unzip (man-страницы)
  • RFC 1951 (Deflate Compressed Data Format Specification)
  • Статья «Info-ZIP» в англоязычной Википедии

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →