Jump to content

ZYpp

(Перенаправлено с Zypp )
ZYpp
Первоначальный выпуск 14 января 2006 г .; 18 лет назад ( 14 января 2006 г. ) [ 1 ]
Стабильная версия
17.35.4 [ 2 ]  Отредактируйте это в Викиданных 1.14.76 [ 3 ]  Отредактируйте это в Викиданных / 23 июля 2024 г .; 16 дней назад ( 23 июля 2024 г. ) 2 июля 2024 г. ; 37 дней назад ( 2 июля 2024 г. )
Репозиторий https://github.com/openSUSE/libzypp  Отредактируйте это в Викиданных https://github.com/openSUSE/zypper  Отредактируйте это в Викиданных
Написано в
Операционная система Линукс
Тип Менеджер пакетов
Лицензия Стандартная общественная лицензия GNU
Веб-сайт в .opensuse .org /Портал:Libzypp

ZYpp (или libzypp ; «Пакеты Zen / YaST, патчи, шаблоны продуктов» [ 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 пакета Novell ZENworks Management.

Первые дни

[ редактировать ]

Решатель Libzypp был портом решателя Red Carpet, который был написан для обновления пакетов в установленных системах. Использование его для полного процесса установки довело его до предела, а добавление расширений, таких как поддержка слабых зависимостей и исправлений, сделало его хрупким и непредсказуемым. [ 10 ] Хотя эта первая версия решателя ZYpp работала удовлетворительно, на корпоративных продуктах компании со связанным демоном ZMD это привело к выпуску openSUSE 10.1, который вышел в мае 2006 года с системным пакетом, который не работал должным образом. В декабре 2006 года в выпуске openSUSE 10.2 были исправлены некоторые дефекты предыдущего выпуска с использованием обновленной версии ZYpp v2. Впоследствии ZMD был удален из версии 10.3 и зарезервирован только для продуктов компании Enterprise. Хотя ZYpp v3 предоставил openSUSE относительно хороший менеджер пакетов, эквивалентный другим существующим менеджерам пакетов, в его реализации были некоторые недостатки, которые сильно ограничивали его скорость.

Интеграция решателя SAT

[ редактировать ]

Областью, где libzypp нуждался в улучшении, была скорость решателя зависимостей. libsolv пишется и выпускается под пересмотренной лицензией BSD . [ 11 ]

Такие проекты, как Optimal Package Install/Uninstall Manager (OPIUM) [ 12 ] [ 13 ] и МАНКУСИ [ 14 ] пытались исправить проблемы с решением зависимостей с помощью решателя SAT . Традиционные решатели, такие как Advanced Packaging Tool (APT), иногда демонстрируют неприемлемые недостатки. Было решено интегрировать алгоритмы SAT в стек ZYpp; Используемые алгоритмы решателя были основаны на популярном решателе minisat. [ 15 ]

Реализация решателя SAT в openSUSE 11.0 основана на двух основных, но независимых блоках:

  • Использование подхода словаря данных для хранения и получения информации о пакете и зависимостях. Был создан новый формат solv, в котором репозиторий хранится в виде строкового словаря, словаря отношений, а затем всех зависимостей пакета. Чтение и объединение нескольких репозиториев Solv занимает всего миллисекунды.
  • Использование выполнимости для вычисления зависимостей пакетов. Проблема логической выполнимости — это хорошо изученная проблема, для которой доступно множество примеров решения. Это очень быстро, поскольку сложность решения пакетов очень низка по сравнению с другими областями, где используются решатели SAT. Кроме того, он не требует сложных алгоритмов и может предоставлять понятные предложения, вычисляя доказательства того, почему проблема неразрешима.

После нескольких месяцев работы результаты тестов четвертой версии ZYpp, интегрированной с решателем SAT, более чем обнадеживают: YaST и Zypper опережают другие менеджеры пакетов на основе RPM по скорости и размеру. [ 16 ] [ 17 ]

См. также

[ редактировать ]
  1. ^ Самый ранний известный журнал изменений.
  2. ^ «Выпуск 17.35.4» . 23 июля 2024 г. Проверено 28 июля 2024 г.
  3. ^ «Релиз 1.14.76» . 2 июля 2024 г. Проверено 28 июля 2024 г.
  4. ^ Jump up to: а б с д и ж г час я дж «Проект с открытым исходным кодом zypp на Open Hub: страница языков» . Открыть хаб . Проверено 2 мая 2024 г.
  5. ^ Jump up to: а б с д и ж г «GitHub — openSUSE/zypper: самый мощный в мире менеджер пакетов командной строки» . Гитхаб . Проверено 2 мая 2024 г.
  6. ^ «Акронимы — openSUSE Wiki» .
  7. ^ «Документация Libzypp» .
  8. ^ «Домашняя страница проекта Libzypp» .
  9. ^ «Еще один взгляд на пакетные системы Linux» . Июнь 2009 года.
  10. ^ «Майкл Шредер, История сатсолвера» . Гитхаб . 26 ноября 2021 г.
  11. ^ «libsolv на github» . Гитхаб . 26 ноября 2021 г.
  12. ^ Такер, Крис; Шаффелтон, Дэвид; Джала, Ранджит; Лернер, Сорин (2007), «OPIUM: Оптимальный менеджер установки/удаления пакетов» (PDF) , 29-я Международная конференция по разработке программного обеспечения , ICSE'07.
  13. ^ Команда EDOS Project Workpackage 2 (март 2006 г.), «Отчет о формальном управлении программными зависимостями» , EDOS Project Результат работы 2 , Результат 2, заархивировано из оригинала 19 июня 2006 г. , получено 06 июня 2009 г. {{citation}}: CS1 maint: числовые имена: список авторов ( ссылка )
  14. ^ Ле Берр, Даниэль; Паррейн, Энн (2008 г.), «О технологиях SAT для управления зависимостями и не только» (PDF) , ASPL 2008 , Лимерик, Mancoosi.org.
  15. ^ «Минисат.се» .
  16. ^ «ням и скорость/использование памяти ZYpp» . 16 мая 2008 года . Проверено 23 октября 2008 г. [ постоянная мертвая ссылка ]
  17. ^ «Краткий обзор openSUSE 11.0: Управление пакетами с Дунканом Мак-Викаром» . 6 июня 2008 года . Проверено 15 октября 2017 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bb2a1ed70f5f60562ab8cba256609934__1714643700
URL1:https://arc.ask3.ru/arc/aa/bb/34/bb2a1ed70f5f60562ab8cba256609934.html
Заголовок, (Title) документа по адресу, URL1:
ZYpp - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)