Freies Vortragsprogramm (Do, 04.05.2006)
Zypp: common package and patch managment for SUSE Linux.
von Duncan Mac-Vicar (SUSE Linux Products GmbH / Novell)
Donnerstag, 04.05.2006, Saal 6.2, 16:00-16:30 Uhr
Package Management and Package Dependency Resolving
SUSE Linux uses rpm as its package format. The basic tool for this is the RPM (RPM Package manager) program, it handles installation, removal and querying of packages.
RPM checks that the requirements of a package are met, e.g. if package X needs package libY and you try to install package X but without having libY installed, rpm will refuse to install X and give a warning that libY is missing. RPM has no way to install automatically a package that contains libY.
There are various programs using rpm (and other package formats) to support the following four use cases with a comfortable user interface: Install a package and all of its dependencies automatically, download these packages from a remote server or local media, remove packages, and update packages with newer versions.
SUSE Linux 10.0 offers three programs for this: YOU, the YaST online update (only update), the yast package manager ("yast sw_single") for installation and removal (but not update), and with apt-rpm an alternative for yast and YOU.
With SUSE Linux 10.1, SUSE has integrated a new package manager resolver technology called Zypp.
Zypp is the integration of SUSE's yast2 Package manager and Ximian's libredcarpet. At Novell we used two solutions so far - Red Carpet and YaST package manager - and decided to merge both in a best of breed approach. Zypp features brings SUSE package management technology to a world of new possibilities like runtime dependencies on hardware, patterns, full-featured patches and Zenworks integration for a easy enterprise upgrade path.
There are multiple advantages for SUSE Linux. First, it now offers a better resolver than before. More information about why a package is installed or no solution is found. A better integration of all those feature that were added over the years to our package manager). A command line interface ("rug"). A common handling of packages and patches. Dependency handling for update packages. A better way to handle selections (we call them now "patterns"). Remote management (not yet in SUSE Linux 10.1). Additional repositories during installation (no GUI in SUSE Linux 10.1). More flexibility in handling of different repositories, e.g. it is possible to have additional patterns for each repository.
Über den Autor Duncan Mac-Vicar:
Graduated Industrial Civil Engineering, he was born in Santiago, Chile, but moved to Nürnberg, Germany on to join SUSE.
He is the original author of Kopete, the KDE instant messenger, which is now maintained and developed by a cool team of hackers around all the world.
He is mostly interested in software architecture and design, integration, and agile development practices.
