Доступна децентрализованная система установки приложений Zero Install 2.0
6 марта 2013 года
После двух лет разработки представлен релиз 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 появилась поддержка автодополнения ввода при нажатии табуляции.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.