Zypper

De openSUSE, la enciclopedia libre.

zypper es una utilidad de línea de comandos fácil de usar, que se basa en una librería para la gestión de paquetes llamada libzypp. Entre otras cosas zypper permite gestionar los repositorios, localizar, instalar, eliminar o actualizar paquetes y puede ser usado de forma autónoma o desde scripts. Puede encontrar las instrucciones para su uso en Zypper/Uso y seguir su desarrollo en [Zypper/Development] (en inglés).


Tabla de contenidos


Tipos de repositorios soportados

Zypper admite distintos formatos, los mismos que Libzypp. Actualmente son:

  • Repositorios YaST2 (son los que se usan en los CDs de instalación, también llamados susetags)
  • Repositorios XML RPM Metadata (también conocidos como YUM o rpm-md)
  • Un directorio físico que contenga uno o varios paquetes RPM (Plaindir)


Nota: zypper no hace ningún uso de la base de datos de zmd (ZENworks Management Daemon).


Elementos (resolvables) soportados

Actualmente zypper puede manejar distintos elementos (llamados 'resolvables' en inglés):

paquete (package) el más habitual y corresponde a un paquete RPM común
parche (patch) revisión, que puede incluir paquetes RPM comunes, parches, scripts especiales y mensajes
patrón (pattern) un grupo de paquetes
lenguage (language) un grupo de paquetes con soporte de lenguaje
producto (product) un grupo de paquetes necesarios para instalar un producto


Nota: siempre hay que usar la forma inglesa en la línea de comandos


Paquetes binarios

Zypper está disponible en openSUSE 10.2 desde la Beta1. Para la 10.1, puede descargar una versión de zypper para libzypp-1.x.x y otra para las nuevas libzypp.


Solución de problemas

Salida detallada

Existe una opción global --verbose que puede ser usada repetidamente para incrementar el nivel de detalle de la salida de zypper (actualmente, 2 niveles) para averiguar que está ocurriendo. Por ejemplo, puede emplear zypper -vv up.

Registro

Para comunicar fallos, seleccione por favor el componente libzypp y adjunte el registro (log) y la salida de zypper. Si se trata de un fallo fácil de reproducir, no es necesario adjuntar los logs completos de ejecuciones anteriores. Al reproducir el fallo añada ZYPP_LOGFILE=logfile_name a la órden zypper a ejecutar y adjunte el fichero especificado:

$ ZYPP_LOGFILE=zypper.log zypper -vv install MozillaFirefox

A partir de la versión 0.8.0, el log de zypper está en /var/log/zypper.log.

Ejemplos del sistema de resolución (Solver Test Case)

A partir de la versión 0.8.7, zypper cuenta con una caja negra, que puede registrar paso a paso todo lo que va ocurriendo, y resulta muy útil para corregir tanto fallos relativos a dependencias de paquetes como del sistema de resolución (solver o resolver en inglés) de libzypp. Para hacer uso de esta caja negra, hay que emplear la opción --debug-solver conjuntamente con las órdenes 'install', 'remove', y 'update':

$ zypper install --debug-solver MozillaFirefox

A los archivos de registro que genera esta caja negra, les llamaremos ejemplos del sistema de resolución (solver test case en inglés) y serán escritos en /var/log/zypper.solverTestCase . Vd. puede adjuntarlos (empaquetados y comprimidos) cuando comunique un fallo.

Comentarios sobre uso y fallos

Puede hacer comentarios sobre el uso y solución de fallos de zypper en general en la lista de correo opensuse-es. Para contactar con los desarrolladores de zypper directamente, puede usar la lista de correo zypp-devel.


Ignorar que zypper ya está en ejecución

Durante el desarrollo de aplicaciones, puede ser útil ignorar el bloqueo de zypper (¡no intente esto en sistemas en producción!):

$ export ZYPP_READONLY_HACK=1
$ zypper ...

Añadir repositorios del Build Service

Vea las páginas Build Service user page (en inglés).