Versión inicial | 14 de enero de 2006 [1] |
---|---|
Lanzamiento estable | 17.25.10 [2] / 28 de abril de 2021 |
Repositorio | |
Escrito en | C ++ |
Sistema operativo | Linux |
Escribe | Gerente de empaquetación |
Licencia | Licencia pública general GNU |
Sitio web | en |
ZYpp (o libzypp ; "Productos de patrones de parches de paquetes de Zen / YaST" [3] ) es un motor de administración de paquetes que impulsa aplicaciones de Linux como YaST , Zypper y la implementación de PackageKit para openSUSE y SUSE Linux Enterprise . [4] A diferencia de algunos administradores de paquetes más básicos, proporciona un solucionador de satisfacibilidad para calcular las dependencias de los paquetes. [5] Es un proyecto de software gratuito y de código abierto patrocinado por Novell y con licencia según los términos de la Licencia pública general GNU.v2 o posterior. ZYpp se implementa principalmente en el lenguaje de programación C ++ .
Zypper es la interfaz de línea de comandos nativa del administrador de paquetes ZYpp para instalar, eliminar, actualizar y consultar paquetes de software de medios locales o remotos (en red). Su equivalente gráfico es el módulo administrador de paquetes de YaST . Se ha utilizado en openSUSE desde la versión 10.2 beta1. En openSUSE 11.1, Zypper alcanzó la versión 1.0. El 2 de junio de 2009, Ark Linux anunció que había completado su revisión de los solucionadores de dependencias y había elegido ZYpp y sus herramientas para reemplazar el antiguo APT-RPM , [6] como la primera distribución en hacerlo. Zypper también forma parte de las distribuciones móviles de Linux MeeGo , Sailfish OS y Tizen.
Tras sus adquisiciones consecutivas de Ximian y SuSE GmbH en 2003, Novell decidió fusionar ambos sistemas de gestión de paquetes, el administrador de paquetes de YaST y Red Carpet , en un enfoque de lo mejor, ya que las dos soluciones hasta ahora se utilizaban en Novell. Al observar las herramientas de código abierto existentes y su madurez disponible en 2005, ninguna cumplió con los requisitos y pudo trabajar sin problemas con el software de infraestructura de administración de Linux existente desarrollado por Ximian y SUSE, por lo que se decidió obtener las mejores ideas existentes. piezas y trabajar en una nueva implementación. Se planeó que Libzypp, la biblioteca resultante, fuera el motor de administración de software de las distribuciones de SUSE.y el componente de gestión de Linux de la suite de gestión de Novell ZENworks .
El solucionador de Libzypp era un puerto del solucionador de Red Carpet, que se escribió para actualizar paquetes en los sistemas instalados. Usarlo para el proceso de instalación completo lo llevó a sus límites, y agregar extensiones como soporte para dependencias débiles y parches lo hizo frágil e impredecible. [7]Aunque esta primera versión del solucionador de ZYpp funcionó satisfactoriamente, en los productos empresariales de la compañía con el demonio ZMD acoplado, condujo a una versión de openSUSE 10.1 que salió en mayo de 2006 con un paquete de sistema que no funcionaba como se esperaba. En diciembre de 2006, la versión de openSUSE 10.2 corrigió algunos defectos de la versión anterior, utilizando la versión revisada de ZYpp v2. Posteriormente, ZMD se eliminó de la versión 10.3 y se reservó solo para los productos Enterprise de la empresa. Si bien ZYpp v3 proporcionó a openSUSE un administrador de paquetes relativamente bueno, equivalente a otros administradores de paquetes existentes, sufrió algunas fallas en su implementación que limitaron en gran medida su rendimiento de velocidad.
Un área en la que libzypp necesitaba mejorar era la velocidad del solucionador de dependencias. libsolv se está escribiendo y publicando bajo la licencia BSD revisada . [8]
Proyectos como Optimal Package Install / Uninstall Manager (OPIUM) [9] [10] y MANCOOSI [11] intentaban solucionar problemas de resolución de dependencias con un solucionador SAT . Los solucionadores tradicionales como Advanced Packaging Tool (APT) a veces muestran deficiencias inaceptables. Se decidió integrar algoritmos SAT en la pila ZYpp; los algoritmos de resolución utilizados se basaron en el popular solucionador minisat. [12]
La implementación del solucionador de SAT tal como aparece en openSUSE 11.0 se basa en dos bloques principales, pero independientes:
Después de varios meses de trabajo, los resultados de referencia de esta cuarta versión de ZYpp integrada con el solucionador de SAT son más que alentadores, y llevan a YaST y Zypper por delante de otros administradores de paquetes basados en RPM en velocidad y tamaño. [13] [14]