| После двух лет разработки представлен релиз Zero Install 2.0,
многоплатформенной децентрализованной системы распространения и
установки приложений. Zero Install позволяет разработчикам приложений
организовать их распространение непосредственно со своих web-сайтов,
предоставляя при этом такие возможности как автоматическая установка
обновлений, использование единого набора разделяемых библиотек,
обработку зависимостей и верификацию источника пакетов по цифровым
подписям. В настоящее время с использованием Zero Install уже
подготовлено более тысячи пакетов, которые обобщены в едином каталоге-зеркале. Код системы написан на языке Python и распространяется под лицензией LGPL.
Пакеты могут формироваться и распространяться для различных
операционных систем, включая дистрибутивы Linux, FreeBSD, Solaris, Mac
OS X и Windows. При этом Zero Install не ставит перед собой цели
заменить уже используемые в системе средства управления пакетами, а лишь
дополняет их и не пересекается с ними в работе. Zero Install не
определяет новый формат пакетов, а манипулирует обычными tar.gz- или
zip-архивами, поставляемыми в сочетании с мета-данными в формате XML. В
мета-данных определятся содержимое пакетов и зависимости между пакетами.
Один файл с метаданными может использоваться для описания пакетов
для различных платформ и операционных систем. Состав пакетов
формируется на основе уже собранных исполняемых файлов или архива с
исходными текстами (компиляция выполняется
на клиентской системе, по аналогии с портами FreeBSD или портриджами
Gentoo). Из дистрибутивов в которых Zero Install используется в
качестве основной системы управления пакетами можно отметить GoboLinux.
В Zero Install поддерживается ряд возможностей, не свойственных
обычным локальным системам управления пакетами. Например, поддерживается
одновременная установка разных версий одной программы. Для работы не
требуются привилегии суперпользователя (приложения устанавливаются в
домашнюю директорию пользователя). Каждая программа устанавливается в
свою поддиректорию, что упрощает организацию различных chroot-окружений и
изолированных контейнеров. При этом данные каталоги рассматриваются как
кэш и могут быть легко удалены после того как в программе больше нет
необходимости.
Несмотря на разделение по каталогам Zero Install старается по
возможности совместно использовать библиотеки между разными приложениями
и учитывает при анализе зависимостей содержимое штатного репозитория
дистрибутива и уже установленных программ. Поддерживается быстрая
установка ещё не вышедших экспериментальных версий программ, например,
можно установить приложение на основании среза Git-репозитория, без
какой-либо правки созданных для релиза метаданных. Для контроля
целостности и проверки валидности источника приложения используется система цифровых подписей. Для подозрительных приложений предусмотрена функция запуска в chroot-окружении.
Из добавленных в новой версии новшеств отмечаются возможность
использования штатных пакетных менеджеров для доустановки необходимых
зависимостей. Если для пакета требуется доустановить зависимости, то они
будут установлены в первую очередь из основного репозитория
дистрибутива, если в нём есть пакет с нужной библиотекой или
приложением. Поддержка доустановки зависимостей обеспечена для пакетных
менеджеров из состава Arch Linux, Cygwin, Darwin, Debian, Fink, портов
FreeBSD Gentoo, MacPorts, Mint, openSUSE, Red Hat, Slackware и Windows.
Кроме того, внесены многочисленные улучшения в синтаксис
XML-метаданных, используемых для определения зависимостей и описания
пакетов. Добавлена поддержка новых платформ Arch, Cygwin, Darwin, Fink и
MacPorts. На смену псевдонимам в утилите 0install реализована концепция
Apps, позволяющая манипулировать приложениями, установленными под определённым именем. Расширены средства диагностики проблем с разрешением зависимостей. В команде 0install появилась поддержка автодополнения ввода при нажатии табуляции.
| |