stringtranslate.com

ZYpp

ZYpp (o libzypp ; "Zen / YaST Packages Patches Patterns Products" [6] ) es un motor de gestión de paquetes que potencia aplicaciones Linux como YaST , Zypper y la implementación de PackageKit para openSUSE y SUSE Linux Enterprise . [7] A diferencia de algunos gestores de paquetes más básicos, proporciona un solucionador de satisfacibilidad para calcular las dependencias de los paquetes. [8] Es un proyecto de software libre y de código abierto patrocinado por SUSE y licenciado bajo 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 gestor 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 gestor de paquetes 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 a ZYpp y sus herramientas para reemplazar al envejecido APT-RPM , [9] como la primera distribución en hacerlo. Zypper también forma parte de las distribuciones móviles de Linux MeeGo , Sailfish OS y Tizen .

Historia

Objetivo

Tras las adquisiciones consecutivas de Ximian y SuSE GmbH en 2003, Novell decidió fusionar ambos sistemas de gestión de paquetes, el gestor de paquetes YaST y Red Carpet , con el objetivo de aprovechar al máximo cada una de las soluciones, ya que hasta entonces se utilizaban en Novell. En 2005, tras analizar las herramientas de código abierto existentes y su grado de madurez, ninguna cumplía los requisitos y era capaz de funcionar sin problemas con el software de infraestructura de gestión de Linux existente desarrollado por Ximian y SUSE, por lo que se decidió obtener las mejores ideas de las piezas existentes y trabajar en una nueva implementación. Se planeó que Libzypp, la biblioteca resultante, fuera el motor de gestión de software de las distribuciones de SUSE y el componente de gestión de Linux de la suite de gestión Novell ZENworks .

Primeros días

El solucionador de Libzypp era un port del solucionador Red Carpet, que fue escrito para actualizar paquetes en 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. [10] 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 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 openSUSE 10.2 corrigió algunos defectos de la versión anterior, utilizando el ZYpp v2 revisado. ZMD se eliminó posteriormente de la versión 10.3 y se reservó solo para los productos empresariales de la compañía. 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.

Integración del solucionador SAT

Un área en la que libzypp necesitaba mejoras era la velocidad del solucionador de dependencias. libsolv se está escribiendo y publicando bajo la licencia BSD revisada . [11]

Proyectos como Optimal Package Install/Uninstall Manager (OPIUM) [12] [13] y MANCOOSI [14] 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. [15]

La implementación del solucionador 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 SAT son más que alentadores, colocando a YaST y Zypper por delante de otros administradores de paquetes basados ​​en RPM en velocidad y tamaño. [16] [17]

Véase también

Referencias

  1. ^ Registro de cambios más antiguo conocido
  2. ^ "Versión 17.35.11". 12 de septiembre de 2024. Consultado el 26 de septiembre de 2024 .
  3. ^ "Versión 1.14.77". 6 de septiembre de 2024. Consultado el 26 de septiembre de 2024 .
  4. ^ abcdefghij «El proyecto de código abierto zypp en Open Hub: página de idiomas». Open Hub . Consultado el 2 de mayo de 2024 .
  5. ^ abcdefg «GitHub - openSUSE/zypper: el gestor de paquetes de línea de comandos más potente del mundo». GitHub . Consultado el 2 de mayo de 2024 .
  6. ^ "Acrónimos - Wiki de openSUSE".
  7. ^ "Documentación de Libzypp".
  8. ^ "Página de inicio del proyecto Libzypp".
  9. ^ "Otra mirada a los sistemas de empaquetado de Linux". Junio ​​de 2009.
  10. ^ "Michael Schroeder, Historia de satsolver". GitHub . 26 de noviembre de 2021.
  11. ^ "libsolv en github". GitHub . 26 de noviembre de 2021.
  12. ^ Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin (2007), "OPIUM: Optimal Package Install/Uninstall Manager" (PDF) , 29.a Conferencia internacional sobre ingeniería de software , ICSE'07.
  13. ^ Equipo del Paquete de trabajo 2 del proyecto EDOS (marzo de 2006), "Informe sobre la gestión formal de las dependencias de software", Paquete de trabajo entregable 2 del proyecto EDOS , Entregable 2, archivado desde el original el 19 de junio de 2006 , consultado el 6 de junio de 2009 .{{citation}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  14. ^ Le Berre, Daniel; Parrain, Anne (2008), "Sobre las tecnologías SAT para la gestión de la dependencia y más allá" (PDF) , ASPL 2008 , Limerick, Mancoosi.org.
  15. ^ "Minisat.se".
  16. ^ "velocidad y uso de memoria de yum y ZYpp". 16 de mayo de 2008. Consultado el 23 de octubre de 2008 .[ enlace muerto permanente ]
  17. ^ "Adelantos de openSUSE 11.0: gestión de paquetes, con Duncan Mac-Vicar". 6 de junio de 2008. Consultado el 15 de octubre de 2017 .

Enlaces externos