Zypper

From openSUSE

(Redirected from Zypper/)
Command zypper is an easy to use command line package manager using the software package management library called libzypp. Zypper is able to manipulate installation repositories, search for packages, install, remove, or update packages and more. It can be used as a standalone application or inside scripts. For usage instructions see Zypper/Usage. For development information see Zypper/Development.


Contents


Supported Software Repositories

Zypper is able to work with several types of software repositories, those supported by Libzypp. These currently include:

  • YaST2 repositories (used also on the installation CDs, also known as susetags)
  • XML RPM Metadata repositories (also known as YUM or rpm-md)
  • Plain directory containing one or more RPM packages (Plaindir)

Note that zypper does not use the zmd (ZENworks Management Daemon) database.


Supported Resource Objects

Zypper works with different resource objects, called resolvables. Currently, the following resolvable types are supported:

package this is the most commonly used type which represents a common RPM package
patch update of the packages, which can include common or patch RPM packages, special scripts and messages
pattern a group of packages
language a group of packages with language support
product a group of packages, which are necessary to install a product


Packages

Zypper is in openSUSE 10.2 since Beta1. For 10.1, there is zypper built for libzypp-1.x.x or zypper along with newest libzypp.


Troubleshooting

Verbose Output

There is a global --verbose option that can be used multiple times to increase verbosity (2 levels currently) of zypper's output to find out what is going on. For example, use zypper -vv up.

Log

When filing bugs, please use component libzypp and attach the log and zypper output. If you can easily reproduce the bug, there is no need to attach the whole log from previous runs. When reproducing the bug, prepend ZYPP_LOGFILE=logfile_name to the zypper command you are about to execute, and attach the file you specified:

$ ZYPP_LOGFILE=zypper.log zypper -vv install MozillaFirefox

Since version 0.8.0, the zypper log is /var/log/zypper.log.

Solver Test Case

Since version 0.8.7, zypper is able to generate a solver test case to help debugging problems related to package dependencies and libzypp's dependency resolver. To generate a test case, use the --debug-solver command option with install, remove, and update commands:

$ zypper install --debug-solver MozillaFirefox

The test case files will be written into /var/log/zypper.solverTestCase directory. You can pack and compress and attach them to a bug report then.

Discussing usage and bugs

You can discuss the general usage and troubleshooting of zypper on the opensuse mailing list. To reach zypper developers directly, you can use the zypp-devel mailing list.


Ignore still running zypper

During development of applications, it can be useful to ignore a lock for zypper (don't try this on production machines!):

$ export ZYPP_READONLY_HACK=1
$ zypper ...

Adding Build Service Repositories

See the Build Service user page.