Zero Install
Zero Install — багатоплатформова децентралізована система розповсюдження і встановлення застосунків. Zero Install дозволяє розробникам застосунків організувати їхнє поширення безпосередньо зі своїх вебсайтів, надаючи при цьому такі можливості як автоматична установка оновлень, використання єдиного набору поділюваних бібліотек, обробку залежностей і верифікацію джерела пакунків за цифровими підписами. Код системи написаний на мові Python і розповсюджується під ліцензією LGPL.
Zero Install готовий запустити звантажену програму | |
Тип | система керування пакунками |
---|---|
Розробник | Thomas Leonard |
Стабільний випуск | 2.11.5 [1] (5 березня 2013 ) |
Версії | 2.12-1 (18 вересня 2016)[2] |
Репозиторій | github.com/0install/0install |
Операційна система | Linux, Unix, Mac OS X, Windows |
Мова програмування | Python |
Ліцензія | GNU Lesser General Public License |
Вебсайт | 0install.net |
Станом на 2013 рік з використанням Zero Install підготовлено більше тисячі пакунків, які узагальнені в єдиному каталозі-дзеркалі.[3]
Пакунки можуть формуватися і поширюватися для різних операційних систем, включаючи дистрибутиви 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-оточенні.