Первоначальный выпуск | 14 января 2006 г ( 2006-01-14 ) | [1]
---|---|
Стабильный релиз | 17.35.16 [2] 1.14.78 [3] / 18 декабря 2024 г. ( 18 декабря 2024 ) ( 12 ноября 2024 ) 12 ноября 2024 г. |
Репозиторий | https://github.com/openSUSE/libzypp https://github.com/openSUSE/zypper |
Написано в |
|
Операционная система | Линукс |
Тип | Менеджер пакетов |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | ru.opensuse.org/Портал:Libzypp |
ZYpp (или libzypp ; "Zen / YaST Packages Patches Patterns Products" [6] ) — это движок менеджера пакетов , который поддерживает такие приложения Linux, как YaST , Zypper и реализацию PackageKit для openSUSE и SUSE Linux Enterprise . [7] В отличие от некоторых более простых менеджеров пакетов, он предоставляет решатель выполнимости для вычисления зависимостей пакетов. [8] Это бесплатный и открытый программный проект, спонсируемый SUSE и лицензируемый в соответствии с условиями GNU General Public License v2 или более поздней версии. ZYpp реализован в основном на языке программирования C++ .
Zypper — это собственный интерфейс командной строки менеджера пакетов ZYpp для установки, удаления, обновления и запроса пакетов программного обеспечения локальных или удаленных (сетевых) носителей. Его графическим эквивалентом является модуль менеджера пакетов YaST . Он используется в openSUSE с версии 10.2 beta1. В openSUSE 11.1 Zypper достиг версии 1.0. 2 июня 2009 года Ark Linux объявила о завершении обзора решателей зависимостей и выборе ZYpp и его инструментов для замены устаревшего APT-RPM [9] в качестве первого дистрибутива , сделавшего это. Zypper также является частью мобильных дистрибутивов Linux MeeGo , Sailfish OS и Tizen .
После последовательных приобретений Ximian и SuSE GmbH в 2003 году Novell решила объединить обе системы управления пакетами, менеджер пакетов YaST и Red Carpet , в подходе, лучшем в своем классе, поскольку эти два решения до сих пор использовались в Novell. Рассматривая существующие инструменты с открытым исходным кодом и их зрелость, доступную еще в 2005 году, ни один из них не отвечал требованиям и не мог гладко работать с существующим программным обеспечением инфраструктуры управления Linux, разработанным Ximian и SUSE, поэтому было решено извлечь лучшие идеи из существующих частей и поработать над новой реализацией. Libzypp, получившаяся библиотека, планировалась как механизм управления программным обеспечением дистрибутивов SUSE и компонент Linux Management пакета Novell ZENworks Management.
Решатель Libzypp был портом решателя Red Carpet, который был написан для обновления пакетов в установленных системах. Использование его для полного процесса установки привело к его пределам, а добавление расширений, таких как поддержка слабых зависимостей и исправлений, сделало его хрупким и непредсказуемым. [10] Хотя эта первая версия решателя ZYpp работала удовлетворительно на корпоративных продуктах компании с сопряженным демоном ZMD, это привело к выпуску openSUSE 10.1, который вышел в мае 2006 года с системным пакетом, не работающим так, как ожидалось. В декабре 2006 года выпуск openSUSE 10.2 исправил некоторые дефекты предыдущего выпуска, используя пересмотренный ZYpp v2. Впоследствии ZMD был удален из выпуска 10.3 и зарезервирован только для корпоративных продуктов компании. Хотя ZYpp v3 предоставил openSUSE относительно хороший менеджер пакетов, эквивалентный другим существующим менеджерам пакетов, он страдал от некоторых недостатков в своей реализации, которые значительно ограничивали его быстродействие.
Областью, в которой libzypp требовалось улучшение, была скорость решателя зависимостей. libsolv пишется и выпускается под пересмотренной лицензией BSD . [11]
Такие проекты, как Optimal Package Install/Uninstall Manager (OPIUM) [12] [13] и MANCOOSI [14], пытались исправить проблемы решения зависимостей с помощью решателя SAT . Традиционные решатели, такие как Advanced Packaging Tool (APT), иногда демонстрируют неприемлемые недостатки. Было решено интегрировать алгоритмы SAT в стек ZYpp; используемые алгоритмы решателя были основаны на популярном решателе minisat. [15]
Реализация решателя SAT в том виде, в каком она представлена в openSUSE 11.0, основана на двух основных, но независимых блоках:
После нескольких месяцев работы результаты тестов четвертой версии ZYpp, интегрированной с решателем SAT, оказались более чем обнадеживающими, выведя YaST и Zypper вперед по скорости и размеру других менеджеров пакетов на основе RPM. [16] [17]
{{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка )