Первоначальный выпуск | Январь 14, 2006; 14 лет назад (2006-01-14) |
---|---|
Стабильный выпуск | 17.23.6 / 4 июня 2020 г.; 4 месяца назад (2020-06-04) |
Репозиторий | |
Написано на | C ++ |
Операционная система | Linux |
Введите | Менеджер пакетов |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | en.opensuse.org / Портал: Libzypp |
ZYpp (или libzypp ; "Zen / YaST Packages Patches Patterns Products") - это механизм диспетчера пакетов, который поддерживает приложения Linux, такие как YaST, Zypper, и реализацию PackageKit для openSUSE и SUSE Linux Enterprise. В отличие от некоторых более простых менеджеров пакетов, он предоставляет решатель выполнимости для вычисления зависимостей пакетов. Это бесплатное программное обеспечение с открытым исходным кодом, спонсируемое Novell и лицензируемое в соответствии с условиями Стандартной общественной лицензии GNU v2 или более поздней версии. ZYpp реализован в основном на языке программирования C ++.
Zypper - это собственный интерфейс командной строки менеджера пакетов ZYpp для установки, удаления, обновления и запрашивать программные пакеты локальных или удаленных (сетевых) носителей. Его графический эквивалент - модуль диспетчера пакетов YaST. Он используется в openSUSE, начиная с версии 10.2 beta1. В openSUSE 11.1 Zypper достиг версии 1.0. 2 июня 2009 года Ark Linux объявил, что он завершил обзор решателей зависимостей и выбрал ZYpp и его инструменты для замены устаревшего APT-RPM в качестве первого дистрибутива, который сделает это. 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.
Решателем Libzypp был порт решателя Red Carpet, который был написан для обновления пакетов в установленных системах. Использование его для полного процесса установки довело его до предела, а добавление расширений, таких как поддержка слабых зависимостей и исправлений, сделало его хрупким и непредсказуемым. Хотя эта первая версия решателя ZYpp работала удовлетворительно, на корпоративных продуктах компании с подключенным демоном ZMD она привела к выпуску openSUSE 10.1, который вышел в мае 2006 года с системным пакетом, не работающим должным образом. В декабре 2006 года в выпуске openSUSE 10.2 были исправлены некоторые дефекты предыдущего выпуска с использованием обновленной версии ZYpp v2. ZMD был впоследствии удален из выпуска 10.3 и зарезервирован только для продуктов компании Enterprise. Хотя ZYpp v3 предоставил openSUSE относительно хороший менеджер пакетов, эквивалентный другим существующим менеджерам пакетов, он страдал от некоторых недостатков в его реализации, которые сильно ограничивали его скорость.
Сфера, в которой libzypp нуждалась в улучшении, заключалась в скорости решателя зависимостей. libsolv пишется и выпускается под пересмотренной лицензией BSD.
. Такие проекты, как Optimal Package Install / Uninstall Manager (OPIUM), и пытались исправить проблемы, связанные с решением зависимостей, с помощью SAT solver. Традиционные решатели, такие как Advanced Packaging Tool (APT), иногда обнаруживают неприемлемые недостатки. Было решено интегрировать алгоритмы SAT в стек ZYpp; используемые алгоритмы решателя были основаны на популярном решателе minisat.
Реализация решателя SAT в том виде, в каком она представлена в openSUSE 11.0, основана на двух основных, но независимых блоках:
После нескольких месяцев работы результаты тестов этой четвертой версии ZYpp, интегрированной с решателем SAT, более чем обнадеживают, опережая YaST и Zypper по скорости и размеру среди других менеджеров пакетов на основе RPM.