ZYpp


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

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.

Historia

Objetivo

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 .

Primeros días

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.

Integración del solucionador SAT

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:

  • Uso de un método de diccionario de datos para almacenar y recuperar información de paquetes y dependencias. Se creó un nuevo formato de solv, que almacena un repositorio como un diccionario de cadenas, un diccionario de relaciones y luego todas las dependencias del paquete. Leer y fusionar varios repositorios de solv solo lleva milisegundos.
  • Utilización de la capacidad de satisfacción para calcular las dependencias de los paquetes. El problema de satisfacibilidad booleano es un problema bien investigado con muchos solucionadores ejemplares disponibles. Es muy rápido, ya que la complejidad de la resolución de paquetes es muy baja en comparación con otras áreas donde se utilizan solucionadores SAT. Además, no necesita algoritmos complejos y puede proporcionar sugerencias comprensibles al calcular la prueba de por qué un problema no tiene solución.

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]

Ver también

  • openSUSE
  • YaST

Referencias

  1. ^ Registro de cambios más antiguo conocido
  2. ^ "Versión 17.25.10" . 28 de abril de 2021 . Consultado el 24 de mayo de 2021 .
  3. ^ https://en.opensuse.org/Acrónimos#Z
  4. ^ "Documentación de Libzypp" .
  5. ^ "Página de inicio del proyecto Libzypp" .
  6. ^ "Otra mirada a los sistemas de empaquetado de Linux" .
  7. ^ "Michael Schroeder, Historia de satsolver" .
  8. ^ "libsolv en github" .
  9. ^ Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin (2007), "OPIUM: OPtimal Package Install / Uninstall Manager" (PDF) , 29ª Conferencia Internacional sobre Ingeniería de Software , ICSE'07.
  10. ^ 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.
  11. ^ Le Berre, Daniel; Parrain, Anne (2008), "Sobre tecnologías SAT para la gestión de la dependencia y más allá" (PDF) , ASPL 2008 , Limerick, Mancoosi.org.
  12. ^ "Minisat.se" .
  13. ^ "yum y ZYpp velocidad / uso de memoria" . 16 de mayo de 2008 . Consultado el 23 de octubre de 2008 .
  14. ^ "Avance en 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

  • Página web oficial
  • Un adelanto de la nueva gestión de paquetes de openSUSE
  • DistroWatch.com
Obtenido de " https://en.wikipedia.org/w/index.php?title=ZYpp&oldid=1014905844 "