Документация по LinuxLinuxDoc.Ru 🔍
🕛

Zero Install 2.0

После двух лет разработки представлен релиз 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 появилась поддержка автодополнения ввода при нажатии табуляции.

Также по теме:
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Мы в соцсетях ✉