Man zypper: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Update auf Version 1.8.16)
(Aktualisiert.)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
 
{{Korrekter Titel|man zypper}}
 
{{Korrekter Titel|man zypper}}
  
{{Achtung|Dies ist eine reine Textkopie der Manpage von zypper um sie online anzuschauen. Anwendbar für zypper 1.8.16}}
+
{{Achtung|Dies ist eine reine Textkopie der Manpage von zypper um sie online anzuschauen. Anwendbar für zypper 1.14.27}}
 
 
<nowiki>zypper(8)                                            System Tools                                            zypper(8)
 
 
 
  
 +
<nowiki>
 +
ZYPPER(8)                                                                              ZYPPER                                                                              ZYPPER(8)
  
 
NAME
 
NAME
 
       zypper - Command-line interface to ZYpp system management library (libzypp)
 
       zypper - Command-line interface to ZYpp system management library (libzypp)
  
 +
SYNOPSIS
 +
      zypper [--global-opts] command [--command-opts] [command-arguments]
  
SYNTAX
+
       zypper subcommand [--command-opts] [command-arguments]
       zypper [--global-opts] <command> [--command-opts] [command-arguments]
 
  
       zypper help [command]
+
       zypper help command
  
 
DESCRIPTION
 
DESCRIPTION
       zypper is a command-line interface to ZYpp system management library. It can be used to install, update, remove
+
       zypper is a command-line interface to ZYpp system management library (libzypp). It can be used to install, update, remove software, manage repositories, perform various
      software, manage repositories, perform various queries, and more.
+
      queries, and more.
 
 
  
 
CONCEPTS
 
CONCEPTS
       Most of the following concepts are common for all applications based on the libzypp package management library,
+
       Most of the following concepts are common for all applications based on the libzypp package management library, but there are some zypper specifics.
      but there are some zypper specifics.
 
  
 +
  System Packages
 +
      The set of installed packages on a system is sometimes denoted as repository @System or System Packages. In contrast to available repositories providing packages which can be
 +
      installed, @System provides packages which can only be deleted. Installed packages which are not also provided by at least one of the available repositories are often denoted
 +
      as being unwanted, orphaned or dropped.
  
 
   Repositories
 
   Repositories
       Libzypp works with package metadata, that is information about packages and their relations extracted from RPM
+
       Libzypp works with repository metadata, this is information about packages and their relations extracted from RPM packages and other data like patch information, pattern
      packages and other data like patch information, pattern definitions, etc. These data are stored together with
+
      definitions, etc. These data are stored together with the RPM files in folders called repositories. Repositories can be placed on various media like an HTTP or FTP server,
      the RPM files in folders called repositories. Repositories can be placed on various media like an HTTP or FTP
+
       DVD, or a folder on a local disc.
       server, DVD, or a folder on a local disc.
+
 
 +
      There is a special set of commands in zypper intended to manipulate repositories. Also many commands and options take a repository as an argument. See section COMMANDS,
 +
      subsection Repository Management for more details.
  
       There is a special set of commands in zypper intented  to manipulate  repositories.   Also  many  commands  and
+
  GPG checks
       options  take  a repository  as  an  arugment.  See section COMMANDS, subsection Repository Management for more
+
       Disabling GPG checks is not recommended. Signing data enables the recipient to verify that no modifications occurred after the data were signed. Accepting data with no, wrong
      details.
+
       or unknown signature can lead to a corrupted system and in extreme cases even to a system compromise.
  
 +
      Zypp verifies the authenticity of repository metadata by checking their GPG signature. If the repository metadata are signed with a trusted key and successfully verified,
 +
      packages from this repository are accepted for installation if they match the checksum provided in the metadata. Using unsigned repositories needs to be confirmed.
  
  Resource Identfiers (URI)
+
       If the repository metadata are not signed, the GPG signature of each downloaded rpm package is checked before accepting it for installation. Packages from unsigned
       To specify locations of repositories or other resources (RPM files, .repo files) you can use any  type  of  URIs
+
       repositories need a valid GPG signature. Using unsigned packages needs to be confirmed.
       supported by libzypp. See http://en.opensuse.org/openSUSE:Libzypp_URIs for a complete list and usage examples.
 
  
       Zypper  also  accepts special URIs identifying openSUSE Build Service (OBS) repositories in the addrepo command.
+
       The above is the default behavior defined by settings in /etc/zypp/zypp.conf.
      These URIs have the form of obs://<project>/[platform], where project is the name of the OBS project  and  plat-
 
      form  is  the  target  platform  (OS) for which the repository is intended. For example: obs://server:http/open-
 
      SUSE_11.3.
 
  
       If platform is omitted, zypper.conf's obs.platform value is used. See also other options in the [obs]  section
+
       The addrepo and modifyrepo commands provide further options to tune the behavior per repository. It is for example possible to relax the need to confirm installing unsigned
       of zypper.conf.
+
      packages for a specific repository. But if you do so, you should be very certain that an attacker can hardly modify the package data within the repository or on the way to
 +
       your machine. See section COMMANDS for details about the command options.
  
       In  addition  to these URIs you can use plain directory and file paths in which case zypper automatically treats
+
  Resource Identifiers (URI)
       them as dir:/path URIs.
+
       To specify locations of repositories or other resources (RPM files, .repo files) you can use any type of URI supported by libzypp. In addition Zypper accepts a special URI
 +
       identifying openSUSE Build Service (OBS) repositories in the addrepo command. These URIs have the form of obs://’project'/[platform].
  
 +
      See section COMMANDS, subsection Repository Management for a complete list and examples of supported URI formats.
  
 
   Refresh
 
   Refresh
       Refreshing a repository means downloading metadata of packages from the medium (if needed), storing it in local
+
       Refreshing a repository means downloading metadata of packages from the medium (if needed), storing it in local cache (typically under /var/cache/zypp/raw/’alias' directory)
      cache (typically under /var/cache/zypp/raw/<alias>  directory) and preparsing the metadata into .solv files
+
      and preparsing the metadata into .solv files (building the solv cache), typically under /var/cache/zypp/solv/’alias'.
      (building the solv cache), typically under /var/cache/zypp/solv/<alias>.
 
  
       The metadata get refreshed either automatically or on user request. An automatic refresh takes place right
+
       The metadata get refreshed either automatically or on user request. An automatic refresh takes place right before reading metadata from the database if the auto-refresh is
      before reading metadata from the database if the auto-refresh is enabled for the repository and the metada is
+
      enabled for the repository and the metadata is reported to be out of date. If the auto-refresh is disabled, the repository will only be refreshed on user request. You can
      reported to be out of date. If the auto-refresh is disabled, the repository will only be refreshed on user
+
      request a refresh by calling zypper refresh (see the documentation of the refresh command for details).
      request. You can request a refresh by calling zypper refresh (see the documentation of the refresh command for
 
      details).
 
  
       The repository metadata are checked for changes before actually doing the refresh. A change is detected by down-
+
       The repository metadata are checked for changes before actually doing the refresh. A change is detected by downloading one or two metadata index files (small files) and
      loading  one or two metadata index files (small files) and comparing the checksums of the cached ones and the
+
      comparing the checksums of the cached ones and the remote ones. If the files differ, the repository is out of date and will be refreshed.
      remote ones. If the files differ, the repository is out of date and will be refreshed.
 
  
       To delay the up-to-date check (and thus the automatic refresh) for a certain number of minutes, edit the value
+
       To delay the up-to-date check (and thus the automatic refresh) for a certain number of minutes, edit the value of the repo.refresh.delay attribute of ZYpp config file
      of the repo.refresh.delay attribute of ZYpp config file (/etc/zypp/zypp.conf). This means, zypper will not even
+
      (/etc/zypp/zypp.conf). This means, zypper will not even try to download and check the index files, and you will be able to use zypper for operations like search or info
      try to download and check the index files, and you will be able to use zypper for operations like search or info
 
 
       without internet access or root privileges.
 
       without internet access or root privileges.
  
 +
  Services
 +
      Services are one level above repositories and serve to manage repositories or to do some special tasks. Libzypp currently supports Repository Index Service (RIS) and Plugin
 +
      Service.
  
  Services
+
       Repository Index Service (RIS) is a special type of repository which contains a list of other repositories. This list can be generated dynamically by the server according to
       Services  are one level above repositories and serve to manage repositories or to do some special tasks. Libzypp
+
      some URI parameters or user name, or can be static. Once such service is added to your system, zypper takes care of adding, modifying, or removing these repositories on your
       currently supports only one type of services, the Repository Index Service (RIS).
+
       system to reflect the current list. See section Service Management and <https://en.opensuse.org/openSUSE:Standards_Repository_Index_Service> for more details.
  
       Repository Index Service (RIS) is a special type of repository which contains a list of other repositories. This
+
  Package Types
      list can be generated dynamically by the server according to some URI parameters or user name, or can be static.
+
       Zypper works with several types of resource objects, called resolvables. A resolvable might be a  package, patch, patternproduct; basically any kind of object with
      Once such service is added to your system, zypper takes care of adding, modifying, or removing  these reposito-
+
       dependencies to other objects.
      ries on your system to  reflect  the  current list. See section Service Management and http://old-en.open-
 
       suse.org/Standards/Repository_Index_Service for more details.
 
  
 +
      package
 +
          An ordinary RPM package.
  
  Package Types
+
      patch
      zypper works with several types of resource objects, called resolvablesA resolvable is a package, patch, pat-
+
          A  released  patch  conflicts  with the affected/vulnerable versions of a collection of packages. As long as any of these affected/vulnerable versions are installed, the
      tern, or a product.
+
          conflict triggers and the patch is classified as needed, optional or as unwanted if the patch is locked. + Selecting the patch, the conflict is resolved by  updating  all
 +
          installed  and  affected/vulnerable  packages  to a version  providing the fix. When updating the packages zypper always aims for the latest available version. Resolved
 +
          patches are classified as either applied or not needed, depending on whether they refer to actually installed packages. + Depending on the kind  of  defect,  patches  are
 +
          classified  by  category and severity. Commonly used values for category are security, recommended, optional, feature, document or yast. Commonly used values for severity
 +
          are critical, important, moderate, low or unspecified. + Note that the patch command does not apply optional patches (category optional or feature)  by  default.  If  you
 +
          actually  want to consider all optional patches as being needed, say patch --with-optional. Specific patches can be applied using the install command (e.g. zypper install
 +
          patch:openSUSE-2014-7).
  
       package - an ordinary RPM package.
+
       pattern
      patch - update of one or more packages. A patch can include special scripts and messages to be run or shown dur-
+
          A group of packages required or recommended to install some functionality.
      ing installation of the update.
 
      pattern - group of packages required or recommended to install some functionality.
 
      product - group of packages which are necessary to install a product.
 
      srcpackage - source code package (.src.rpm). This type works in search and install commands.
 
  
       Throughout this manual we will refer to resolvables simply as packages and to resolvable types as package types.
+
       product
      These type names can be used as arguments of --type option in several commands like install, info, or search.
+
          A group of packages which are necessary to install a product.
  
 +
      srcpackage
 +
          Source code package (.src.rpm). This type works in search and install commands.
  
  Package Dependencies
+
       application
       Software  packages  depend  on each other in various ways. Packages usually require or recommend other packages,
+
          Legacy: Since libzypp-17.7.0 this type is no longer available.
      they can declare that they conflict with other packages, etc. Packages can also  depend  on  specific  hardware.
 
      See  http://old-en.opensuse.org/Software_Management/Dependencies  for more information. Zypper uses a dependency
 
      solver to find out what packages need to be installed to satisfy the user's request.
 
  
 +
      Throughout this manual we will often refer to resolvables simply as packages and to resolvable types as package type or kind. These type names can be  used  as  arguments  of
 +
      --type option in several commands like install, info, or search. Commands should also allow to specify resolvables as KIND:’NAME' (e.g. patch:openSUSE-2014-7).
  
 +
  Package Dependencies
 +
      Software  packages  depend  on  each other in various ways. Packages usually require or recommend other packages, but they can also conflict with other packages. Packages may
 +
      support specific hardware or language settings. Zypper uses a dependency solver to find out which packages need to be installed to satisfy the user’s request. See <https://
 +
      en.opensuse.org/Libzypp/Dependencies> for more information.
  
COMMANDS
+
  Automatically installed packages
       zypper provides a number of commands. Each command accepts the options listed in the GLOBAL OPTIONS  section.
+
       Packages added by the dependency solver in order to resolve a user’s request are remembered as having been 'automatically installed'. They may later be removed, if no more
      These options must be specified before the command name. In addition, many commands have specific options, which
+
       user installed packages depend on them (e.g. by zypper remove --clean-deps).
       are listed in this section. These command-specific options must be specified after the name of the  command  and
 
      before any of the command arguments.
 
  
 +
      In the S+tatus+ column the search command distinguishes between user installed packages (i+) and automatically installed packages (i).
  
   General Commands
+
   Package File Conflicts
       help [command]
+
       File conflicts happen when two packages attempt to install files with the same name but different contents. This may happen if you are installing a newer version of a package
              Shows  help  texts.  If  invoked  without any argument (just ´zypper´ or ´zypper help´), zypper displays
+
      without erasing the older version, of if two unrelated packages each install a file with the same name.
              global help text which lists all available global options and commands (except those  provided  only  for
 
              compatibility with rug).
 
  
              If invoked with a command name argument, zypper displays help for the specified command, if such command
+
      As checking  for file conflicts requires access to the full filelist of each package being installed, zypper will check for file conflict only if all packages are downloaded
              exists. Long as well as short variants of the command names can be used.
+
      in advance (see --download-in-advance).
  
              For your convenience, zypper help can be invoked in any of the following ways:
+
      As the reason for file conflicts usually is a poor package design or lack of coordination between the people building the packages, they are not easy to resolve. By using the
 +
      --replacefiles option you can force zypper to replace the conflicting files. Nevertheless this may damage the package whose file gets replaced.
  
              $ zypper help [command]
+
COMMANDS
              $ zypper -h|--help [command]
+
      zypper provides  a  number  of  commands.  Each command accepts the options listed in the GLOBAL OPTIONS section. These options must be specified before the command name. In
              $ zypper [command] -h|--help
+
      addition, many commands have specific options, which are listed in this section. These command-specific options must be specified after the name of the command and before any
 +
      of the command arguments.
  
 +
      Zypper also provides limited support for writing extensions/subcommands in any language. See section SUBCOMMANDS for details.
  
       shell (sh)
+
  General Commands
              Starts a shell for entering multiple commands in one session. Exit the shell using  "exit", "quit", or
+
       help [command]
              Ctrl-D.
+
          Shows  help texts. If invoked without any argument (just zypper or zypper help), zypper displays global help text which lists all available global options and commands. +
 +
          If invoked with a command name argument, zypper displays help for the specified command, if such command exists. Long as well as short variants of the command names can
 +
          be used. + For your convenience, zypper help can also be invoked in any of the following ways:
  
              The  shell support is not complete so expect bugs there. However, there's no urgent need to use the shell
+
          $ zypper -h|--help [command]
              since libzypp became so fast thanks to the SAT solver and its tools (openSUSE 11.0),  but  still,  you're
 
              welcome to experiment with it.
 
  
 +
          $ zypper [command] -h|--help
  
 +
          shell (sh)
 +
              Starts  a  shell  for entering multiple commands in one session. Exit the shell using exit, quit, or Ctrl-D. + The shell support is not complete so expect bugs there.
 +
              However, there’s no urgent need to use the shell since libzypp became so fast thanks to the SAT solver and its tools (openSUSE 11.0), but  still,  you’re  welcome  to
 +
              experiment with it.
  
 
   Package Management Commands
 
   Package Management Commands
       info (if) [options] <name> ...
+
       info (if) [options] name...
              Displays detailed information about the specified packages.
+
          Displays detailed information about the specified packages.  + For each specified package, zypper finds the best available version in defined repositories and shows
 +
          information for this package.
 +
 
 +
          -r, --repo alias|name|#|URI
 +
              Work only with the repository specified by the alias, name, number or URI. This option can be used multiple times.
  
              For  each  specified  package, zypper finds the best available version in defined repositories and shows
+
          -t, --type type
              information for this package.
+
              Type of package (default: package). See section Package Types for list of available package types.
  
 +
          --provides
 +
              Show symbols the package provides.
  
      -r, --repo <alias|name|#|URI>
+
          --requires
              Work only with the repository specified by the alias, name, number or URI. This option can be used multi-
+
              Show symbols the package requires.
              ple times.
 
  
      -t, --type <type>
+
          --conflicts
              Type of package (default: package). See section Package Types for list of available package types.
+
              Show symbols the package conflicts with.
  
           --requires
+
           --obsoletes
              Show also symbols required and pre-required by the package. Available for package and patch type only.
+
              Show symbols the package obsoletes.
  
 
           --recommends
 
           --recommends
              Show also symbols recommended by the package. Available for package and patch type only.
+
              Show symbols the package recommends.
  
      Examples:
+
          --suggests
 +
              Show symbols the package suggests.
  
              Show information about package 'workrave':
+
          --supplements
              $ zypper info workrave
+
              Show symbols the package supplements.
  
              Show information about patch 'libzypp':
+
          Examples:
              $ zypper info -t patch libzypp
 
  
              Show information about pattern 'lamp_server':
+
              $ zypper info workrave
              $ zypper info -t pattern lamp_server
+
                  Show information about package workrave
  
 +
              $ zypper info -t patch libzypp
 +
                  Show information about patch libzypp
  
      install (in) [options] <name|capability|rpm_file_uri> ...
+
              $ zypper info -t pattern lamp_server
              Install or update packages.
+
                  Show information about pattern lamp_server
  
              The packages can be selected by their name or by a capability they provide.
+
      install (in) [options] name|capability|rpm_file_uri...
 +
          Install or update packages.
  
              Capability  is: NAME, or "NAME[.ARCH][OP<EDITION>]", where ARCH is architecture code, OP is <, <=, =, >=,
+
          The packages can be selected by their name or by a capability they provide.
              or > and EDITION is VERSION[-RELEASE].  For example: zypper=0.8.8-2.
+
              + A capability is formed by "NAME[.’ARCH'][ OP EDITION]", where ARCH is an architecture code, OP is one of <, <=, =, >=, or > and EDITION is "VERSION[-’RELEASE']".
 +
              For example: zypper=0.8.8-2 +  The  NAME  component  of  a  capability  is  not  only  a  package  name but any symbol provided by packages: /bin/vi, libcurl.so.3,
 +
              perl(Time::ParseDate). Just remember to quote to protect the special characters from the shell, for example: zypper\>0.8.10 or 'zypper>0.8.10'. + If  EDITION  is  not
 +
              specified,  the  newest  installable version will be installed. This also means that if the package is already installed and newer versions are available, it will get
 +
              upgraded to the newest installable version. + If ARCH is not specified, or the last dot of the capability name string is  not  followed  by  known  architecture,  the
 +
              solver  will  treat  the  whole  string  as  a capability name. If the ARCH is known, the solver will select a package matching that architecture and complain if such
 +
              package cannot be found.
  
              The NAME component of a capability is not only a package name but any symbol provided by  packages:
+
          Zypper is also able to install plain RPM files while trying to satisfy their dependencies using packages from defined repositories. You can install a plain RPM file by
              /bin/vi,  libcurl.so.3perl(Time::ParseDate)Just remember to quote to protect the special characters
+
          specifying its location in the install command arguments either as a local path or an URI. E.g.:
              from the shell, for example: zypper\>0.8.10 or 'zypper>0.8.10'
+
              + $ zypper install ~/rpms/foo.rpm <http://some.site/bar.rpm>. + Zypper will report packages that it cannot find. Further, in interactive mode, zypper proceeds with
 +
              installation of the rest of requested packages, and it will abort immediately in non-interactive mode. In  both  cases  zypper  returns  ZYPPER_EXIT_INF_CAP_NOT_FOUND
 +
              after  finishing  the operation+  Zypper  will  collect  the  files  in  a  temporary  plaindir  repository  and mark the respective packages for installation. If
 +
              --download-only is used, the downloaded packages will be available in /var/cache/zypper/RPMS until you actually install them or call zypper clean to clear the package
 +
              caches.
  
              If EDITION is not specified, the newest installable version will be installed. This also means  that if
+
          In the install command, you can also specify packages you wish to remove by prepending their names by a - or ! character. For example:
              the  package is already installed and newer versions are available, it will get upgraded to the newest
+
              +  $  zypper install \!Firefox + In contrast to zypper remove Firefox which removes Firefox and its dependent packages, the install command will try to keep dependent
              installable version.
+
              packages installed by looking for Firefox alternatives. + Note that if you choose to use - with the first package you specify, you need  to write -- before it to
 +
              prevent its interpretation as a command option: + $ zypper install --  -boring-game great-game great-game-manual
  
              If ARCH is not specified, or the last dot of the capability name string is not followed by  known  archi-
+
          -r, --repo alias|name|#|URI
              tecture,  the solver  will treat the whole string as a capability name. If the ARCH is known, the solver
+
              Work only with the repository specified by the alias, name, number or URI. This option can be used multiple times. + Using --repo is discouraged as it currently hides
              will select a package matching that architecture and complain if such package cannot be found.
+
              unmentioned repositories from the resolver, leading to inexpertly decisions. In the future --repo will become an alias for --from.
  
              Zypper will report packages that it cannot find. Further,  in  interactive  mode,  zypper proceeds  with
+
          -t, --type type
              installation of the rest of requested packages, and it will abort immediately in non-interactive mode. In
+
              Type of package to install (default: package). See section Package Types for list of available package types. Use zypper se -t type [name] to look for available items
              both cases zypper returns ZYPPER_EXIT_INF_CAP_NOT_FOUND after finishing the operation.
+
              of this type and zypper info -t type name to display more detailed information about the item. + If patch is specified, zypper will install and/or remove packages to
 +
              satisfy specified patch. This is a way to ensure that specific bug fix is installed. Use zypper list-patches to look for applicable patches. + If product  or  pattern
 +
              are specified, zypper ensures that all required (and optionally recommended) packages are installed.
  
              Zypper is also able to install plain RPM files while trying to satisfy their dependencies using  packages
+
          -n, --name
              from  defined  repositories.  You  can install a plain RPM file by specifying its location in the install
+
              Select packages by their name, don’t try to select by capabilities.
              command arguments either as a local path or an URI. E.g.:
 
  
              $ zypper install ~/rpms/foo.rpm http://some.site/bar.rpm
+
          -f, --force
 +
              Install even if the item is already installed (reinstall), downgraded or changes vendor or architecture.
  
              Zypper will download the files into its cache directory (/var/cache/zypper/RPMS), add this directory as a
+
          --oldpackage
              temporary plaindir repository and mark the respective packages for installation.
+
              Allow  to  replace a newer item with an older one. Handy if you are doing a rollback. Unlike --force it will not enforce a reinstall, if the item is already installed
 +
              with the requested version.
  
              In  the install command, you can specify also packages you wish to remove in addition to the packages you
+
          --from alias|name|#|URI
              wish to install, by prepending their names by a '-' or '~' character. For example:
+
              Select packages from specified repository. If strings specified as arguments to the install command match packages in repositories specified in this option, they will
 +
              be marked for installation. This option currently implies --name, but allows using wildcards for specifying packages.
  
              $ zypper install vim -emacs
+
          -C, --capability
              $ zypper remove emacs +vim
+
              Select packages by capabilities.
  
              will both install vim and remove emacs. Note that if you choose to use '-' with  the first package you
+
          -l, --auto-agree-with-licenses
              specify, you need to write '--' before it to prevent its interpretation as a command option.
+
              Automatically say yes to third party license confirmation prompt. By using this option, you choose to agree with licenses of all third-party software this command
 +
              will install. This option is particularly useful for administrators installing the same set of packages on multiple machines (by an automated process)  and  have  the
 +
              licenses confirmed before.
  
              $ zypper install -- -boring-game great-game great-game-manual
+
          --auto-agree-with-product-licenses
 +
              Automatically  accept product licenses only. This is used by tools like SUSEconnect, which ask for confirmation before the product gets registered. So there’s no need
 +
              to confirm the product license again at install time.
  
      -r, --repo <alias|name|#|URI>
+
          --replacefiles
              Work only with the repository specified by the alias, name, number or URI. This option can be used multi-
+
              Install the packages even if they replace files from other, already installed, packages. Default is to treat file conflicts as an error. --download-as-needed disables
              ple times.
+
              the file conflict check because access to all packages file lists is needed in advance in order to perform the check.
  
      -t, --type <type>
+
          -D, --dry-run
              Type of package to install (default: package). See section Package Types for list  of  available  package
+
              Test the installation, do not actually install any package. This option will add the --test option to the rpm commands run by the install command.
              types.
 
  
              If  pattern  is specified, and the pattern is not yet installed, all packages required and recommended by
+
          --details
              the pattern will be installed.  A pattern is considered installed if all the  packages  and  patterns  it
+
              Show the detailed installation summary.
              requires are installed. Thus a pattern can be evalueated as installed even if you do not install the pat-
 
              tern itself, but rather the packages it requries. Use zypper search -t pattern [name] to look for  avail-
 
              able patterns and zypper info -t pattern <name> to list its contents.
 
  
              If  patch  is specified, zypper will install and/or remove packages to satisfy specified patch. This is a
+
          -y, --no-confirm
              way to ensure that specific bug fix is installed. Like  patterns,  patches  can  also  be  evaluated  as
+
              Don’t require user interaction. Alias for the --non-interactive global option.
              installed  by  installing  the packages needed to satisfy the patch.  Use zypper list-patches to look for
 
              available needed patches and zypper info -t patch <name> to display detailed information about a patch.
 
  
              If product is specified, zypper ensures all packages required by the product are installed. Use zypper se
+
          --allow-unsigned-rpm
              -t  product  [name]  to look for available products and zypper info -t product <name> to display detailed
+
              Silently install unsigned rpm packages given as commandline parameters.
              information about a product.
 
  
 +
          Solver related options:
  
      -n, --name
+
          --debug-solver
              Select packages by their name, don't try to select by capabilities.
+
              Create  solver  test  case  for  debugging.  Use  this  option,  if  you  think  the  dependencies  were  not  solved  all  right  and  attach  the  resulting
 +
              /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.
  
      -f, --force
+
          --force-resolution
              Install even if the item is already installed (reinstall), downgraded or changes vendor or architecture.
+
              Force the solver to find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing  packages  (zypper  remove).  This
 +
              option overrides --no-force-resolution in case both are specified on the command line.
  
           --oldpackage
+
           -R, --no-force-resolution
              Allow to replace a newer item with an older one. Handy if you are doing a  rollback.  Unlike  --force it
+
              Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
              will not enforce a reinstall, if the item is already installed with the requested version.
+
              packages (zypper remove).
  
           --from <alias|name|#|URI>
+
           --recommends
              Select packages from specified repository. If strings specified as arguments to the install command match
+
              Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
              packages in repositories specified in this option, they will be marked for installation. This option cur-
 
              rently implies --name, but allows using wildcards for specifying packages.
 
  
      -C, --capability
+
          --no-recommends
              Select packages by capabilities.
+
              Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
  
      -l, --auto-agree-with-licenses
+
          Download-and-install mode options:
              Automatically  say  'yes' to third party license confirmation prompt. By using this option, you choose to
 
              agree with licenses of all third-party software this command will install. This  option  is  particularly
 
              useful  for  administators  installing  the  same  set  of packages on multiple machines (by an automated
 
              process) and have the licenses confirmed before.
 
  
           --debug-solver
+
           -d, --download-only
              Create solver test case for debugging. Use this option, if you think the dependencies were not solved all
+
              Only download the packages for later installation.
              right  and  attach the resulting /var/log/zypper.solverTestCase directory to your bug report. To use this
 
              option, simply add it to the problematic install or remove command.
 
  
           --no-recommends
+
           --download-in-advance
              By default, zypper installs also packages recommended by the requested  ones.  This  option  causes  the
+
              First download all packages, then start installing.
              recomended packages to be ignored and only the required ones to be installed.
 
  
      -R, --no-force-resolution
+
          --download-in-heaps
              Do not force the  solver to find a solution. Instead, report dependency problem and prompt the user to
+
              Download a minimal set of packages that can be installed without leaving the system in broken state, and install them. Then download and install  another  heap  until
              resolve it manually.
+
              all are  installed.  This  helps  to keep the  system  in  consistent  state without the need to download all packages in advance, which combines the advantages of
 +
              --download-in-advance and --download-as-needed. This is the default mode. + NOTE: While the resolver is not capable of  building  heaps, this  behaves  the same  as
 +
              --download-in-advance.
  
           --force-resolution
+
           --download-as-needed
              Force the solver to find a solution, even if  it would  mean  removing  all packages  with  unfulfilled
+
              Download one package, install it immediately, and continue with the rest until all are installed.
              requirements.
 
  
              The default behavior is 'force' in the interactive mode and 'no-force' in the non-interactive mode. If
+
          --download mode
              this option is specified, it takes the preference.
+
              Use  the  specified  download-and-install mode. Available modes  are:  only, in-advance, in-heaps, as-needed. See corresponding --download-’mode' options for their
 +
              description.
  
      -D, --dry-run
+
          Expert Options:
              Test the installation, do not actually install any package. This option will add the --test option to the
+
              Don’t use them unless you know you need them.
              rpm commands run by the install command.
 
  
      Download-and-install mode options:
+
          --[no-]allow-downgrade
 +
              Whether to allow downgrading installed resolvables.
  
      -d, --download-only
+
          --[no-]allow-name-change
              Only download the packages for later installation.
+
              Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.
  
           --download-in-advance
+
           --[no-]allow-arch-change
              First download all packages, then start installing.
+
              Whether to allow changing the architecture of installed resolvables.
  
           --download-in-heaps
+
           --[no-]allow-vendor-change
              (Not  yet  implemented, currently the same as --download-in-advance).  Download a minimal set of packages
+
              Whether to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to the
              that can be installed without leaving the system in broken state, and install  them. Then  download  and
+
              distributions version (or vice versa).
              install  another  heap until all are installed. This helps to keep the system in consistent state without
 
              the need to download all package in advance, which combines the advantages of  --download-in-advance  and
 
              --download-as-needed.  This is the default mode.
 
  
           --download-as-needed
+
           Examples:
              Download one package, install it immediately, and continue with the rest until all are installed.
 
  
          --download <mode>
+
              $ zypper install -t pattern lamp_server
              Use  the specified download-and-install mode. Available modes are: only, in-advance, in-heaps, as-needed.
+
                  Install lamp_server pattern.
              See corresponding --download-<mode> options for their description.
 
  
 +
              $ zypper install --no-recommends gv
 +
                  Install GhostScript viewer, but ignore recommended packages.
  
      More examples:
+
              $ zypper install virtualbox-ose-2.0.6
  
              Install lamp_server pattern:
+
              $ zypper install virtualbox-ose=2.0.6
              $ zypper install -t pattern lamp_server
 
  
              Install GhostScript viewer, but ignore recommended packages:
+
              $ zypper install virtualbox-ose = 2.0.6
              $ zypper install --no-recommends gv
+
                  Install version 2.0.6 of virtualbox-ose package.
  
              Install version 2.0.6 of virtualbox-ose package (any of the following):
+
      source-install (si) name...
              $ zypper install virtualbox-ose-2.0.6
+
          Install specified  source  packages  and  their build dependencies. If the name of a binary package is given, the corresponding source package is looked up and installed
              $ zypper install virtualbox-ose=2.0.6
+
          instead. + This command will try to find the newest available versions of the source packages and uses rpm -i to install them, optionally together with all  the  packages
              $ zypper install virtualbox-ose = 2.0.6
+
          that  are  required  to  build  the source package. The default location where rpm installs source packages to is /usr/src/packages/{SPECS,SOURCES}, but the values can be
 +
          changed in your local rpm configuration. In case of doubt try executing rpm --eval "%{_specdir} and %{_sourcedir}". + Note that the source packages must be  available  in
 +
          repositories you are using. You can check whether a repository contains any source packages using the following command:
  
 +
              $ zypper search -t srcpackage -r alias|name|#|URI
  
 +
          -d, --build-deps-only
 +
              Install only build dependencies of specified packages.
  
      source-install (si) <name> ...
+
          -D, --no-build-deps
              Install specified source packages and their build dependencies. If the name of a binary package is given,
+
              Don’t install build dependencies.
              the coresponding source package is looked up and installed instead.
 
  
              This  command  will  try  to  find the newest available versions of the source packages and use rpm -i to
+
          -r, --repo alias|name|#|URI
              install them and the packages that are required to build the source package.
+
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
  
              Note that the source packages must be available in repositories you are using. You can check  whether  a
+
          --download-only
              repository contains any source packages using the following command:
+
              Only download the packages, do not install.
  
              $ zypper search -t srcpackage -r <alias|name|#|URI>
+
          Examples:
  
 +
              $ zypper si -d dbus-1
 +
                  Install build dependencies of dbus-1 source package.
  
       -d, --build-deps-only
+
       verify (ve) [options]
              Install only build dependencies of specified packages.
+
          Check  whether  dependencies of installed packages are satisfied. + In case that any dependency problems are found, zypper suggests packages to install or remove to fix
 +
          them.
  
      -D, --no-build-deps
+
          -D, --dry-run
              Don't install build dependencies.
+
              Test the repair, do not actually do anything to the system.
  
      -r, --repo <alias|name|#|URI>
+
          --details
              Work  only with the repository specified by the alias, name, number, or URI. This option can be used mul-
+
              Show the detailed installation summary.
              tiple times.
 
  
           --download-only
+
           -r, --repo alias|name|#|URI
              Only download the packages, do not install.
+
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
  
      Examples:
+
          -y, --no-confirm
 +
              Don’t require user interaction. Alias for the --non-interactive global option.
  
              Install build dependencies of dbus-1 source package:
+
          Solver related options:
              $ zypper si -d dbus-1
 
  
 +
          --debug-solver
 +
              Create  solver  test  case  for  debugging.  Use  this  option,  if  you  think  the  dependencies  were  not  solved  all  right  and  attach  the  resulting
 +
              /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.
  
      verify (ve) [options]
+
          --force-resolution
              Check whether dependencies of installed packages are satisfied.
+
              Force  the  solver  to  find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing packages (zypper remove). This
 +
              option overrides --no-force-resolution in case both are specified on the command line.
  
              In case that any dependency problems are found, zypper suggests packages to  install  or  remove to  fix
+
          -R, --no-force-resolution
              them.
+
              Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
 +
              packages (zypper remove).
  
 +
          --recommends
 +
              Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
  
 
           --no-recommends
 
           --no-recommends
              By  default, zypper installs also packages recommended by the requested ones (the ones needed to fix bro-
+
              Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
              ken dependencies in this case). This option causes the recomended packages to be ignored  and  only  the
+
 
              required ones to be installed.
+
          Expert Options:
 +
              Don’t use them unless you know you need them.
 +
 
 +
          --[no-]allow-downgrade
 +
              Whether to allow downgrading installed resolvables.
  
      -D, --dry-run
+
          --[no-]allow-name-change
              Test the repair, do not actually do anything to the system.
+
              Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.
  
      -r, --repo <alias|name|#|URI>
+
          --[no-]allow-arch-change
              Work  only with the repository specified by the alias, name, number, or URI. This option can be used mul-
+
              Whether to allow changing the architecture of installed resolvables.
              tiple times.
 
  
           --debug-solver
+
           --[no-]allow-vendor-change
              Create solver test case for debugging. See the install command for details.
+
              Whether  to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to the
 +
              distributions version (or vice versa).
  
 +
          This command also accepts the Download-and-install mode options described in the install command.
  
 
       install-new-recommends (inr) [options]
 
       install-new-recommends (inr) [options]
              Install newly added packages recommended by already installed ones.   This  can typically be used to
+
          Install newly added packages recommended by already installed ones. This command basically re-evaluates the recommendations of all installed packages  and fills  up  the
              install language packages recently added to repositories or drivers for newly added hardware.
+
          system  accordingly. You don’t want to call this unconditionally on small or minimal systems, as it may easily add a large number of packages. + Called as zypper inr
 +
          --no-recommends, it restricts the command to just look for packages supporting available hardware, languages or filesystems. Usefull after having added e.g. new  hardware
 +
          or driver repos. This is also the default behavior if you have set [zypp.conf:solver.onlyRequires].
 +
 
 +
          -r, --repo alias|name|#|URI
 +
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
  
 +
          -D, --dry-run
 +
              Test the installation, do not actually install anything.
  
      -r, --repo <alias|name|#|URI>
+
          --details
              Work  only with the repository specified by the alias, name, number, or URI. This option can be used mul-
+
              Show the detailed installation summary.
              tiple times.
 
  
      -D, --dry-run
+
          Solver related options:
              Test the installation, do not actually install anything.
 
  
 
           --debug-solver
 
           --debug-solver
              Create solver test case for debugging. See the install command for details.
+
              Create   solver   test   case   for   debugging.   Use  this  option,  if  you  think  the dependencies  were  not  solved  all  right  and  attach  the  resulting
 +
              /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.
  
      This command also accepts the download-and-install mode options described
+
          --force-resolution
              in the install command description.
+
              Force the solver to find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing  packages  (zypper  remove).  This
 +
              option overrides --no-force-resolution in case both are specified on the command line.
  
 +
          -R, --no-force-resolution
 +
              Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
 +
              packages (zypper remove).
  
      remove (rm) [options] <name> ...
+
          --recommends
 +
              Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
  
      remove (rm) [options] --capability <capability> ...
+
          --no-recommends
              Remove (uninstall) packages.
+
              Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
 +
 
 +
          Expert Options:
 +
              Don’t use them unless you know you need them.
 +
 
 +
          --[no-]allow-downgrade
 +
              Whether to allow downgrading installed resolvables.
  
              The packages can be selected by their name or by a capability  they  provide.  For  details  on  package
+
          --[no-]allow-name-change
              selection see the install command description.
+
              Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.
  
 +
          --[no-]allow-arch-change
 +
              Whether to allow changing the architecture of installed resolvables.
  
      -r, --repo <alias|name|#|URI>
+
          --[no-]allow-vendor-change
              Work  only with the repository specified by the alias, name, number, or URI. This option can be used mul-
+
              Whether to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to  the
              tiple times.
+
              distributions version (or vice versa).
  
      -t, --type <type>
+
          This command also accepts the Download-and-install mode options described in the install command.
              Type of package (default: package). See section Package Types for list of available package types.
 
  
              Since patches are not installed in sense of copying files or recording a database entry, they  cannot  be
+
      remove (rm) [options] name...
              uninstalled,  even though zypper shows them as installed. The installed status is determined solely based
 
              on the installed status of its required dependencies. If these dependencies are satisified, the patch  is
 
              rendered installed.
 
  
              Uninstallation of patterns is currently not implemented.
+
      remove (rm) [options] --capability capability...
 +
          Remove  (uninstall)  packages.  +  The  remove  command will uninstall the selected and their dependent packages. It will not try to install alternatives in order to keep
 +
          dependent packages installed. If you want this, use zypper install !name. + The packages can be selected by their name or by a capability they  provide.  For  details  on
 +
          package selection see the install command description.
  
      -n, --name
+
          -r, --repo alias|name|#|URI
              Select packages by their name (default).
+
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
  
      -C, --capability
+
          -t, --type type
              Select packages by capabilities.
+
              Type  of  package  (default:  package).  See section Package Types for list of available package types. + Since patches are not installed in sense of copying files or
 +
              recording a database entry, they cannot be uninstalled, even though zypper shows them as installed. The installed status is determined solely based on  the  installed
 +
              status of its required dependencies. If these dependencies are satisfied, the patch is rendered installed.
  
      --debug-solver
+
          -n, --name
              Create solver test case for debugging. See the install command for details.
+
              Select packages by their name (default).
  
      -R, --no-force-resolution
+
          -C, --capability
              Do  not  force  the  solver to find a solution. Instead, report dependency problem and prompt the user to
+
              Select packages by capabilities.
              resolve it manually.
 
  
           --force-resolution
+
           -D, --dry-run
              Force the solver to find a solution, even if  it  would  mean  removing  all  packages  with  unfulfilled
+
              Test the removal of packages, do not actually remove anything. This option will add the --test option to the rpm commands run by the remove command.
              requirements.
+
 
 +
          --details
 +
              Show the detailed installation summary.
 +
 
 +
          -y, --no-confirm
 +
              Don’t require user interaction. Alias for the --non-interactive global option.
  
              The  default  behavior  is 'force' in the interactive mode and 'no-force' in the non-interactive mode. If
+
          Solver related options:
              this option is specified, it takes the preference.
 
  
      -u, --clean-deps
+
          --debug-solver
              Automatically remove dependencies which become unneeded after removal of requested packages.
+
              Create  solver  test  case  for  debugging.  Use  this  option,  if  you  think  the  dependencies  were  not  solved  all  right  and  attach  the  resulting
 +
              /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.
  
      -U, --no-clean-deps
+
          --force-resolution
              No automatic removal of unneeded dependencies.
+
              Force the solver to find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing  packages  (zypper  remove).  This
 +
              option overrides --no-force-resolution in case both are specified on the command line.
  
      -D, --dry-run
+
          -R, --no-force-resolution
              Test the removal of packages, do not actually remove anything. This option will add the --test option  to
+
              Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
              the rpm commands run by the remove command.
+
              packages (zypper remove).
  
 +
          -u, --clean-deps
 +
              Automatically remove dependencies which become unneeded after removal of requested packages.
  
 +
          -U, --no-clean-deps
 +
              No automatic removal of unneeded dependencies.
  
 
   Update Management Commands
 
   Update Management Commands
 
       list-updates (lu) [options]
 
       list-updates (lu) [options]
              List available updates.
+
          List available updates. + This command will list only installable updates, i.e. updates which have no dependency problems, or which do not  change  package  vendor.  This
 +
          list is what the update command will propose to install. To list all packages for which newer version are available, use --all option.
  
              This command will list only installable updates, i.e. updates which have no dependency problems, or which
+
          -t, --type type
              do not change package vendor. This list is what the update command will propose to install. To  list  all
+
              Type of package (default: package). See section Package Types for list of available package types. + If patch is specified, zypper acts as if the list-patches command
              packages for which newer version are available, use --all option.
+
              was executed.
  
 +
          -r, --repo alias|name|#|URI
 +
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
  
      -t, --type <type>
+
          -a, --all
              Type of package (default: package). See section Package Types for list of available package types.
+
              List all packages for which newer versions are available, regardless whether they are installable or not.
  
              If patch is specified, zypper acts as if the list-patches command was executed.
+
          --best-effort
 +
              See the update command for description.
  
       -r, --repo <alias|name|#|URI>
+
       update (up) [options] [packagename]...
              Work only with the repository specified by the alias, name, number, or URI. This option can be used mul-
+
          Update installed packages with newer versions, where possible. + This command will not update packages which would require change of package vendor unless the  vendor  is
              tiple times.
+
          specified  in /etc/zypp/vendors.d,  or  which would require manual resolution of problems with dependencies. Such non-installable updates will then be listed in separate
 +
          section of the summary as "The following package updates will NOT be installed:". + To update individual packages, specify one or more package names. You can use  the  *
 +
          and ? wildcard characters in the package names to specify multiple packages matching the pattern.
  
      -a, --all
+
          -t, --type type
              List all packages for which newer versions are available, regardles whether they are installable or not.
+
              Type  of package (default: package). See section Package Types for list of available package types. + If patch is specified, zypper acts as if the patches command was
 +
              executed.
  
           --best-effort
+
           -r, --repo alias|name|#|URI
              See the update command for description.
+
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
  
 +
          --skip-interactive
 +
              This will skip interactive patches, that is, those that need reboot, contain a message, or update a package whose license needs to be confirmed.
  
 +
          --with-interactive
 +
              Avoid skipping of interactive patches when in non-interactive mode.
  
      update (up) [options] [packagename] ...
+
          -l, --auto-agree-with-licenses
              Update installed packages with newer versions, where possible.
+
              Automatically say yes to third party license confirmation prompt. By using this option, you choose to agree with licenses of all  third-party  software  this  command
 +
              will  install.  This  option is particularly useful for administrators installing the same set of packages on multiple machines (by an automated process) and have the
 +
              licenses confirmed before.
  
              This command will not update packages which would require change of package vendor unless the  vendor  is
+
          --auto-agree-with-product-licenses
              specified in /etc/zypp/vendors.d, or which would require manual resolution of problems with dependencies.
+
              Automatically accept product licenses only. This is used by tools like SUSEconnect, which ask for confirmation before the product gets registered. So there’s no  need
              Such non-installable updates will then be listed in separate section of the summary  as  "The  following
+
              to confirm the product license again at install time.
              package updates will NOT be installed:".
 
  
              To  update  individual  packages, specify one or more package names. You can use the '*' and '?' wildcard
+
          --replacefiles
              characters in the package names to specify multiple packages matching the pattern.
+
              Install the packages even if they replace files from other, already installed, packages. Default is to treat file conflicts as an error. --download-as-needed disables
 +
              the fileconflict check because access to all packages filelists is needed in advance in order to perform the check.
  
 +
          -D, --dry-run
 +
              Test the update, do not actually install or update any package. This option will add the --test option to the rpm commands run by the update command.
  
      -t, --type <type>
+
          --details
              Type of package (default: package). See section Package Types for list of available package types.
+
              Show the detailed installation summary.
  
              If patch is specified, zypper acts as if the patche command was executed.
+
          --best-effort
 +
              Do a best effort approach to update. This method does not explicitly select packages with best version and  architecture,  but  instead  requests  installation  of  a
 +
              package with higher version than the installed one and leaves the rest on the dependency solver. This method is always used for packages, and is optional for products
 +
              and patterns. It is not applicable to patches.
  
      -r, --repo <alias|name|#|URI>
+
          -y, --no-confirm
              Work only with the repository specified by the alias, name, number, or URI. This option can be used  mul-
+
              Don’t require user interaction. Alias for the --non-interactive global option.
              tiple times.
 
  
           --skip-interactive
+
           Solver related options:
              This will skip interactive patches, that is, those that need reboot, contain a message, or update a pack-
 
              age whose license needs to be confirmed.
 
  
      -l, --auto-agree-with-licenses
+
          --debug-solver
              Automatically say 'yes' to third party license confirmation prompt. By using this option, you choose to
+
              Create  solver  test case for debugging. Use this option, if you think the dependencies were  not  solved  all  right  and  attach  the  resulting
              agree with licenses of all third-party software this command will install. This option is particularly
+
              /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.
              useful for administators installing the same set of packages on multiple machines (by an  automated
 
              process) and have the licenses confirmed before.
 
  
           --debug-solver
+
           --force-resolution
              Create solver test case for debugging. See the install command for details.
+
              Force  the  solver to  find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing packages (zypper remove). This
 +
              option overrides --no-force-resolution in case both are specified on the command line.
  
           --no-recommends
+
           -R, --no-force-resolution
              By  default, zypper  installs  also  packages recommended by the requested ones. This option causes the
+
              Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
              recomended packages to be ignored and only the required ones to be installed.
+
              packages (zypper remove).
  
      -R, --no-force-resolution
+
          --recommends
              Do not force the solver to find a solution. Instead, report dependency problem and  prompt  the  user  to
+
              Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
              resolve it manually.
 
  
           --force-resolution
+
           --no-recommends
              Force  the  solver to  find  a  solution,  even  if it would mean removing all packages with unfulfilled
+
              Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
              requirements.
 
  
              The default behavior is 'no-force'. If this option is specified, it takes the preference.
+
          Expert Options:
 +
              Don’t use them unless you know you need them.
  
      -D, --dry-run
+
          --[no-]allow-downgrade
              Test the update, do not actually install or update any package. This option will add the --test option to
+
              Whether to allow downgrading installed resolvables.
              the rpm commands run by the update command.
 
  
           --best-effort
+
           --[no-]allow-name-change
              Do  a 'best effort' approach to update. This method does not explicitly select packages with best version
+
              Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.
              and architecture, but instead requests installation of a package with higher version than  the  installed
 
              one  and  leaves  the  rest  on  the  dependency  solver. This method is always used for packages, and is
 
              optional for products and patterns. It is not applicable to patches.
 
  
      This command also accepts the download-and-install mode options described
+
          --[no-]allow-arch-change
              in the install command description.
+
              Whether to allow changing the architecture of installed resolvables.
  
 +
          --[no-]allow-vendor-change
 +
              Whether  to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to the
 +
              distributions version (or vice versa).
  
 +
          This command also accepts the Download-and-install mode options described in the install command description.
  
 
       list-patches (lp) [options]
 
       list-patches (lp) [options]
              List all available needed patches.
+
          List all applicable patches. + This command is similar to zypper list-updates -t patch. + Note that optional arguments of some of the following options must be  specified
 
+
          using = instead of a space.
              This command is similar to 'zypper list-updates -t patch'.
 
  
              Note that since the arguments of some of the following options are not required, they must  be  specified
+
          -b, --bugzilla[='#[,...']]
              using '=' instead of a space.
+
              List applicable patches for all Bugzilla issues, or issues whose number matches the given string.
  
 +
          --cve[='#[,...']]
 +
              List applicable patches for all CVE issues, or issues whose number matches the given string.
  
      -b, --bugzilla[=#]
+
          --date YYYY-MM-DD[,...]
              List available needed patches for all Bugzilla issues, or issues whose number matches the given string.
+
              List only patches issued up to, but not including, the specified date.
  
            --cve[=#]
+
          -g, --category category[,...]
              List available needed patches for all CVE issues, or issues whose number matches the given string.
+
              List only patches with this category. See section Package Types for a list of commonly used category values.
  
      -g, --category <category>
+
          --severity severity[,...]
              List available patches in the specified category.
+
              List only patches with this severity. See section Package Types for a list of commonly used severity values.
  
            --issues[=string]
+
          --issues[=’string'[,...]]
              Look  for issues whose number, summary, or description matches the specified string. Issues found by num-
+
              Look  for issues whose number, summary, or description matches the specified string. Issues found by number are displayed separately from those found by descriptions.
              ber are displayed separately from those found by descriptions. In the latter case, use zypper patch-info
+
              In the latter case, use zypper patch-info patchname to get information about issues the patch fixes.
              <patchname> to get information about issues the patch fixes.
 
  
      -a, --all
+
          -a, *--all
              By default, only patches that are relevant and needed on your system are listed. This option causes all
+
              By default, only patches that are applicable on your system are listed. This option causes all available released patches to be listed. This option can be combined
              available released patches to be listed. This option can be combined with all the rest of the list-
+
              with all the rest of the list-updates command options.
              updates command options.
 
  
      -r, --repo <alias|name|#|URI>
+
          --with[out]-optional
              Work  only with the repository specified by the alias, name, number, or URI. This option can be used mul-
+
              Whether applicable optional patches should be treated as needed or be excluded. The default is to exclude optional patches.
              tiple times.
 
  
 +
          -r, --repo alias|name|#|URI
 +
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
  
 
       patch-check (pchk)
 
       patch-check (pchk)
              Check for patches. Displays a count of applicable patches and how many of them have the security cate-
+
          Check for patches. Displays a count of applicable patches and how many of them have the security category. + See also the EXIT CODES section for details on exit status of
              gory.
+
          0, 100, and 101 returned by this command.
  
      See also the EXIT CODES section for details on exit status of 0, 100, and 101 returned by this command.
+
          --updatestack-only
 +
              Check only for patches which affect the package management itself.
  
      -r, --repo <alias|name|#|URI>
+
          --with[out]-optional
              Check  for  patches only in the repository specified by the alias, name, number, or URI. This option can
+
              Whether applicable optional patches should be treated as needed or be excluded. The default is to exclude optional patches.
              be used multiple times.
 
  
 +
          -r, --repo alias|name|#|URI
 +
              Check for patches only in the repository specified by the alias, name, number, or URI. This option can be used multiple times.
  
 
       patch [options]
 
       patch [options]
              Install all available needed patches.
+
          Install all available needed patches. + If there are patches that affect the package management itself, those will be installed first and you will be  asked  to  run  the
 +
          patch command again. + This command is similar to zypper update -t patch.
 +
 
 +
          --updatestack-only
 +
              Install only patches which affect the package management itself and exit.
 +
 
 +
          --with-update
 +
              Additionally  try to update all packages not covered by patches. This is basically the same as running zypper update afterwards. + The option is ignored, if the patch
 +
              command must update the update stack first, thus it can not be combined with the --updatestack-only option.
  
              If there are patches that affect the package management itself, those will be installed  first  and  you
+
          --with[out]-optional
              will be asked to run the patch command again.
+
              Whether applicable optional patches should be treated as needed or be excluded. The default is to exclude optional patches.
  
              This command is similar to 'zypper update -t patch'.
+
          -b, --bugzilla #[,...]
 +
              Install patch fixing a Bugzilla issue specified by number. Use list-patches --bugzilla command to get a list of applicable patches for specific issues.
  
 +
          --cve #[,...]
 +
              Install patch fixing a MITRE’s CVE issue specified by number. Use list-patches --cve command to get a list of applicable patches for specific issues.
  
      -b, --bugzilla <#>
+
          --date YYYY-MM-DD[,...]
              Install patch  fixing a Bugzilla issue specified by number. Use list-patches --bugzilla command to get a
+
              Install only patches issued up to, but not including, the specified date.
              list of available needed patches for specific issues.
 
  
            --cve <#>
+
          -g, --category category[,...]
              Install patch fixing a MITRE's CVE issue specified by number. Use list-patches --cve  command to get a
+
              Install only patches with this category. Use list-patches --category command to get a list of available patches with a specific category. See  section  Package  Types
              list of available needed patches for specific issues.
+
              for a list of commonly used category values.
  
      -g, --category <category>
+
          --severity severity[,...]
              Install  all patches  in  the  specified  category. Use list-patches --category command to get a list of
+
              Install  only patches  with this severity. Use list-patches --severity command to get a list of available patches with a specific severity. See section Package Types
              available patches for a specific category.
+
              for a list of commonly used severity values.
  
      -r, --repo <alias|name|#|URI>
+
          -r, --repo alias|name|#|URI
              Work only with the repository specified by the alias, name, number, or URI. This option can be used mul-
+
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
              tiple times.
 
  
 
           --skip-interactive
 
           --skip-interactive
              Skip interactive patches.
+
              This will skip interactive patches, that is, those that need reboot, contain a message, or update a package whose license needs to be confirmed.
  
 
           --with-interactive
 
           --with-interactive
              Avoid skipping of interactive patches when in non-interactive mode.
+
              Avoid skipping of interactive patches when in non-interactive mode.
 +
 
 +
          -l, --auto-agree-with-licenses
 +
              Automatically say yes to third party license confirmation prompt. By using this option, you choose to agree with licenses of all  third-party  software  this  command
 +
              will  install.  This  option is particularly useful for administrators installing the same set of packages on multiple machines (by an automated process) and have the
 +
              licenses confirmed before.
 +
 
 +
          --auto-agree-with-product-licenses
 +
              Automatically accept product licenses only. This is used by tools like SUSEconnect, which ask for confirmation before the product gets registered. So there’s no  need
 +
              to confirm the product license again at install time.
 +
 
 +
          --replacefiles
 +
              Install the packages even if they replace files from other, already installed, packages. Default is to treat file conflicts as an error. --download-as-needed disables
 +
              the fileconflict check because access to all packages filelists is needed in advance in order to perform the check.
 +
 
 +
          -D, --dry-run
 +
              Test the update, do not actually update.
  
      -l, --auto-agree-with-licenses
+
          --details
              See the update command for description of this option.
+
              Show the detailed installation summary.
  
           --no-recommends
+
           -y, --no-confirm
              By  default,  zypper  installs  also  packages recommended by the requested ones. This option causes the
+
              Don’t require user interaction. Alias for the --non-interactive global option.
              recomended packages to be ignored and only the required ones to be installed.
+
 
 +
          Solver related options:
  
 
           --debug-solver
 
           --debug-solver
              Create test case for debugging of dependency resolver.
+
              Create solver  test case for debugging.  Use  this  option,  if  you  think  the  dependencies  were  not  solved  all  right  and  attach  the  resulting
 +
              /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.
  
      -D, --dry-run
+
          --force-resolution
              Test the update, do not actually update.
+
              Force  the  solver  to  find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing packages (zypper remove). This
 +
              option overrides --no-force-resolution in case both are specified on the command line.
  
      This command also accepts the download-and-install mode options described
+
          -R, --no-force-resolution
              in the install command description.
+
              Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
 +
              packages (zypper remove).
  
 +
          --recommends
 +
              Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
  
 +
          --no-recommends
 +
              Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
  
      dist-upgrade (dup) [options]
+
          Expert Options:
              Perform a distribution upgrade. This command applies the state of (specified) repositories onto the  sys-
+
              Don’t use them unless you know you need them.
              tem; upgrades (or even downgrades) installed packages to versions found in repositories, removes packages
 
              that are no longer in the repositories and pose a dependency problem for  the  upgrade,  handles  package
 
              splits and renames, etc.
 
  
              If  no  repositories  are  specified  via  --from  or --repo options, zypper will do the upgrade with all
+
          --[no-]allow-downgrade
              defined repositories. This can be a problem if the system contains conflicting repositories, like reposi-
+
              Whether to allow downgrading installed resolvables.
              tories  for  two  different  distribution  releases. This often happens if one forgets to remove an older
 
              release repository after adding a new one, say openSUSE 11.1 and openSUSE 11.2.
 
  
              To avoid the above trouble, you can specify the repositories from which  to  do  the  upgrade  using  the
+
          --[no-]allow-name-change
              --from or --repo options.  The difference between these two is that when --repo is used, zypper uses only
+
              Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.
              the specified repositories, while with --from zypper can also use the rest of the enabled repositories to
 
              satisfy package dependencies.
 
  
 +
          --[no-]allow-arch-change
 +
              Whether to allow changing the architecture of installed resolvables.
  
           --from <alias|name|#|URI>
+
           --[no-]allow-vendor-change
              Restricts the upgrade to the specified repositories (the option can be used multiple times) only, but can
+
              Whether  to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to the
              satisfy dependencies also from the rest of enabled repositories.
+
              distributions version (or vice versa).
  
      -r, --repo <alias|name|#|URI>
+
          This command also accepts the Download-and-install mode options described in the install command description.
              Work only with the repository specified by the alias, name, number, or URI. This option can be used  mul-
 
              tiple times.
 
  
       -l, --auto-agree-with-licenses
+
       dist-upgrade (dup) [options]
              Automatically say 'yes' to third party license confirmation prompt. By using this option, you choose to
+
          Perform a distribution upgrade. This command applies the state of (specified) repositories onto the system; upgrades (or even downgrades) installed packages  to  versions
              agree with licenses of all third-party software this command will install. This  option is particularly
+
          found in repositories, removes packages that are no longer in the repositories and pose a dependency problem for the upgrade, handles package splits and renames, etc. +
              useful for  administators installing the  same set of packages on multiple machines (by an automated
+
          If no repositories are specified via the --from option, zypper will do a global upgrade with all defined  repositories. This  global  form  of  dup  will also consider
              process) and have the licenses confirmed before.
+
          unchanged installed  packages  and  re-evaluate  their  dependencies.  This  can  be a problem if the system contains conflicting repositories, like repositories for two
 +
          different distribution releases. This often happens if one forgets to remove an older release repository after adding a new one, say openSUSE 13.1 and openSUSE 13.2. +
 +
          For all repositories which have the distribution version within their URL (like <https://download.opensuse.org/distribution/
 +
          .www:lenstrwww:splitstr:nwww:splitstr:rfI>13.1/repo/oss) using the $releasever variable instead may be helpful ( <https://download.opensuse.org/distribution/
 +
          .www:lenstrwww:splitstr:nwww:splitstr:rfB>$releasever/repo/oss). The variable is  per default substituted by the current distributions version (13.1) This value can be
 +
          overwritten using the --releasever global option. Calling zypper --releasever 13.2'...' will cause these repos to use the new location ( <https://download.opensuse.org/
 +
          distribution/.www:lenstrwww:splitstr:nwww:splitstr:rfI>13.2/repo/oss) without need to add/remove anything. Once the dup is performed, $releasever will default to the new
 +
          distribution version. See section Repository Management for more info about variable substitution. + Note: distribution upgrades in openSUSE are currently only  supported
 +
          between consecutive releases. To upgrade multiple releases, upgrade each consecutive release one at a time. For more details see <http://en.opensuse.org/
 +
          SDB:System_upgrade> and the openSUSE release notes at <http://doc.opensuse.org/release-notes/>.
  
           --no-recommends
+
           --from alias|name|#|URI
              By default, zypper installs also packages recommended by the requested  ones.   This option  causes  the
+
              The option can be used multiple times and restricts the upgrade to the specified repositories only. Nevertheless all enabled repositories are visible to the resolver
              recomended packages to be ignored and only the required ones to be installed.
+
              and will be considered to satisfy dependency problems.
  
           --debug-solver
+
           -r, --repo alias|name|#|URI
              Create solver test case for debugging. See the install command for details.
+
              Work  only  with  the  repository  specified by the alias, name, number, or URI. + Using --repo is discouraged as it currently hides unmentioned repositories from the
 +
              resolver, leading to inexpertly decisions. This is because packages originally installed from the hidden repos will now be treated as orphaned or dropped. They can be
 +
              silently removed if involved in a dependency conflict. In the future --repo will become an alias for --from.
  
      -D, --dry-run
+
          -l, --auto-agree-with-licenses
              Test the upgrade, do not actually install or update any package. This option will add the --test option
+
              Automatically  say yes  to third party license confirmation prompt. By using this option, you choose to agree with licenses of all third-party software this command
              to the rpm commands run by the dist-upgrade command.
+
              will install. This option is particularly useful for administrators installing the same set of packages on multiple machines (by an automated process)  and  have  the
 +
              licenses confirmed before.
  
      This command also accepts the download-and-install mode options described
+
          --auto-agree-with-product-licenses
              in the install command description.
+
              Automatically  accept product licenses only. This is used by tools like SUSEconnect, which ask for confirmation before the product gets registered. So there’s no need
 +
              to confirm the product license again at install time.
  
      Examples:
+
          --replacefiles
 +
              Install the packages even if they replace files from other, already installed, packages. Default is to treat file conflicts as an error. --download-as-needed disables
 +
              the fileconflict check because access to all packages filelists is needed in advance in order to perform the check.
  
              Upgrade the system using 'factory' and 'packman' repository:
+
          -D, --dry-run
              $ zypper install zypper libzypp
+
              Test the upgrade, do not actually install or update any package. This option will add the --test option to the rpm commands run by the dist-upgrade command.
              $ zypper dup --from factory --from packman
 
  
 +
          -y, --no-confirm
 +
              Don’t require user interaction. Alias for the --non-interactive global option.
  
  Query Commands
+
          --details
      search (se) [options] [querystring|capability] ...
+
              Show the detailed installation summary.
              Search for packages matching any of the given strings. * (any substring) and ?  (any character) wildcards
 
              can also be used within search strings.  If the search string is enclosed in '/', for example $ zypper se
 
              '/^k.*e$/', it's interpreted as a regular expression.  It's also possible to specify  a  capability  like
 
              "NAME[.ARCH][OP<EDITION>]",  where  ARCH is an architecture code, OP is <, <=, =, >=, or > and EDITION is
 
              VERSION[-RELEASE].  Also quote here to protect the special characters from the shell, for example: $ zyp-
 
              per se 'libgcc>4.6'.
 
  
              Results of search are printed in a table with following columns: S (status), Catalog, Type (type of pack-
+
          Solver related options:
              age), Name, Version, Arch (architecture). The status  column  can  contain  the  following  values:  i  -
 
              installed, v - another version installed, or an empty space for neither of the former cases.
 
  
              The  'v' status is only shown if the version or the repository matters (--details or --repo is used), and
+
          --debug-solver
              the installed version differs from the one listed or is from a repository other than specified.
+
              Create  solver  test  case  for  debugging.  Use  this  option, if  you  think  the  dependencies  were  not  solved  all  right  and attach  the  resulting
 +
              /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.
  
 +
          --force-resolution
 +
              Force the solver to find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing  packages  (zypper  remove).  This
 +
              option overrides --no-force-resolution in case both are specified on the command line.
  
              This command accepts the following options:
+
          -R, --no-force-resolution
 +
              Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
 +
              packages (zypper remove).
  
 +
          --recommends
 +
              Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
  
           --match-substrings
+
           --no-recommends
              Matches for search strings may be partial words (default).
+
              Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].
  
           --match-words
+
           Expert Options:
              Matches for search strings may only be whole words.
+
              Don’t use them unless you know you need them.
  
           --match-exact
+
           --[no-]allow-downgrade
              Searches for an exact name of the package.
+
              Whether to allow downgrading installed resolvables [zypp.conf:solver.dupAllowDowngrade].
  
           --provides
+
           --[no-]allow-name-change
              Search for packages which provide the search strings. A search string here might be also any symbol pro-
+
              Whether to allow changing the names of installed resolvables [zypp.conf:solver.dupAllowNameChange]. Setting this to no will  not  replace packages which have been
              vided by a package like /bin/vi, libcurl.so.3, perl(Time::ParseDate), web_browser, e.g. search for the
+
              renamed.
              package which provides the shell: zypper se --provides /bin/sh
 
  
           --requires
+
           --[no-]allow-arch-change
              Search for packages which require the search strings. A search string  here  might  be  also  any  symbol
+
              Whether to allow changing the architecture of installed resolvables [zypp.conf:solver.dupAllowArchChange].
              required by a package, e.g. all packages which require the snapper library: zypper se --requires libsnap-
 
              per.so
 
  
           --recommends
+
           --[no-]allow-vendor-change
              Search for packages which recommend the search strings, e.g. zypper se --recommends usb_modeswitch
+
              Whether  to allow changing the vendor of installed resolvables [zypp.conf:solver.dupAllowVendorChange]. Setting this to no might be useful if you do not want packages
 +
              from foreign repos being dup’ed to the distributions version (or vice versa).
  
           --suggests
+
           This command also accepts the Download-and-install mode options described in the install command description.
              Search for packages which suggest the search strings, e.g. zypper se --suggests acroread
 
  
           --conflicts
+
           Examples:
              Search for packages conflicting with the search strings, e.g.  zypper se --conflicts aspell-hi
 
  
          --obsoletes
+
              $ zypper dup --from factory --from packman
              Search for packages wich obsolete the search strings, e.g.  zypper se --obsoletes efence
+
                  Upgrade the system to the latest versions provided by the factory and packman repositories.
  
       -n, --name
+
  Query Commands
              Useful together with dependency options, otherwise searching in package name is default.
+
       search (se) [options] [querystring|capability]...
 +
          Search for packages matching any of the given search strings. * and ? wildcard characters can be used within search strings. If the search string is enclosed in /  (e.g.
 +
          /^k.*e$/)  it’s interpreted as a regular expression. See the install command for details about how to specify a capability. + Results of the search are printed in a table
 +
          with columns S+tatus+, Name, Summary and Type of package. + In the detailed view (se -s) all available instances of matching packages are  shown;  each  version  in  each
 +
          repository on a separate line, with columns S+tatus+, Name, Type, Version, Arch+itecture+ and Repository. For installed packages Repository shows either a repository that
 +
          provides exactly the installed version of the package, or, if the exact version is not provided by any  known  repo,  (System  Packages)  (or  @System).  Those  installed
 +
          packages not provided by any repo are often denoted as being unwanted, orphaned or dropped. + The S+tatus+ column can contain the following values:
  
      -f, --file-list
+
          i+
              Search in file list of packages.
+
              installed by user request
  
      -d, --search-descriptions
+
          i
              Search also in summaries and descriptions.
+
              installed automatically (by the resolver, see section Automatically installed packages)
  
      -C, --case-sensitive
+
          v
              Perform case-sensitive search.
+
              a different version is installed
  
      -i, --installed-only
+
          empty
              Show only packages that are already installed.
+
              neither of the above cases
  
      -u, --uninstalled-only
+
          .l
              Show only packages that are not currently installed.
+
              is shown in the 2nd column if the item is locked (see section Package Locks Management)
  
      -t, --type <type>
+
                  The  v  status is only shown if the version or the repository matters (see --details or --repo), and the installed instance differs from the one listed in version
              Search only for packages of specified type. See section Package  Types  for  list  of  available  package
+
          or repository.
              types. Multiple -t option are allowed.
+
                  +
 +
                  This command accepts the following options:
  
              See also the type-specific query commands like packages, patterns, etc.
+
          --match-substrings
 +
              Matches for search strings may be partial words (default).
  
      -r, --repo <alias|name|#|URI>
+
          --match-words
              Work  only with the repository specified by the alias, name, number, or URI. This option can be used mul-
+
              Matches for search strings may only be whole words.
              tiple times.
 
  
           --sort-by-name
+
           -x, --match-exact
              Sort packages by name (default).
+
              Searches for an exact name of the package.
  
           --sort-by-repo
+
           --provides
              Sort packages by catalog, not by name.
+
              Search for packages which provide the search strings.
  
      -s, --details
+
          --requires
              Show all available versions of found packages, each version in each repository on a separate line.
+
              Search for packages which require the search strings.
  
      -v, --verbose
+
          --recommends
              Like --details with additional information where the search has matched (useful when searching for depen-
+
              Search for packages which recommend the search strings.
              dencies, e.g. --provides).
 
  
      Examples:
+
          --suggests
 +
              Search for packages which suggest the search strings.
  
              Search for YaST packages (quote the string to prevent the shell from expanding the wildcard):
+
          --conflicts
              $ zypper se 'yast*'
+
              Search for packages conflicting with the search strings.
  
              Show all available versions of package 'kernel-default':
+
          --obsoletes
              $ zypper se -s --match-exact kernel-default
+
              Search for packages which obsolete the search strings.
  
              Look for RSI acronym (case-sensitively), also in summaries and descriptions:
+
          --supplements
              $ zypper se -dC --match-words RSI
+
              Search for packages which supplement the search strings.
  
 +
          -n, --name
 +
              Useful together with dependency options, otherwise searching in package name is default.
  
 +
          -f, --file-list
 +
              Search in the file list of packages. Note that the full file list is available for installed packages only. For remote packages only an abstract of their file list is
 +
              available within the metadata (files containing /etc/, /bin/, or /sbin/).
  
      packages (pa) [options] [repository] ...
+
          -d, --search-descriptions
              List  all available packages or all packages from specified repositories.  Similar to zypper search -s -t
+
              Search also in summaries and descriptions.
              package.
 
  
      -r, --repo <alias|name|#|URI>
+
          -C, --case-sensitive
              Just another means to specify repositories.
+
              Perform case-sensitive search.
  
      -i, --installed-only
+
          -i, --installed-only
              Show only installed packages.
+
              Show only installed packages.
  
      -u, --uninstalled-only
+
          -u, --not-installed-only
              Show only packages which are not installed.
+
              Show only packages which are not installed. + The old option name --uninstalled-only is still acceptable, but should be considered deprecated.
  
 +
          -t, --type type
 +
              Search  only  for  packages  of  specified  type. See section Package Types for a list of available package types. Multiple --type options are allowed. + See also the
 +
              type-specific query commands like packages, patterns, etc.
  
      patches (pch) [options] [repository] ...
+
          -r, --repo alias|name|#|URI
              List all available patches from specified repositories, including those not  needed. Similar  to  zypper
+
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.
              search -s -t patch.
 
  
      -r, --repo <alias|name|#|URI>
+
          --sort-by-name
              Just another means to specify repositories.
+
              Sort packages by name (default).
  
 +
          --sort-by-repo
 +
              Sort packages by repository, not by name.
  
      patterns (pt) [options] [repository] ...
+
          -s, --details
              List  all available patterns or all patterns from specified repositories.  Similar to zypper search -s -t
+
              Show all available versions of matching packages, each version in each repository on a separate line.
              pattern.
 
  
      -r, --repo <alias|name|#|URI>
+
          -v, --verbose
              Just another means to specify repositories.
+
              Like --details with additional information where the search has matched (useful when searching for dependencies, e.g. --provides).
  
      -i, --installed-only
+
          Examples:
              Show only installed patterns.
 
  
      -u, --uninstalled-only
+
              $ zypper se 'yast*'
              Show only patterns which are not installed.
+
                  Search for YaST packages (quote the string to prevent the shell from expanding the wildcard).
  
 +
              $ zypper se -s --match-exact kernel-default
 +
                  Show all available versions of package kernel-default
  
      products (pd) [options] [repository] ...
+
              $ zypper se -dC --match-words RSI
              List all available products or all products from specified repositories.  Similar to zypper search --t
+
                  Look for RSI acronym (case-sensitively), also in summaries and descriptions.
              product, but shows also the type of the product (base, add-on).
 
  
       -r, --repo <alias|name|#|URI>
+
       packages (pa) [options] [repository]...
              Just another means to specify repositories.
+
          List all available packages or all packages from specified repositories. Similar to zypper search -s -t package.
  
      -i, --installed-only
+
          -r, --repo alias|name|#|URI
              Show only installed products.
+
              Just another means to specify repositories.
  
      -u, --uninstalled-only
+
          -i, --installed-only
              Show only products which are not installed.
+
              Show only installed packages.
  
 +
          -u, --not-installed-only
 +
              Show only packages which are not installed. + The old option name --uninstalled-only is still acceptable, but should be considered deprecated.
  
      what-provides (wp) <capability>
+
          --orphaned
              List  all  packages providing the specified capability. See also the install command for hint about capa-
+
              Show packages which are orphaned (without repository).
              bilities.
 
              what-provides is replaced by the search command, which now has the functionality to search for  dependen-
 
              cies (and allows various options).
 
              The command line is automatically transformed to the appropriate search, e.g.:
 
              $ zypper what-provides 'zypper>1.6' to $ zypper se --provides --match-exact 'zypper>1.6'
 
  
 +
          --suggested
 +
              Show packages which are suggested.
  
  Repository Management
+
          --recommended
      Zypper  is  able  to  work  with YaST, RPM-MD (yum) software repositories, and plain directories containing .rpm
+
              Show packages which are recommended.
      files.
+
 
 +
          --unneeded
 +
              Show packages which are unneeded.
  
       Repositories are primarily identified using their URI or alias. Alias serves as a shorthand for the long URI or
+
       patches (pch) [options] [repository]...
      name  of  the repository. The name of the repository should briefly describe the repository and is shown to the
+
          List all available patches from specified repositories, including those not needed. Short for zypper lp -a.
      user in tables and messages. The name is not required, and if not known, the alias is shown instead. The  alias
 
      is required and uniquely identifies the repository on the system.
 
  
      The alias, name, URI, or the number from zypper repos list can be used to specify a repository as an argument of
+
          -r, --repo alias|name'|#|URI
      various zypper commands and options like refresh, --repo, or --from.
+
              Just another means to specify repositories.
  
       Supported URI formats:
+
       patterns (pt) [options] [repository]...
 +
          List all available patterns or all patterns from specified repositories. Similar to zypper search -s -t pattern.
  
      CD or DVD drive
+
          -r, --repo alias|name|#|URI
              Optionally with devices list for probing.
+
              Just another means to specify repositories.
  
              cd:///
+
          -i, --installed-only
              dvd:/subdir?devices=/dev/sr0,/dev/sr1
+
              Show only installed patterns.
  
      FTP/HTTP/HTTPS directory tree
+
          -u, --not-installed-only
              The ftp URL scheme supports absolute and relative paths to the default  ftp  server  directory  (RFC1738,
+
              Show only patterns which are not installed. + The old option name --uninstalled-only is still acceptable, but should be considered deprecated.
              Section  3.2.2).  To  use  an  absolute path, you have to prepend the path with an additional slash, what
 
              results in a "/%2f" combination (second "/" encoded to "%2f") at the begin  of  the  URL  path.  This  is
 
              important, especially in user authenticated ftp, where the users home is usually the default directory of
 
              the server (except when the server chroots into the users home directory).
 
  
              Explicit proxy settings may be passed via optional parameters proxy, proxyport, proxyuser and proxypass.
+
      products (pd) [options] [repository]...
 +
          List all available products or all products from specified repositories. Similar to zypper search -s -t product, but shows also the type of the product (base, add-on).
  
              HTTP authentication methods to use can be defined as comma separated list via  optional  parameter  auth.
+
          -r, --repo 'alias|name|#|URI
              Valid  methods  are e.g. 'basic', 'digest', 'ntlm', 'negotiate'. Note, that this list depends on the list
+
              Just another means to specify repositories.
              of methods supported by the curl library.
 
  
              ftp://user:pass@server/path/to/media/dir
+
          -i, --installed-only
              ftp://user:pass@server/%2fhome/user/path/to/media/dir
+
              Show only installed products.
              http://user:pass@server/path
 
              https://user:pass@server/path?proxy=foo&proxyuser=me&proxypass=pw
 
  
 +
          -u, --not-installed-only
 +
              Show only products which are not installed. + The old option name --uninstalled-only is still acceptable, but should be considered deprecated.
  
      Disk volume (partition)
+
          --xmlfwd tag
              Mandatory device parameter specifying the name of the block device to mount. The  name of the optional
+
              XML output only: Literally forward the XML tag, if it is found in an installed products .prod-file (in /etc/products.d). +  Using  this  option,  for  each  installed
              filesystem defaults to "auto".
+
              product  an  <xmlfwd>  node  will  be  created  inside  the <product> output node of the product. + Tag defines the name (or /-separated path) of a xml-tag inside an
 +
              installed products .prod-file. If the tag is present inside the products .prod-file, the tag and it’s content is literally forwarded into the products <xmlfwd> output
 +
              node. + The option may be specified multiple times.
  
              hd:/subdir?device=/dev/sda1&filesystem=reiserfs
+
          Examples:
  
      Local directory tree
+
              $ zypper -x pd --xmlfwd name --xmlfwd register/target
  
              dir:/directory/name
+
      what-provides (wp) capability
 +
          List all packages providing the specified capability. See also the install command for info about specifying capabilities.
  
      Media in an ISO image (loopback mounted)
+
          The command line is automatically transformed into the appropriate search command, e.g.:
              Mandatory iso parameter specifying the name of the iso file. Optional url parameter specifying the URL to
 
              the directory containing the iso file. Optional mnt parameter specifying the preferred attach  point  for
 
              the  source  media  url.  Optional  filesystem  name  of the filesystem used in the iso file. Defaults to
 
              "auto".
 
  
              iso:/?iso=CD1.iso&url=nfs://server/path/to/media
+
              $ zypper what-provides 'zypper>1.6'
              iso:/?iso=CD1.iso&url=hd:/?device=/dev/hda
 
              iso:/subdir?iso=DVD1.iso&url=nfs://nfs-server/directory&mnt=/nfs/attach/point&filesystem=udf
 
  
      NFS exported directory tree
+
              $ zypper se --provides --match-exact 'zypper>1.6'
              To use NFSv4 either use schema tnfsv4:// or pass an optional parameter type=nfs4. Additional mountoptions
 
              can be passed as comma separated list. Defaults to "ro".
 
  
              nfs://nfs-server/exported/path
+
  Repository Management
              nfs://nfs-server/exported/path?mountoptions=ro&type=nfs4
+
      Zypper is able to work with YaST, RPM-MD (yum) software repositories, and plain directories containing .rpm files.
              nfs4://nfs-server/exported/path?mountoptions=ro
 
  
       CIFS/SMB directory tree
+
       Repositories  are  primarily  identified  using  their URI or alias. Alias serves as a shorthand for the long URI or name of the repository. The name of the repository should
              There is no difference between cifs and smb scheme (any more). In both cases the cifs filesystem is used.
+
      briefly describe the repository and is shown to the user in tables and messages. The name is not required, and if not known, the alias is shown instead. The alias is required
              Additional mountoptions can be passed as comma separated list. Defaults to "ro,guest". Specify  "noguest"
+
      and uniquely identifies the repository on the system.
              to turn off "guest". This is necessary if Samba is configured to reject guest connections.
 
  
              Optional workgroup  or  domain  parameter set the name of the workgroup. As alternative to passing user-
+
      The alias, name, URI, or the number from zypper repos list can be used to specify a repository as an argument of various zypper commands and options like refresh, --repo, or
              name:password in the URI authority the parameters user and pass can be used.
+
      --from.
  
              smb://servername/share/path/on/the/share
+
      Apart from the above, repositories have several other properties which can be set using the commands described in this section below, or by manually  editing  the repository
              cifs://usenr:passw@servername/share/path/on/the/share?mountoptions=ro,noguest
+
      definition files (.repo files, see section FILES).
              cifs://usern:passw@servername/share/path/on/the/share?workgroup=mygroup
 
              cifs://servername/share/path/on/the/share?user=usern&pass=passw
 
  
       Apart from the above, repositories have several other properties which can be set using the commands  described
+
  Variable substitution:
      in this section below, or by manually editing the repository definition files (.repo files, see section FILES).
+
       You can use the following variables within a .repo or .service files name and URI values:
  
 +
      $arch
 +
          Use this variable to refer to the system’s CPU architecture.
  
       addrepo (ar) [options] <URI> <alias>
+
       $basearch
 +
          Use this variable to refer to the base architecture of the system. For example, iX86 machines have a base architecture of i386, while AMD64 and Intel64 have x86_64.
  
       addrepo (ar) [options] <FILE.repo>
+
       $releasever, $releasever_major, $releasever_minor
 +
          Use  this variable to refer to the version of your openSUSE or SUSE Linux. The value is obtained from the /product/version XML-node in /etc/products.d/baseproduct. + This
 +
          is useful for related repositories like packman (<http://ftp.gwdg.de/pub/linux/packman/suse/$releasever>), which shall always fit the installed distribution, even after a
 +
          distribution upgrade. To help performing a distribution upgrade, the value of $releasever can be overwritten using the --releasever global option. This way you can easily
 +
          switch all repositories using $releasever to the new version (provided the  server  layouts  did  not  change  and  new  repos  are  already  available).  +  In  addition
 +
          $releasever_major will be set to the leading portion up to (but not including) the 1st dot; $releasever_minor to the trailing portion after the 1st dot. If there’s no dot
 +
          in $releasever, $releasever_major is the same as $releasever and $releasever_minor is empty.
  
              Add a new repository specified by URI and assign specified alias to it or specify URI to a .repo file.
+
      Custom Variables
 +
          A custom repository variable is defined by creating a file in /etc/zypp/vars.d. The variable name equals the file name. The files first line (up to but not including  the
 +
          newline character) defines the variables value. Valid variable(file) names consist of alphanumeric chars and underscore only.
  
              Newly  added  repositories have auto-refresh disabled by default (except for repositories imported from a
+
      Remember to protect the $ when using these variables on a shell command line:
              .repo, having the auto-refresh enabled). To enable auto-refresh, use the --refresh option  of  the  modi-
+
          zypper ar -f <http://ftp.gwdg.de/pub/linux/packman/suse/.www:lenstrwww:splitstr:nwww:splitstr:rfB>\$releasever packman
              fyrepo command.
 
  
              Also,  this  command  does not automatically refresh the newly added repositories.  The repositories will
+
      If a variable is followed by an alphanumeric character or underscore it needs to be enclosed in {}:
              get refreshed when used for the first time, or you can use the refresh command after finishing your modi-
+
          zypper ar -f <http://ftp.gwdg.de/pub/linux/packman/suse/.www:lenstrwww:splitstr:nwww:splitstr:rfB>\${’releasever'}_packman
              fications with *repo commands. See also METADATA REFRESH POLICY section for more details.
 
  
 +
      Bash style definition of default ${’variable':-’word'} and alternate ${’variable':+’word'} values:
 +
          SLE-${’releasever_major'}${’releasever_minor':+-SP-$releasever_minor}
  
       -r, --repo <file.repo>
+
       To check where you already use $releasever call:
              Read URI and alias from specified .repo file
+
          zypper --releasever @--HERE--@ lr -u
  
       -t, --type <type>
+
       NOTE:
              Type of repository (yast2, rpm-md, or plaindir). There are several aliases defined for these types: yast2
+
          Variable  substitution  within  an URIs authority is limited to host and port. Bash style definition of default and alternate values is not supported. No variables can be
              - susetags, yast, YaST, YaST2, YAST; rpm-md - repomd, rpmmd, yum, YUM; plaindir - Plaindir.
+
          used in an URIs scheme, user and password.
  
       -d, --disable
+
  Supported URI formats:
              Add the repository as disabled. Repositories are added as enabled by default.
+
       scheme: @]host[:’port']] /’path' [?’query'] [#’fragment']
 +
          Special characters occurring in URI components (like a @ in a password) must be %-encoded (%40).
  
       -c, --check
+
       CD or DVD drive
              Probe given URI.
+
          Optionally with devices list for probing.
  
      -C, --nocheck
+
          cd:///
              Don't probe URI, probe later during refresh.
 
  
      -n, --name
+
          dvd:/subdir'?devices=/dev/sr0,/dev/sr1'
              Specify descriptive name for the repository.
 
  
      -k, --keep-packages
+
          FTP/HTTP/HTTPS directory tree
              Enable RPM files caching for the repository.
+
              The ftp URL scheme supports absolute and relative paths to the default ftp server directory (RFC1738, Section 3.2.2). To use an absolute path, you have to prepend the
 +
              path  with  an  additional  slash,  what  results  in a /%2f combination (second / encoded to %2f) at the begin of the URL path. This is important, especially in user
 +
              authenticated ftp, where the users home is usually the default directory of the server (except when the server chroots into the  users  home  directory).  +  Explicit
 +
              proxy settings may be passed via optional parameters proxy, proxyport, proxyuser and proxypass. + HTTP authentication methods to use can be defined as comma separated
 +
              list via optional parameter auth. Valid methods are e.g. basic, digest, ntlm, negotiate. Note, that this list depends on the list of methods  supported  by  the  curl
 +
              library. + SSL verification behavior can be changed using the ssl_verify option (this should be used with care). Valid values are yes (the secure default), host, peer
 +
              or no. Host just checks that the "Common Name" field or a "Subject Alternate Name" field in the servers certificate matches the  host  name  in  the  URL.  Peer  just
 +
              verifies whether the certificate provided by the server is authentic against the chain of digital signatures found in ssl_capath. No performs no checks at all. Yes is
 +
              the secure default, performing host and peer check. + For SSL client certificate authentication use the options ssl_clientcert to define the path to  the  ssl  client
 +
              certificate  and  ssl_clientkey  to  define  the  path  to  the  SSL  client  key.  Use  ssl_capath  to  change  the directory holding the CA certificates (default is
 +
              /etc/ssl/certs).
  
      -K, --no-keep-packages
+
          <ftp://user:pass@server/path/to/media/dir>
              Disable RPM files caching.
 
  
      -f, --refresh
+
          <ftp://user:pass@server/%2fhome/user/path/to/media/dir>
              Enable autorefresh of the repository. The autorefresh is disabled by default when  adding  new  reposito-
 
              ries.
 
  
      Examples:
+
          <http://user:pass@server/path>
  
              Add an HTTP repository, probe it, name it 'Packman 11.1 repo', and use 'packman' as alias:
+
          <https://user:pass@server/path>'?proxy=foo&amp;proxyuser=me&amp;proxypass=pw'
              $ zypper ar -c -n 'Packman 11.1 repo' http://packman.iu-bremen.de/suse/11.1 packman
 
  
              Add repositories from a repo file:
+
          <https://server/path>'?ssl_clientcert=/entitlement/1234.pem&amp;ssl_clientkey=/entitlement/1234-key.pem'
              $ zypper ar http://download.opensuse.org/repositories/zypp:/svn/openSUSE_Factory/zypp:svn.repo
 
              $ zypper ar myreposbackup.repo
 
  
 +
          Disk volume (partition)
 +
              Mandatory device parameter specifying the name of the block device to mount. The name of the optional filesystem defaults to "auto".
  
      removerepo (rr) [options] <alias|name|#|URI> ...
+
          hd:/subdir?device=/dev/sda1'&amp;filesystem=reiserfs'
              Delete repositories specified by aliases, names, numbers or URIs.
 
  
      --loose-auth
+
          Local directory tree
              Ignore user authentication data in the URI
 
  
      --loose-query
+
          dir:/directory/name
              Ignore query string in the URI
 
  
 +
          Media in an ISO image (loopback mounted)
 +
              + Mandatory iso parameter specifying the name of the iso file. Optional url parameter specifying the URL to the  directory  containing  the  iso  file.  Optional  mnt
 +
              parameter specifying the preferred attach point for the source media url. Optional filesystem name of the filesystem used in the iso file. Defaults to "auto".
  
      repos (lr) [options] [repo] ...
+
          iso:/?iso=CD1.iso'&amp;url=nfs://server/path/to/media'
              List all defined repositories or show detailed information about those specified as arguments
 
  
              The  following  data  can be printed for each repository found on the sytem: # (repository number), Alias
+
          iso:/?iso=CD1.iso'&amp;url=hd:/?device=/dev/hda'
              (shorthand for Name), Name, Enabled (whether the repository is enabled), Refresh (whether auto-refresh is
 
              enabled  for  the repository), Priority, Type (repository meta-data type: rpm-md, yast2, plaindir). Which
 
              of the data is shown is determined by command line options listed below and the main.repoListColumns set-
 
              ting from zypper.conf.  By default, #, Alias, Name, Enabled, and Refresh is shown.
 
  
              Repository  number  is  a unique identifier of the repository in current set of repositories. If you add,
+
          iso:/subdir?iso=DVD1.iso'&amp;url=nfs://nfs-server/directory&amp;mnt=/nfs/attach/point&amp;filesystem=udf'
              remove or change a repository, the numbers may change. Keep that in mind when using the numbers with  the
 
              repository handling commands. On the other hand, using the alias instead of the number is always safe.
 
  
              To show  detailed  information  about specific repositories, specify them as arguments, either by alias,
+
          NFS exported directory tree
              name, number from simple zypper lr, or by URI; e.g. fB zypper lr factory, or zypper lr 2.
+
              To use NFSv4 either use schema tnfsv4:// or pass an optional parameter type=nfs4. Additional mountoptions can be passed as comma separated list. Defaults to "ro".
  
 +
          nfs://nfs-server/exported/path
  
      -e, --export <FILE.repo|->
+
          nfs://nfs-server/exported/path'?mountoptions=ro&amp;type=nfs4'
              This option causes zypper to write repository definition of all defined repositories into a  single  file
 
              in repo file format.  If '-' is specified instead of a file name, the repositories will be written to the
 
              standard output.
 
  
      -a, --alias
+
          nfs4://nfs-server/exported/path'?mountoptions=ro'
              Add alias column to the output.
 
  
      -n, --name
+
          CIFS/SMB directory tree
              Add name column to the output.
+
              There  is  no  difference  between cifs and smb scheme (any more). In both cases the cifs filesystem is used. Additional mountoptions can be passed as comma separated
 +
              list. Defaults to "ro,guest". Specify "noguest" to turn off "guest". This is necessary if Samba is configured to reject guest connections.  +  Optional  workgroup  or
 +
              domain parameter set the name of the workgroup. As alternative to passing username:password in the URI authority the parameters user and pass can be used.
  
      -u, --uri
+
          smb://servername/share/path/on/the/share
              Add base URI column to the output.
 
  
      -p, --priority
+
          cifs://usern:passw@servername/share/path/on/the/share'?mountoptions=ro,noguest'
              Add repository priority column to the output.
 
  
      -r, --refresh
+
          cifs://usern:passw@servername/share/path/on/the/share'?workgroup=mygroup'
              Add the autorefresh column to the output.
 
  
      -d, --details
+
          cifs://servername/share/path/on/the/share'?user=usern&amp;pass=passw'
              Show more information like URI, priority, type, etc.
 
  
      -E, --show-enabled-only
+
          OpenSUSE Build Build Service (OBS) repositories
              Show enabled repositories only.
+
              Zypper also accepts special URIs identifying openSUSE Build Service (OBS) repositories in the addrepo command. These URIs have the form of obs://’project'/[platform],
 +
              where project is the name of the OBS project and  platform  is  the  target  platform  (OS)  for  which  the  repository  is  intended.  +  If  platform  is  omitted,
 +
              openSUSE_$releasever  is  used unless a value for obs.platform is defined in zypper.conf. If you are following openSUSE_Factory or openSUSE_Tumbleweed you may need to
 +
              set these as your default platform. But we can only guess, how the directory containing the repository that fits your distribution is named on the server. In case  of
 +
              doubt you need to look up the right URL in a browser.
  
      -U, --sort-by-uri
+
          obs://zypp:Head/
              Add base URI column and sort the list it.
 
  
      -P, --sort-by-priority
+
          obs://zypp:Head/openSUSE_Factory
              Add repository priority column and sort the list by it.
 
  
      -A, --sort-by-alias
+
          obs://zypp:Head/openSUSE_Factory_Staging_Gcc49_standard
              Sort the list by alias.
 
  
      -N, --sort-by-name
+
                {nop}
              Sort the list by name.
+
              ~~~~~~
  
      Examples:
+
          addrepo (ar) [options] URI alias
  
              Backup your repository setup:
+
          addrepo (ar) [options] FILE.repo
              $ zypper repos -e myreposbackup.repo
+
              Add  a  new  repository specified  by  URI  and assign specified alias to it or specify URI to a .repo file. + Newly added repositories have auto-refresh disabled by
 +
              default (except for repositories imported from a .repo, having the auto-refresh enabled). To enable auto-refresh use addrepo  -f,  or  the  --refresh  option  of  the
 +
              modifyrepo  command. +  Also,  this  command does not automatically refresh the newly added repositories. The repositories will get refreshed when used for the first
 +
              time, or you can use the refresh command after finishing your modifications with *repo commands.
  
              List repositories with their URIs and priorities:
+
              -r, --repo file.repo
              $ zypper lr -pu
+
                  Read URI and alias from specified .repo file
  
 +
              -c, --check
 +
                  Probe given URI.
  
      renamerepo (nr) <alias|name|#|URI> <new-alias>
+
              -C, --no-check
              Assign new alias to the repository specified by alias, name, number, or URI.
+
                  Don’t probe URI, probe later during refresh.
  
      Example:
+
              -n, --name name
 +
                  Specify descriptive name for the repository.
  
              Rename repository number 8 to 'myrepo' (useful if the repo has some dreadful alias which is not usable on
+
              -e, --enable
              the command line).
+
                  Enable the repository (the default).
              $ zypper nr 8 myrepo
 
  
 +
              -d, --disable
 +
                  Add the repository as disabled. Repositories are added as enabled by default.
  
      modifyrepo (mr) <options> <alias|name|#|URI> ...
+
              -f, --refresh
 +
                  Enable autorefresh of the repository. The autorefresh is disabled by default when adding new repositories.
  
      modifyrepo (mr) <options> <--all|--remote|--local|--medium-type>
+
              -F, --no-refresh
              Modify  properties  of  repositories  specified  by  alias,  name, number, or URI or one of the aggregate
+
                  Disable auto-refresh for the repository.
              options.
 
  
      -e, --enable
+
              -p, --priority positive-integer
              Enable the repository.
+
                  Set the priority of the repository. Priority of 1 is the highest, the higher the number the lower the priority. -p 0 will set the priority  back  to  the  default
 +
                  (99).  Packages  from  repositories  with  higher priority will be preferred even in case there is a higher installable version available in the repository with a
 +
                  lower priority.
  
      -d, --disable
+
              -k, --keep-packages
              Disable the repository.
+
                  Enable RPM files caching for the repository.
  
      -r, --refresh
+
              -K, --no-keep-packages
              Enable auto-refresh for the repository.
+
                  Disable RPM files caching.
  
      -R, --no-refresh
+
              -g, --gpgcheck
              Disable auto-refresh for the repository.
+
                  Enable GPG check for this repository. The behavior as described in section GPG checks.
  
      -p, --priority <positive-integer>
+
              --gpgcheck-strict
              Set priority of the repository. Priority of 1 is the highest, the higher the number the lower the  prior-
+
                  Enable strict GPG check for this repository. Even packages from signed repositories need a valid GPG signature and using unsigned packages must be confirmed.
              ity.  Default  priority  is 99. Packages from repositories with higher priority will be preferred even in
 
              case there is a higher installable version available in the repository with a lower priority.
 
  
      -n, --name
+
              --gpgcheck-allow-unsigned
              Set a descriptive name for the repository.
+
                  Short hand for --gpgcheck-allow-unsigned-repo --gpgcheck-allow-unsigned-package
  
      -k, --keep-packages
+
              --gpgcheck-allow-unsigned-repo
              Enable RPM files caching.
+
                  Enable GPG check but allow the repository metadata to be unsigned.
  
      -K, --no-keep-packages
+
              --gpgcheck-allow-unsigned-package
              Disable RPM files caching.
+
                  Enable GPG check but allow installing unsigned packages from this repository.
  
      -a, --all
+
              -G, --no-gpgcheck
              Apply changes to all repositories.
+
                  Disable GPG check for this repository. + Disabling GPG checks is not recommended. Signing data enables the recipient to  verify  that  no  modifications  occurred
 +
                  after the data were signed. Accepting data with no, wrong or unknown signature can lead to a corrupted system and in extreme cases even to a system compromise.
  
      -l, --local
+
              --default-gpgcheck
              Apply changes to all local repositories.
+
                  Use  the  global  GPG  check settings defined in /etc/zypp/zypp.conf. This is the default. + Unless you have modified your zypp.conf settings, this is the same as
 +
                  --gpgcheck, the behavior as described in section GPG checks.
  
      -t, --remote
+
              Examples:
              Apply changes to all remote repositories (http/https/ftp).
 
  
      -m, --medium-type <type>
+
                  $ zypper ar -c -n 'Packman 11.1 repo' <http://packman.iu-bremen.de/suse/11.1> packman
              Apply changes to repositories of specified type. The type corresponds to the repository URI scheme  iden-
+
                      Add a HTTP repository, probe it, name it Packman 11.1 repo, and use packman as alias.
              tifier  like  http,  dvd,  etc. You can find complete list of valid types at http://en.opensuse.org/open-
 
              SUSE:Libzypp_URIs.
 
  
      Examples:
+
                  $ zypper ar <https://download.opensuse.org/repositories/zypp:/svn/openSUSE_Factory/zypp:svn.repo>
  
              Enable keeping of packages for all remote repositories:
+
                  $ zypper ar myreposbackup.repo
              $ zypper mr -kt
+
                      Add repositories from a .repo file.
  
              Enable repository 'updates' and switch on autorefresh for the repo:
+
          removerepo (rr) [options] alias|name|#|URI...
              $ zypper mr -er updates
+
              Delete repositories specified by aliases, names, numbers, URIs or one of the aggregate options.
  
              Disable all repositories:
+
              --loose-auth
              $ zypper mr -da
+
                  Ignore user authentication data in the URI
  
 +
              --loose-query
 +
                  Ignore query string in the URI
  
      refresh (ref) [alias|name|#|URI] ...
+
              -a, --all
              Refresh repositories specified by their alias, name, number, or URI. If no  repositories  are  specified,
+
                  Apply changes to all repositories.
              all enabled repositories will be refreshed.
 
  
              See also METADATA REFRESH POLICY section for more details.
+
              -l, --local
 +
                  Apply changes to all local repositories.
  
      -f, --force
+
              -t, --remote
              Force a complete refresh of specified repositories. This option will cause both the download of raw meta-
+
                  Apply changes to all remote repositories (http/https/ftp).
              data and parsing of the metadata to be forced even if everything indicates a refresh is not needed.
 
  
      -b, --force-build
+
              -m, --medium-type type
              Force only reparsing of cached metadata and rebuilding of the database. Raw metadata download will not be
+
                  Apply changes to repositories of specified type. The type corresponds to the repository URI scheme identifier like http, dvd, etc. You can find complete  list  of
              forced.
+
                  valid types at <http://en.opensuse.org/openSUSE:Libzypp_URIs>.
  
      -d, --force-download
+
          repos (lr) [options] [repo]...
              Force only download of current copy of repository metadata. Parsing and rebuild of the database will not
+
              List  all  defined  repositories  or show detailed information about those specified as arguments + The following data can be printed for each repository found on the
              be forced.
+
              system: # (repository number), Alias (unique identifier), Name, Enabled (whether the repository is enabled), GPG Check (whether GPG check for repository metadata  (r)
 +
              and/or  downloaded  rpm  packages  (p)  is  enabled), Refresh (whether auto-refresh is enabled for the repository), Priority, Type (repository meta-data type: rpm-md,
 +
              yast2, plaindir). Which of the data is shown is determined by command line options listed below and the main.repoListColumns setting from zypper.conf. By default,  #,
 +
              Alias, Name, Enabled, GPG Check and Refresh is shown. + Repository number is a unique identifier of the repository in current set of repositories. If you add, remove
 +
              or change a repository, the numbers may change. Keep that in mind when using the numbers with the repository handling commands. On the other  hand,  using  the  alias
 +
              instead of the number is always safe. + To show detailed information about specific repositories, specify them as arguments, either by alias, name, number from simple
 +
              zypper lr, or by URI; e.g. fB zypper lr factory, or zypper lr 2.
  
      -B, --build-only
+
              -e, --export FILE.repo|-
              Only parse the metadata and build the database, don't download raw metadata into the  cacheThis will
+
                  This option causes zypper to write repository definition of all defined repositories into a single file in repo file format. If - is specified instead of a file
              enable you to repair damaged database from cached data without accessing network at all.
+
                  name, the repositories will be written to the standard output.
  
      -D, --download-only
+
              -a, --alias
              Only download the raw metadata, don't parse it or build the database.
+
                  Add alias column to the output.
  
      -s, --services
+
              -n, --name
              Refresh also services before refreshing repositories.
+
                  Add name column to the output.
  
 +
              -u, --uri
 +
                  Add base URI column to the output.
  
      clean (cc) [options] [alias|name|#|URI] ...
+
              -p, --priority
              Clean the local caches for all known or specified repositories. By default,
+
                  Add repository priority column to the output.
              only caches of downloaded packages are cleaned.
 
  
      -m, --metadata
+
              -r, --refresh
              Clean repository metadata cache instead of package cache.
+
                  Add the autorefresh column to the output.
  
      -M, --raw-metadata
+
              -d, --details
              Clean repository raw metadata cache instead of package cache.
+
                  Show more information like URI, priority, type, etc.
  
      -a, --all
+
              -E, --show-enabled-only
              Clean both repository metadata and package caches.
+
                  Show enabled repositories only.
  
 +
              -U, --sort-by-uri
 +
                  Add base URI column and sort the list it.
  
 +
              -P, --sort-by-priority
 +
                  Add repository priority column and sort the list by it.
  
  Service Management
+
              -A, --sort-by-alias
      The  services, addservice,  removeservice,  modifyservice, and refresh-services commands serve for manipulating
+
                  Sort the list by alias.
      services. A service is specified by its URI and needs to have a unique alias defined (among  both  services  and
 
      repositories).
 
  
      Standalone  repositories (not belonging to any service) are treated like services, too. The ls command will list
+
              -N, --sort-by-name
      them, ms command will modify them, etc. Repository specific options,  like  --keep-packages  are  not  available
+
                  Sort the list by name.
      here, though. You can use repository handling commands to manipulate them.
 
  
 +
              Examples:
  
 +
                  $ zypper repos -e myreposbackup.repo
 +
                      Backup your repository setup:
  
      addservice (as) [options] <URI> <alias>
+
                  $ zypper lr -pu
              Adds  a  service specified by URI to the system. The alias must be unique and serves to identify the ser-
+
                      List repositories with their URIs and priorities:
              vice.
 
  
              Newly added services are not refereshed automatically. Use the refresh-services command to refresh  them.
+
          renamerepo (nr) alias|name|#|URI new-alias
              Zypper  does  not  access the service URI when adding the service, so the type of the services is unknown
+
              Assign new alias to the repository specified by alias, name, number, or URI.
              until it is refreshed.
 
  
              This command also allows to add also ordinary repositories when used with --type option, where you  spec-
+
              Examples:
              ify the type of the repository. See the addrepo command for the list of supported repository types.
 
  
 +
                  $ zypper nr 8 myrepo
 +
                      Rename repository number 8 to myrepo (useful if the repo has some dreadful alias which is not usable on the command line).
  
      -t, --type <TYPE>
+
          modifyrepo (mr) options alias|name|#|URI...
              Type  of  the service (possible values: ris). There are several aliases defined for this type: ris - RIS,
 
              nu, NU
 
  
      -d, --disable
+
          modifyrepo (mr) options --all|--remote|--local|--medium-type
              Add the service as disabled.
+
              Modify properties of repositories specified by alias, name, number, or URI or one of the aggregate options.
  
      -n, --name
+
              -n, --name name
              Specify descriptive name for the service.
+
                  Set a descriptive name for the repository.
  
 +
              -e, --enable
 +
                  Enable the repository.
  
      removeservice (rs) [options] <alias|name|#|URI> ...
+
              -d, --disable
 +
                  Disable the repository.
  
              Remove specified repository index service from the sytem.
+
              -f, --refresh (legacy: -r)
 +
                  Enable auto-refresh for the repository.
  
              Removing an RIS service will result in removing of all of its repositories.
+
              -F, --no-refresh (legacy: -R)
 +
                  Disable auto-refresh for the repository.
  
 +
              -p, --priority positive-integer
 +
                  Set  the  priority  of  the repository. Priority of 1 is the highest, the higher the number the lower the priority. -p 0 will set the priority back to the default
 +
                  (99). Packages from repositories with higher priority will be preferred even in case there is a higher installable version available  in  the  repository  with  a
 +
                  lower priority.
  
      --loose-auth
+
              -k, --keep-packages
              Ignore user authentication data in the URI.
+
                  Enable RPM files caching.
  
      --loose-query
+
              -K, --no-keep-packages
              Ignore query string in the URI.
+
                  Disable RPM files caching.
  
 +
              -g, --gpgcheck
 +
                  Enable GPG check for this repository. The behavior as described in section GPG checks.
  
      modifyservice (ms) <options> <alias|name|#|URI>
+
              --gpgcheck-strict
              modifyservice (ms) <options> <--all|--remote|--local|--medium-type> Modify properties of  specified  ser-
+
                  Enable strict GPG check for this repository. Even packages from signed repositories need a valid GPG signature and using unsigned packages must be confirmed.
              vices.
 
  
 +
              --gpgcheck-allow-unsigned
 +
                  Short hand for --gpgcheck-allow-unsigned-repo --gpgcheck-allow-unsigned-package
  
      Common Options
+
              --gpgcheck-allow-unsigned-repo
              These options are common to all types of services and repositories.
+
                  Enable GPG check but allow the repository metadata to be unsigned.
  
      -d, --disable
+
              --gpgcheck-allow-unsigned-package
              Disable the service (but don't remove it).
+
                  Enable GPG check but allow installing unsigned packages from this repository.
  
      -e, --enable
+
              -G, --no-gpgcheck
              Enable a disabled service.
+
                  Disable  GPG  check  for  this  repository. + Disabling GPG checks is not recommended. Signing data enables the recipient to verify that no modifications occurred
 +
                  after the data were signed. Accepting data with no, wrong or unknown signature can lead to a corrupted system and in extreme cases even to a system compromise.
  
      -r, --refresh
+
              --default-gpgcheck
              Enable auto-refresh of the service.
+
                  Use the global GPG check settings defined in /etc/zypp/zypp.conf. This is the default. + Unless you have modified your zypp.conf settings, this  is  the  same  as
 +
                  --gpgcheck, the behavior as described in section GPG checks.
  
      -R, --no-refresh
+
              -a, --all
              Disable auto-refresh of the service.
+
                  Apply changes to all repositories.
  
      -n, --name
+
              -l, --local
              Set a descriptive name for the service.
+
                  Apply changes to all local repositories.
  
      -a, --all
+
              -t, --remote
              Apply changes to all services.
+
                  Apply changes to all remote repositories (http/https/ftp).
  
      -l, --local
+
              -m, --medium-type type
              Apply changes to all local services.
+
                  Apply changes to repositories of specified type. The type corresponds to the repository URI scheme identifier like http, dvd, etc. You can find complete list of
 +
                  valid types at <http://en.opensuse.org/openSUSE:Libzypp_URIs>.
  
      -t, --remote
+
              Examples:
              Apply changes to all remote services.
 
  
      -m, --medium-type <type>
+
                  $ zypper mr -kt
              Apply changes to services of specified type.
+
                      Enable keeping of packages for all remote repositories.
  
 +
                  $ zypper mr -er updates
 +
                      Enable repository updates and switch on autorefresh for the repo.
  
      RIS Service Specific Options
+
                  $ zypper mr -da
              These options are ignored by services other than Repository Index Services.
+
                      Disable all repositories.
  
 +
          refresh (ref) [alias|name|#|URI]...
 +
              Refresh repositories specified by their alias, name, number, or URI. If no repositories are specified, all enabled repositories will be refreshed.
  
      -i, --ar-to-enable <alias>
+
              -f, --force
              Schedule an RIS service repository to be enabled at next service refresh.
+
                  Force a complete refresh of specified repositories. This option will cause both the download of raw metadata and parsing of the metadata  to be forced  even  if
 +
                  everything indicates a refresh is not needed.
  
      -I, --ar-to-disable <alias>
+
              -b, --force-build
              Schedule an RIS service repository to be disabled at next service refresh.
+
                  Force only reparsing of cached metadata and rebuilding of the database. Raw metadata download will not be forced.
  
      -j, --rr-to-enable <alias>
+
              -d, --force-download
              Remove a RIS service repository to enable.
+
                  Force only download of current copy of repository metadata. Parsing and rebuild of the database will not be forced.
  
      -J, --rr-to-disable <alias>
+
              -B, --build-only
              Remove a RIS service repository to disable.
+
                  Only  parse  the  metadata  and  build  the database, don’t download raw metadata into the cache. This will enable you to repair damaged database from cached data
 +
                  without accessing network at all.
  
      -k, --cl-to-enable
+
              -D, --download-only
              Clear the list of RIS repositories to enable.
+
                  Only download the raw metadata, don’t parse it or build the database.
  
      -K, --cl-to-disable
+
              -s, --services
              Clear the list of RIS repositories to disable.
+
                  Refresh also services before refreshing repositories.
  
 +
          clean (cc) [options] [alias|name|#|URI]...
 +
              Clean the local caches for all known or specified repositories. By default, only caches of downloaded packages are cleaned.
  
 +
              -m, --metadata
 +
                  Clean repository metadata cache instead of package cache.
  
      services (ls) [options]
+
              -M, --raw-metadata
              List services defined on the system.
+
                  Clean repository raw metadata cache instead of package cache.
  
 +
              -a, --all
 +
                  Clean both repository metadata and package caches.
  
       -u, --uri
+
  Service Management
              Show also base URI of repositories.
+
       The services, addservice, removeservice, modifyservice, and refresh-services commands serve for manipulating services. A service is specified by its URI and needs to  have  a
 +
      unique alias defined (among both services and repositories).
  
       -p, --priority
+
       Standalone  repositories  (not  belonging to any service) are treated like services, too. The ls command will list them, ms command will modify them, etc. Repository specific
              Show also repository priority.
+
      options, like --keep-packages are not available here, though. You can use repository handling commands to manipulate them.
  
       -d, --details
+
       addservice (as) [options] URI alias
              Show more information like URI, priority, type.
+
          Adds a service specified by URI to the system. The alias must be unique and serves to identify the service. + Newly added services are not  refreshed  automatically.  Use
 +
          the  refresh-services  command  to  refresh  them.  Zypper  does  not  access  the service URI when adding the service, so the type of the services is unknown until it is
 +
          refreshed. +
  
       -r, --with-repos
+
       -n, --name name
              Show also repositories belonging to the services.
+
          Specify descriptive name for the service.
  
       -P, --sort-by-priority
+
       -e, --enable
              Sort the list by repository priority.
+
          Enable the service (this is the default).
  
       -E, --show-enabled-only
+
       -d, --disable
              Show  enabled  services  only.  If  used  together with --with-repos a disabled service owning (manually)
+
          Add the service as disabled.
              enabled repositories is shown as well.
 
  
       -U, --sort-by-uri
+
       -f, --refresh
              Sort the list by URI.
+
          Enable auto-refresh of the service.
  
       -N, --sort-by-name
+
       -F, --no-refresh
              Sort the list by name.
+
          Disable auto-refresh of the service.
  
 +
      removeservice (rs) [options] alias|name|#|URI...
 +
          Remove specified service from the system. Removing a service will also remove of all of its repositories.
  
      refresh-services (refs) [options] <alias|name|#|URI> ...
+
          --loose-auth
              Refreshing a service mean executing the service's special task.
+
              Ignore user authentication data in the URI.
  
              RIS services add, remove, or modify repositories on your system based on current content of  the  reposi-
+
          --loose-query
              tory  index. Services only manage defined repositories, they do not refresh them. To refresh also reposi-
+
              Ignore query string in the URI.
              tories, use --with-repos option or the refresh command.
 
  
 +
      modifyservice (ms) options alias|name|#|URI
  
       -r, --with-repos
+
       modifyservice (ms) options --all|--remote|--local|--medium-type
              Refresh also repositories.
+
          Modify properties of specified services.
  
              TODO more info
+
          Common Options
 +
              These options are common to all types of services and repositories.
  
 +
          -n, --name name
 +
              Set a descriptive name for the service.
  
 +
          -e, --enable
 +
              Enable a disabled service.
  
  Package Locks Management
+
          -d, --disable
      Package locks serve the purpose of preventing changes to the set of installed packages on the system. The  locks
+
              Disable the service (but don’t remove it).
      are  stored  in  form  of a query in /etc/zypp/locks file (see also locks(5)).  Packages matching this query are
 
      then forbidden to change their installed status; an installed package can't be removed,  not  installed  package
 
      can't be installed.  When requesting to install or remove such locked package, you will get a dependency problem
 
      dialog.
 
  
 +
          -f, --refresh  (legacy: -r)
 +
              Enable auto-refresh of the service.
  
      locks (ll)
+
          -F, --no-refresh  (legacy: -R)
              List currently active package locks.
+
              Disable auto-refresh of the service.
  
 +
          -a, --all
 +
              Apply changes to all services.
  
      addlock (al) [options] <package-name> ...
+
          -l, --local
              Add a package lock. Specify packages to lock by exact name or by a glob pattern using '*' and '?'  wild-
+
              Apply changes to all local services.
              card characters.
 
  
 +
          -t, --remote
 +
              Apply changes to all remote services.
  
      -r, --repo <alias|name|#|URI>
+
          -m, --medium-type type
              Restrict the lock to the specified repository.
+
              Apply changes to services of specified type.
  
      -t, --type <type>
+
          RIS Service Specific Options
              Lock only packages of specified type (default: package).  See section Package Types for list of available
+
              These options are ignored by services other than Repository Index Services.
              package types.
 
  
 +
          -i, --ar-to-enable alias
 +
              Schedule an RIS service repository to be enabled at next service refresh.
  
      removelock (rl) [options] <lock-number|package-name> ...
+
          -I, --ar-to-disable alias
              Remove specified package lock. Specify the lock to remove by its number obtained with zypper locks or  by
+
              Schedule an RIS service repository to be disabled at next service refresh.
              the package name.
 
  
 +
          -j, --rr-to-enable alias
 +
              Remove a RIS service repository to enable.
  
      -r, --repo <alias|name|#|URI>
+
          -J, --rr-to-disable "alias'
              Restrict the lock to the specified repository.
+
              Remove a RIS service repository to disable.
  
      -t, --type <type>
+
          -k, --cl-to-enable
              Restrict  the lock to packages of specified type (default: package).  See section Package Types for list
+
              Clear the list of RIS repositories to enable.
              of available package types.
 
  
 +
          -K, --cl-to-disable
 +
              Clear the list of RIS repositories to disable.
  
 +
      services (ls) [options]
 +
          List services defined on the system.
  
      cleanlocks (cl)
+
          -u, --uri
              Remove unused locks.
+
              Show also base URI of repositories.
  
              This command looks for locks that do not currently (with regard to repositories used)  lock  any  package
+
          -p, --priority
              and for each such lock it asks user whether to remove it.
+
              Show also repository priority.
  
 +
          -d, --details
 +
              Show more information like URI, priority, type.
  
 +
          -r, --with-repos
 +
              Show also repositories belonging to the services.
  
  Other Commands
+
          -P, --sort-by-priority
      versioncmp (vcmp) <version1> <version2>
+
              Sort the list by repository priority.
              Compare  the  versions supplied as arguments and tell whether version1 is older or newer than version2 or
 
              the two version strings match.
 
  
              The default output is in human-friendly form. If --terse global option is used, the result is an  integer
+
          -E, --show-enabled-only
              number, negative/positive if version1 is older/newer than version2, zero if they match.
+
              Show enabled services only. If used together with --with-repos a disabled services owning (manually) enabled repositories are shown as well.
  
 +
          -U, --sort-by-uri
 +
              Sort the list by URI.
  
      -m, --match
+
          -N, --sort-by-name
              Takes missing release number as any release. For example
+
              Sort the list by name.
              $ zypper vcmp -m 0.15.3 0.15.3-2
 
              0.15.3 matches 0.15.3-2
 
              $ zypper vcmp 0.15.3 0.15.3-2
 
              0.15.3 is older than 0.15.3-2
 
  
 +
      refresh-services (refs) [options] alias|name|#|URI...
 +
          Refreshing a service means executing the service’s special task. + RIS services add, remove, or modify repositories on  your  system  based  on  current  content  of  the
 +
          repository  index.  A  differing  enabled/disabled  state  caused  by  manually  calling  modify-repo  on  a  service  repository  however will not be reverted unless the
 +
          --restore-status option is used, or the repository index explicitly requests the change. + Services only manage defined repositories, they do not refresh them. To refresh
 +
          also repositories, use --with-repos option or the refresh command.
  
      targetos (tos)
+
          -f, --force
              Shows the ID string of the target operating system. The string has a form of distroname-arch. The string
+
              Force a complete refresh of specified services. This option will cause both the download of raw metadata and parsing of the metadata to be forced even if everything
              is determined by libzypp, the distroname is read  from  <current-rootdir>/etc/products.d/baseproduct  and
+
              indicates a refresh is not needed.
              the architecture is determined from uname and CPU flags.
 
  
 +
          -r, --with-repos
 +
              Refresh also the service repositories.
  
      licenses
+
          -R, --restore-status
              Prints a report about licenses and EULAs of installed packages to standard output.
+
              Also restore service repositories enabled/disabled state to the repository index default. Useful after you manually changed some service repositories enabled state.
  
              First,  a  list of all packages and their licenses and/or EULAs is shown.  This is followed by a summary,
+
  Package Locks Management
              including the total number of installed packages, the number  of  installed packages  with EULAs that
+
      Package locks serve the purpose of preventing changes to the set of installed packages on the system. The locks are stored in form of a query in /etc/zypp/locks file (see
              required a confirmation from the user. Since the EULAs are not stored on the system and can only be read
+
      also locks(5))Packages matching this query are  then forbidden to change their installed status; an installed package can’t be removed, not installed package can’t be
              from repository metadata, the summary includes also the number of installed packages that have their
+
      installed. When requesting to install or remove such locked package, you will get a dependency problem dialog.
              counterpart in repositories. The report ends with a list of all licenses uses by the installed packages.
 
  
              This  command can be useful for companies redistributiong a custom distribution (like appliances) to fig-
+
      locks (ll)
              ure out what licenses they are bound by.
+
          List currently active package locks.
  
 +
          -m, --matches
 +
              Show the number of resolvables matched by each lock. This option requires loading the repositories.
  
      source-download
+
          -s, --solvables
              Download source rpms for all installed packages to a local directory.
+
              List the resolvables matched by each lock. This option requires loading the repositories.
  
 +
      addlock (al) [options] package-name...
 +
          Add a package lock. Specify packages to lock by exact name or by a glob pattern using * and ? wildcard characters.
  
      -d, --directory <dir>
+
          -r, --repo alias|name|#|URI
              Download all source rpms to this directory. Default is /var/cache/zypper/source-download.
+
              Restrict the lock to the specified repository.
  
 +
          -t, --type type
 +
              Lock only packages of specified type (default: package). See section Package Types for list of available package types.
  
       --delete
+
       removelock (rl) [options] lock-number|package-name...
              Delete extraneous source rpms in the local directory. This is the default.
+
          Remove specified package lock. Specify the lock to remove by its number obtained with zypper locks or by the package name.
  
 +
          -r, --repo alias|name|#|URI
 +
              Restrict the lock to the specified repository.
  
      --no-delete
+
          -t, --type type
              Do not delete extraneous source rpms.
+
              Restrict the lock to packages of specified type (default: package). See section Package Types for list of available package types.
  
 +
      cleanlocks (cl)
 +
          Remove unused locks. + This command looks for locks that do not currently (with regard to repositories used) lock any package and for each such lock it asks user  whether
 +
          to remove it.
  
       --status
+
       Locale  Management  ~~~~~~~  These  commands  give  information  about  requested locales and the possibilty to manage those. A locale is defined by a language code. For many
              Don't download any source rpms, but show which source rpms are missing or extraneous.
+
      packages there are locale dependent packages available which provide translations or dictionaries. To get these installed, the locale for the desired language must be  marked
 +
      as requested by the package manager library.
  
 +
      locales (lloc) [OPTIONS] [LOCALE] ...
 +
          List  requested  locales.  Called  without  argument,  lists  the  locales which are already marked as requested. Specifying certain locale(s) prints information only for
 +
          this(these).
  
      ps    After each upgrade or removal of packages, there may be running processes on the system  which  then  use
+
          -a, --all
              files meanwhile deleted by the upgrade. zypper ps lists these processes, together with the corresponding
+
              List all available locales.
              deleted files, and a service name hint, in case it's a known service.  The list  contains  the  following
 
              information:
 
  
              * PID      ID of the process
+
          -p, --packages
              * PPID    ID of the parent process
+
              Show corresponding packages.
              * UID      ID of the user running the process
 
              * Login    login name of the user running the process
 
              * Command  command used to execute the process
 
              * Service  guessed name of the service. If an init script exists for this
 
                        service, you can do "rcservicename restart" to restart it.
 
              * Files    the list of the deleted files
 
  
 +
      addlocale (aloc) [OPTIONS] <LOCALE> ...
 +
          Add specified locale(s) to the list of requested locales..
  
 +
          -n, --no-packages
 +
              Do not install corresponding packages.
  
GLOBAL OPTIONS
+
      removelocale (rloc) [OPTIONS] <LOCALE> ...
      -h, --help
+
          Remove specified locale(s) from the list of requested locales..
              Help. If a command is specified together with --help option, command specific help is displayed.
 
  
      -V, --version
+
          -n, --no-packages
              Print zypper version number and exit.
+
              Do not remove corresponding packages.
  
       -c, --config <file>
+
       Examples:
              Use  specified  zypper  config  file  instead of the default files.  Other command line options specified
 
              together with --config and having their counterpart in the config file are still prefered.  The order  of
 
              preference with --config is as follows:
 
  
              * Command line options
+
          $ zypper locales
              * --config <file>
+
              List requested locales.
  
              [ /etc/zypp/zypp.conf ] (system-wide defaults for all libzypp based applications)
+
          $ zypper locales --packages de en
 +
              Get the lists of packages which are available for de and en (exact match).
  
              See also FILES section for more information.
+
          $ zypper locales en_
 +
              Get all locales with lang code en that have their own country code, excluding the fallback en.
  
      -v, --verbose
+
          $ zypper locales en*
              Increase verbosity. For debugging output specify this option twice.
+
              Get all locales with lang code en with or without country code.
  
      -q, --quiet
+
          $ zypper aloc --packages de_CH
              Suppress  normal  output.  Brief  (esp.  result  notification)  messages and error messages will still be
+
              Request de_CH and install language dependent packages.
              printed, though. If used together with conflicting --verbose option, the --verbose option  takes  prefer-
 
              ence.
 
  
       -A, --no-abbrev
+
  Other Commands
              Do not abbreviate text in tables. By default zypper will try to abbreviate texts in some columns so that
+
       versioncmp (vcmp) version1 version2
              the table fits the width of the screen. If you need to see the whole text, use this option.
+
          Compare the versions supplied as arguments and tell whether version1 is older or newer than version2 or the two  version  strings match. +  The  default output  is  in
 +
          human-friendly form. If --terse global option is used, the result is an integer number, negative/positive if version1 is older/newer than version2, zero if they match.
  
      -t, --terse
+
          -m, --match
              Terse output for machine consumption. Currently not used and provided only for compatibility with rug.
+
              Takes missing release number as any release.
  
      -s, --table-style
+
              For example:
              Specifies table style to use. Table style is identified by an integer number. TODO
 
  
      -r, --rug-compatible
+
                  $ zypper vcmp -m 0.15.3 0.15.3-2
              Turns on rug compatibility. See section COMPATIBILITY WITH RUG for details.
+
                      0.15.3 matches 0.15.3-2
  
      -n, --non-interactive
+
                  $ zypper vcmp 0.15.3 0.15.3-2
              Switches to non-interactive mode. In this mode zypper  doesn't  ask  user  to  type  answers  to  various
+
                      0.15.3 is older than 0.15.3-2
              prompts,  but uses default answers automatically. The behaviour of this option is somewhat different than
 
              that of options like '--yes', since zypper can answer  different  answers  to  different  questions. The
 
              answers also depend on other options like '--no-gpg-checks'.
 
  
       -x, --xmlout
+
       targetos (tos)
              Switches to XML output. This option is useful for scripts or graphical frontends using zypper.
+
          Shows  the  ID  string  of the target operating system. The string has a form of distroname-architecture. The string is determined by libzypp, the distroname is read from
 +
          (current-rootdir)/etc/products.d/baseproduct and the architecture is determined from uname and CPU flags.
  
       -i, --ignore-unknown
+
       licenses
              Ignore unknown packages. This option is useful for scripts.
+
          Prints a report about licenses and 'EULA’s of installed packages to standard output. + First, a list of all packages and their licenses and/or EULAs  is  shown.  This  is
 +
          followed by a summary, including the total number of installed packages, the number of installed packages with EULAs that required a confirmation from the user. Since the
 +
          EULAs are not stored on the system and can only be read from repository metadata, the summary includes also the number of installed packages that have  their  counterpart
 +
          in  repositories.  The  report  ends  with  a  list  of  all  licenses  uses by the installed packages. + This command can be useful for companies redistributing a custom
 +
          distribution (like appliances) to figure out what licenses they are bound by.
  
       -D, --reposd-dir <dir>
+
       download
              Use the  specified directory to look for the repository definition (*.repo) files.  The default value is
+
          Download rpms specified on the commandline to a local directory. + Per default packages are  downloaded  to  the  libzypp  package  cache  (/var/cache/zypp/packages;  for
              /etc/zypp/repos.d.
+
          non-root  users $XDG_CACHE_HOME/zypp/packages), but this can be changed by using the global --pkg-cache-dir option. + Parsable XML-output produced by zypper --xmlout will
 +
          include a <download-result> node for each package zypper tried to download. Upon success the location of the downloaded package is found in the  path  attribute  of  the
 +
          <localfile> subnode (xpath: download-result/localpath@path): +
  
      -C, --cache-dir <dir>
+
                  <download-result>
              Use an alternative root directory for all caches.  The default value is /var/cache/zypp.
+
                    <solvable>
 +
                      <kind>package</kind>
 +
                      <name>zypper</name>
 +
                      <edition epoch="0" version="1.9.17" release="26.1"/>
 +
                      <arch>x86_64</arch>
 +
                      <repository name="repo-oss-update (13.1)" alias="openSUSE:repo-oss-update"/>
 +
                    </solvable>
 +
                    <localfile path="/var/cache/zypp/pac.../zypper-1.9.17-26.1.x86_64.rpm"/>
 +
                  </download-result>
  
          --raw-cache-dir <dir>
+
      --all-matches
              Use the specified directory for storing raw copies of repository metadata files.  The  default  value  is
+
                  Download all versions matching the commandline arguments. Otherwise only the best version of each matching package is downloaded.
              /var/cache/zypp/raw.
 
  
          --solv-cache-dir <dir>
+
      --dry-run
              Use  the  specified  directory  to  store the repository metadata cache database files (solv files).  The
+
          Don’t download any package, just report what would be done.
              default value is /var/cache/zypp/solv.
 
  
          --pkg-cache-dir <dir>
+
      source-download
              Use the specified directory for storing  downloaded  rpm  packages.  (see  addrepo  --keep-packages)  The
+
          Download source rpms for all installed packages to a local directory.
              default value is /var/cache/zypp/packages.
 
  
           --userdata <string>
+
           -d, --directory dir
              User  data  is expected to be a simple string without special chars or embedded newlines and may serve as
+
              Download all source rpms to this directory. Default is /var/cache/zypper/source-download.
              transaction id. It will be written to all install history log entries created  throughout  this  specific
 
              zypper  call.  It  will also be passed on to zypp plugins executed during commit. This will enable e.g. a
 
              btrfs plugin to tag created snapshots with this string. For zypper itself  this  string  has  no  special
 
              meaning.
 
  
      Repository Options:
+
          --delete
 +
              Delete extraneous source rpms in the local directory. This is the default.
  
           --no-gpg-checks
+
           --no-delete
              Ignore  GPG  check  failures and continue. If a GPG issue occurs when using this option zypper prints and
+
              Do not delete extraneous source rpms.
              logs a warning and automatically continues without interrupting the operation. Use this option with  cau-
 
              tion, as you can easily overlook security problems by using it.
 
  
           --gpg-auto-import-keys
+
           --status
              If  new  repository  signing key is found, do not ask what to do; trust and import it automatically. This
+
              Don’t download any source rpms, but show which source rpms are missing or extraneous.
              option causes that the new key is imported also in non-interactive mode, where  it  would  otherwise  got
 
              rejected.
 
  
       -p, --plus-repo <URI>
+
       ps
              Use an additional repository for this operation. The repository aliased tmp# and named by the specified
+
          After each upgrade or removal of packages, there may be running processes on the system which continue to use meanwhile deleted files. zypper ps lists all processes using
              URI will be added for this operation and removed at the end. You can specify this option multiple times.
+
          deleted files, together with the corresponding files, and a service name hint, in case it’s a known service. This gives a hint which services may  need  to  be restarted
 +
          after an update. Usually programs which continue to use deleted shared libraries. The list contains the following information:
  
           --disable-repositories
+
           PID
              Do not read metadata from repositories. This option will prevent loading of packages  from  repositories,
+
              ID of the process
              thus  making zypper work only with the installed packages (if --disable-system-resolvables was not speci-
 
              fied).
 
  
           --no-refresh
+
           PPID
              Do not auto-refresh repositories (ignore the auto-refresh setting). Useful to save time when doing opera-
+
              ID of the parent process
              tions like search, if there is not a need to have a completely up to date metadata.
 
  
           --no-cd
+
           UID
              Ignore CD/DVD repositories. When this option is specified, zypper acts as if the CD/DVD repositories were
+
              ID of the user running the process
              not defined at all.
 
  
           --no-remote
+
           Login
              Ignore remote repositories like http, ftp, smb and similar. This makes using  zypper  easier  when  being
+
              Login name of the user running the process
              offline.  When  this  option  is specified, zypper acts as if the remote repositories were not defined at
 
              all.
 
  
      Target Options:
+
          Command
 +
              Command used to execute the process
  
      -R, --root <dir>
+
          Service
              Operates on a different root directory. This option influences the location of the repos.d directory  and
+
              Service name, if command is associated with a system service
              the  metadata  cache  directory  and  also  causes  rpm to be run with the --root option to do the actual
 
              installation or removal of packages. Note that the ZYpp lock is still created in the original system,  as
 
              well as temporary files. See also the FILES section.
 
  
           --disable-system-resolvables
+
           Files
              This  option serves mainly for testing purposes. It will cause zypper to act as if there were no packages
+
              The list of the deleted files
              installed in the system. Use with caution as you can damage your system using this option.
 
  
 +
              -s, --short
 +
                  Create  a  short  table  not  showing  the deleted files. Given twice, show only processes which are associated with a system service. Given three times, list the
 +
                  associated system service names only.
  
 +
              --print format
 +
                  For each associated system service print format on the standard output, followed by a newline. Any %s directive in format is replaced by the system service name.
  
FILES
+
              -d, --debugFile filename
      /etc/zypp/zypper.conf, $HOME/.zypper.conf
+
                  Output a file with all proc entries that make it into the final set of used open files. This can be submitted as additional information in a bug report.
              Global (system-wide) and user's configuration file for zypper. These files are read when  zypper  starts
 
              up and --config option is not used.
 
  
              User's settings are prefered over global settings.  Similarly, command line options override the settings
+
              Examples:
              in either of these files. To sum it up, the order of preference is as follows (from highest to lowest):
 
  
              * Command line options
+
          $ zypper ps -ss
              * $HOME/.zypper.conf
+
              Show only processes associated with a system service.
              * /etc/zypp/zypper.conf
 
  
              [ /etc/zypp/zypp.conf ] (system-wide defaults for all libzypp based applications)
+
          $ zypper ps -sss
 +
              Short for zypper ps --print "%s"; list services which might need a restart.
  
              See the comments in /etc/zypp/zypper.conf for a list and description of available options.
+
          $ zypper ps --print "systemctl status %s"
 +
              Let zypper print the commands to retrieve status information for services which might need a restart.
  
       /etc/zypp/zypp.conf
+
       needs-rebooting
              ZYpp configuration file affecting all libzypp based applicationsSee the comments in the file for
+
          Checks if the reboot-needed flag was set by a previous update or install of a core library or service. + The reboot-needed flag is set when a package from a predefined
              desciption of  configurable  properties.  Many locations of files and directories listed in this section
+
          list (/etc/zypp/needreboot) is updated or installedExit code ZYPPER_EXIT_INF_REBOOT_NEEDED indicates that a reboot is needed, otherwise the exit code is set to
              are configurable via zypp.conf. The location for this file itself can be redefined  only  by  setting
+
          ZYPPER_EXIT_OK.
              $ZYPP_CONF in the environment.
 
  
 +
  Subommands
 +
      subcommand
 +
          Lists available subcommands in /usr/lib/zypper/commands and from elsewhere on your $PATH. See section SUBCOMMANDS for details.
  
       /etc/zypp/locks
+
GLOBAL OPTIONS
              File  with package  lock  definitions,  see locks(5) manual page for details.  The package lock commands
+
       -h, --help
              (addlock, removelock, etc.) can be used to manipulate this file.
+
          Help. If a command is specified together with --help option, command specific help is displayed.
  
              This file is used by all ZYpp-based applications.
+
      -V, --version
 +
          Print zypper version number and exit.
  
       /etc/zypp/repos.d
+
       -c, --config file
              Directory containing repository definition (*.repo) filesYou can use the Repository  Management  com-
+
          Use the specified zypper config file instead of the default zypper.conf. Other command line options specified together with --config and having their counterpart  in the
              mands to manipulate these files, or you can edit them yourself. In either case, after doing the modifica-
+
          zypper config file are still preferred. + The order of preference with --config is as follows:
              tions, executing zypper refresh is strongly recommended.
 
  
              This directory is used by all ZYpp-based applications.
+
            1. Command line options
  
              You can use the --reposd-dir global option to use an alternative directory for this purpose or the --root
+
            2. --config file
              option to make this directory relative to the specified root directory.
 
  
      /etc/zypp/services.d
+
            3. [/etc/zypp/zypp.conf] (system-wide defaults for all libzypp based applications)
              Directory  containing  service definition (*.service) files.  You can use the Service Management Commands
 
              to manipulate theese files, or you can edit them youself. Running zypper refs is recommended after  modi-
 
              fications have been done.
 
  
              This directory is used by all ZYpp-based applications.
+
                  NOTE: Use and location of the system-wide /etc/zypp/zypp.conf can not be changed this way. It’s mentioned here just because some zypper command line options allow
 +
          to overwrite system-wide defaults defined in zypp.conf.
  
      /var/cache/zypp/raw
+
          +
              Directory  for storing raw metadata contained in repositories.  This directory is used by all ZYpp-based
+
                  See also FILES section for more information.
              applications.  Use the --raw-cache-dir global option to use an alternative directory for this purpose  or
 
              the --root option to make this directory relative to the specified root directory.
 
  
       /var/cache/zypp/solv
+
       -v, --verbose
              Directory  containing preparsed metadata in form of solv files. This directory is used by all ZYpp-based
+
          Increase verbosity. For debugging output specify this option twice.
              applications.
 
  
       /var/cache/zypp/packages
+
       -q, --quiet
              If keeppackages property is set for a repository (see the modifyrepo command), all the RPM file  down-
+
          Suppress normal output. Brief (esp. result notification) messages and error messages will still be printed, though. If used together with conflicting --verbose option,
              loaded  during installation will be kept here. See also the clean command for cleaning these cache direc-
+
          the --verbose option takes preference.
              tories.
 
  
              This directory is used by all ZYpp-based applications.
+
      --[no-]color
 +
          Whether to use colors in output if tty supports it. For details see the [color] section in zypper.conf.
  
       /var/log/zypp/history
+
       -A, --no-abbrev
              Installation history log.
+
          Do  not  abbreviate  text in tables. By default zypper will try to abbreviate texts in some columns so that the table fits the width of the screen. If you need to see the
 +
          whole text, use this option.
  
       ~/.zypper_history
+
       -t, --terse
              Command history for the shell.
+
          Terse output for machine consumption. Implies --no-abbrev and --no-color.
  
 +
      -s, --table-style
 +
          Specifies table style to use. Table style is identified by an integer number.
  
EXIT CODES
+
       -n, --non-interactive
       There are several exit codes defined for zypper for use e.g. within scripts. These codes are defined  in  header
+
          Switches to non-interactive mode. In this mode zypper doesn’t ask user to type answers to various prompts, but uses default answers automatically. Those default answers
      file  src/zypper-main.h  found  in  zypper source  package.  Codes from interval (1-5) denote an error, numbers
+
          also depend on other options like --no-gpg-checks or --ignore-unknown.
      (100-105) provide a specific information, 0 represents a normal successful run. Following is  a  list of these
 
      codes with descriptions.
 
  
       0 - ZYPPER_EXIT_OK
+
       --non-interactive-include-reboot-patches
              Successfull run of zypper with no special info.
+
          In  non-interactive  mode  do not skip patches which have the rebootSuggested-flag set. Otherwise these patches are considered to be interactive, like patches including a
 +
          licenses or some message to confirm. NOTE: This option does not turn on non-interactive mode.
  
       1 - ZYPPER_EXIT_ERR_BUG
+
       -x, --xmlout
              Unexpected situation occured, probably caused by a bug.
+
          Switches to XML output. This option is useful for scripts or graphical frontends using zypper.
  
       2 - ZYPPER_EXIT_ERR_SYNTAX
+
       -i, --ignore-unknown
              zypper was invoked with an invalid command or option, or a bad syntax.
+
          Ignore unknown packages. This option is useful for scripts, because when installing in --non-interactive mode zypper expects each command line argument to match at  least
 +
          one known package. Unknown names or globbing expressions with no match are treated as an error unless this option is used.
  
       3 - ZYPPER_EXIT_ERR_INVALID_ARGS
+
       -D, --reposd-dir dir
              Some of provided arguments were invalid. E.g. an invalid URI was provided to the addrepo command.
+
          Use the specified directory to look for the repository definition (.repo) files. The default value is /etc/zypp/repos.d.
  
       4 - ZYPPER_EXIT_ERR_ZYPP
+
       -C, --cache-dir dir
              A problem is reported by ZYPP library.
+
          Use an alternative root directory for all caches. The default value is /var/cache/zypp.
  
       5 - ZYPPER_EXIT_ERR_PRIVILEGES
+
       --raw-cache-dir dir
              User invoking zypper has insufficient privileges for specified operation.
+
          Use the specified directory for storing raw copies of repository metadata files. The default value is /var/cache/zypp/raw.
  
       6 - ZYPPER_EXIT_NO_REPOS
+
       --solv-cache-dir dir
              No repositories are defined.
+
          Use the specified directory to store the repository metadata cache database files (solv files). The default value is /var/cache/zypp/solv.
  
       7 - ZYPPER_EXIT_ZYPP_LOCKED
+
       --pkg-cache-dir dir
              The ZYPP library is locked, e.g. packagekit is running.
+
          Use the specified directory for storing downloaded rpm packages. (see addrepo --keep-packages) The default value is /var/cache/zypp/packages.
  
       100 - ZYPPER_EXIT_INF_UPDATE_NEEDED
+
       --userdata string
              Returned by the patch-check command if there are patches available for installation.
+
          User  data  is  expected  to  be a simple string without special chars or embedded newlines and may serve as transaction id. It will be written to all install history log
 +
          entries created throughout this specific zypper call. It will also be passed on to zypp plugins executed during commit. This will  enable  e.g.  a  btrfs  plugin  to  tag
 +
          created snapshots with this string. For zypper itself this string has no special meaning.
  
       101 - ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED
+
       Repository Options:
              Returned by the patch-check command if there are security patches available for installation.
 
  
       102 - ZYPPER_EXIT_INF_REBOOT_NEEDED
+
       --no-gpg-checks
              Returned after a successfull installation of a patch which requires reboot of computer.
+
          Ignore GPG check failures and continue. If a GPG issue occurs when using this option zypper prints and logs a warning and automatically continues without interrupting the
 +
          operation. Use this option with caution, as you can easily overlook security problems by using it. (see section GPG checks) +
  
       103 - ZYPPER_EXIT_INF_RESTART_NEEDED
+
       --gpg-auto-import-keys
              Returned  after  a  successfull  installation  of  a  patch which requires restart of the package manager
+
          If new repository signing key is found, do not ask what to do; trust and import it automatically. This option causes that the new key is imported also in  non-interactive
              itself. This means that one of patches to be installed affects the package manager itself and the command
+
          mode, where it would otherwise got rejected.
              used (e.g. zypper update) needs to be executed once again to install any remaining patches.
 
  
       104 - ZYPPER_EXIT_INF_CAP_NOT_FOUND
+
       -p, --plus-repo URI
              Returned by the install  and the remove command in case any of the arguments does not match any of the
+
          Use an  additional repository for this operation. The repository aliased tmp# and named by the specified URI will be added for this operation and removed at the end. You
              available (or installed) package names or other capabilities.
+
          can specify this option multiple times.
  
       105 - ZYPPER_EXIT_ON_SIGNAL
+
       --plus-content tag
              Returned upon exiting after receiving a SIGINT or SIGTERM.
+
          Additionally use disabled repositories denoted by tag for this operation. If tag matches a repositories alias, name or URL, or is a keyword defined  in  the  repositories
 +
          metadata,  the  repository will be temporarily enabled for this operation. The repository will then be refreshed and used according to the commands rules. You can specify
 +
          this option multiple times. + If a disabled repositories metadata are not available in the local cache, they will be downloaded to scan for matching  keywords.  Otherwise
 +
          the  keyword  scan  will  use  the  metadata  available  in  the  local  cache.  Only  if used together with the refresh command, a keyword scan will refresh all disabled
 +
          repositories. +
  
 +
          To refresh all disabled repositories metadata:
 +
              zypper --plus-content '' ref
  
 +
          To include a disabled repository repo-debug in a search:
 +
              zypper --plus-content repo-debug search ...
  
COMPATIBILITY WITH RUG
+
          To search only in a disabled repository repo-debug:
      zypper is designed to be compatible with rug, which is a command-line interface to the ZENworks Linux Management
+
              zypper --plus-content repo-debug search -r repo-debug ...
      (ZLM)  agent.  Compared  to rug, zypper does not need the ZLM daemon to run, and is intented to provide more and
 
      improved functionality. Following is a list of zypper-rug command aliases, supported rug command  line  options,
 
      and compatibility notes. See also compatibility notes in descriptions of zypper commands.
 
  
      To enable rug-compatible behavior, use the -r or --rug-compatible global option with each command.
+
          To enable all repos providing the debug keyword:
 +
              zypper in --plus-content debug  some -debuginfo or -debugsource package
  
 +
      --disable-repositories
 +
          Do not read metadata from repositories. This option will prevent loading of packages from repositories, thus making zypper work  only  with  the  installed  packages  (if
 +
          --disable-system-resolvables was not specified).
  
  Service Management Commands
+
      --no-refresh
      ZENworks uses  different terminology than ZYpp. ZLM services are ZYpp's repositories and services. Additionally
+
          Do not auto-refresh repositories (ignore the auto-refresh setting). Useful to save time when doing operations like search, if there is not a need to have a completely up
      some ZLM services can contain catalogs (rpmmd-type repositories in ZYpp speak).
+
          to date metadata.
  
       Zypper tries to mimick rug's behavior in its service handling commands when used with the -r global  option.  It
+
       --no-cd
      also  supports  the --catalog option for specifying catalogs to work with in current operation (this is an alias
+
          Ignore CD/DVD repositories. When this option is specified, zypper acts as if the CD/DVD repositories were not defined at all.
      for zypper's --repo option).
 
  
 +
      --no-remote
 +
          Ignore remote repositories like http, ftp, smb and similar. This makes using zypper easier when being offline. When this option is specified, zypper acts as if the remote
 +
          repositories were not defined at all.
  
       rug service-add (sa)
+
       --releasever version
              zypper addservice (as) When used with -r global option, this command probes the type of service or repos-
+
          Set  the  value  of  the $releasever variable in all .repo files (default: current distribution version). This can be used to switch to new distribution repositories when
              itory at the specified URI, if not explicitly specified. Without -r option the URI is not accessed at all
+
          performing a distribution upgrade. See section Repository Management and the dist-upgrade (dup) command for details. +
              and the URI is added as ZYpp service.
 
  
 +
          To check where you already use $releasever call:
 +
              zypper --releasever @--HERE--@ lr -u
  
       rug service-delete (sd)
+
       Target Options:
              zypper removeservice (rs)
 
  
 +
      -R, --root dir
 +
          Operates on a different root directory. This option influences the location of the repos.d directory and the metadata cache directory and also causes rpm to be  run  with
 +
          the --root option to do the actual installation or removal of packages. See also the FILES section.
  
       rug service-list (sl)
+
       --installroot dir
              zypper services (ls)
+
          Behaves like --root but shares the repositories with the host system.
  
 +
      --disable-system-resolvables
 +
          This  option serves mainly for testing purposes. It will cause zypper to act as if there were no packages installed in the system. Use with caution as you can damage your
 +
          system using this option.
  
       rug catalogs (ca)
+
SUBCOMMANDS
              zypper repos (lr)
+
       Zypper subcommands are inspired by git(1). Subcommands are standalone executables that live in the zypper_execdir (/usr/lib/zypper/commands). For subcommands zypper  provides
 +
      a  wrapper  that  knows  where  the  subcommands live, and runs them by passing command options and arguments to them. If a subcommand is not found in the zypper_execdir, the
 +
      wrapper will look in the rest of your $PATH for it. Thus, it’s possible to write local zypper extensions that don’t live in system space.
  
              zypper doesn't include 'Enabled' and 'Refresh' columns and prints  rug's  'Status'  column  with  values
+
      This is how to add your own subcommand zypper mytask:
              "Active" or "Disabled" instead.
 
  
 +
      ·  The executable must be named zypper-’mytask'.
  
       rug subscribe
+
       ·  The executable must be located your $PATH.
              This  command is not implemented in zypper. Enabling zypper repositories is closest to rug's subscription
 
              of catalogs. Thus, you can use zypper mr -e <alias|name|#|URI> to enable repositories added by  the  ser-
 
              vice.  Use zypper lr (or zypper ca) to list available repositories.
 
  
 +
      ·  A manpage for zypper-’mytask' should be provided and explaining the commands options and return values. It will be shown when calling zypper help mytask.
  
       rug unsubscribe
+
       ·  Zypper built-in commands take precedence over subcommands with the same name.
              See subscribe above, with the difference that -d will be used instead of -e in the zypper mr command.
 
  
 +
      ·  It’s fine to call zypper or use libzypp from within your subcommand.
  
  Package Management Commands
+
       You can use the built-in zypper subcommand command to get a list of all subcommands in zypper_execdir and from elsewhere on your $PATH.
       rug install (in)
 
              zypper install (in)
 
  
              -y, --no-confirm
+
      Using zypper global-options together with subcommands, as well as executing subcommands in zypper shell is currently not supported.
                    Don't require user interaction. This option is implemented using zypper's non-interactive mode.
 
  
              --agree-to-third-party-licenses
+
FILES
                    This option is an alias to zypper's --auto-agree-with-licenses option.
+
      /etc/zypp/zypper.conf, $HOME/.zypper.conf
 +
          Global (system-wide) and user’s configuration file for zypper. These files are read when zypper starts up and --config option is not used. + User’s settings are preferred
 +
          over global settings. Similarly, command line options override the settings in either of these files. To sum it up, the order of preference is as follows (from highest to
 +
          lowest):
  
              -R, --force-resolution <on|off>
+
            1. Command line options
                    This  option is not available in rug and zypper uses the 'force-resolution' solver mode by default
 
                    when running in rug-compatible mode. However, it is possible to turn the forcing of resolution off
 
                    using this option even in rug-compatible mode.
 
  
              --entire-catalog <catalog>
+
            2. $HOME/.zypper.conf
                    This  option  serves  for  marking  all  packages from specified catalog for installation. This is
 
                    achieved by simulating 'zypper in --from <repo> '*''.
 
  
 +
            3. /etc/zypp/zypper.conf
  
      rug remove (rm)
+
            4. [/etc/zypp/zypp.conf] (system-wide defaults for all libzypp based applications)
              zypper remove (rm)
 
  
              -y, --no-confirm
+
                  See the comments in /etc/zypp/zypper.conf for a list and description of available options.
                    Don't require user interaction. This option is implemented using zypper's non-interactive mode.
 
  
              -R, --force-resolution <on|off>
+
                  NOTE: The system-wide /etc/zypp/zypp.conf is mentioned here just because some zypper command line options allow to overwrite system-wide defaults  defined there.
                    This option is not available in rug and zypper uses the 'force-resolution' solver mode by default
+
          zypp.conf and zypper.conf have different content and serve different purpose.
                    when running in rug-compatible mode. However, it is possible to turn the forcing of resolution off
 
                    using this option even in rug-compatible mode.
 
  
 +
      /etc/zypp/zypp.conf
 +
          ZYpp  configuration  file  affecting  all libzypp based applications. See the comments in the file for description of configurable properties. Many locations of files and
 +
          directories listed in this section are configurable via zypp.conf. The location for this file itself can be redefined only by setting $ZYPP_CONF in the environment.
  
       rug verify (ve)
+
       /etc/zypp/locks
              zypper verify (ve)
+
          File with package lock definitions, see locks(5) manual page for details. The package lock commands (addlock, removelock, etc.) can be used to  manipulate  this  file.  +
 +
          This file is used by all ZYpp-based applications.
  
              -y, --no-confirm
+
      /etc/zypp/repos.d
                    Don't require user interaction. This option is implemented using zypper's non-interactive mode.
+
          Directory  containing  repository  definition  (*.repo) files. You can use the Repository Management commands to manipulate these files, or you can edit them yourself. In
 +
          either case, after doing the modifications, executing *zypper refresh* is strongly recommended. + You can use  the  --reposd-dir  global  option  to  use  an  alternative
 +
          directory for this purpose or the --root option to make this directory relative to the specified root directory. + This directory is used by all ZYpp-based applications.
  
 +
      /etc/zypp/services.d
 +
          Directory  containing  service definition (*.service) files. You can use the Service Management Commands to manipulate these files, or you can edit them yourself. Running
 +
          *zypper refs* is recommended after modifications have been done. + This directory is used by all ZYpp-based applications.
  
       rug update (up) [catalog] ...
+
       /usr/lib/zypper/commands
              zypper update (up) [package] ...
+
          System directory containing zypper extensions (see section SUBCOMMANDS)
  
              Zypper interprets the update command arguments as repository identifiers in  rug-compatibilty mode.  The
+
      /var/cache/zypp/raw
              update operation is restricted to the specified repositories.
+
          Directory for storing raw metadata contained in repositories. Use the --raw-cache-dir global option to use an alternative directory for this purpose or the --root option
 +
          to make this directory relative to the specified root directory. + This directory is used by all ZYpp-based applications.
  
              -y, --no-confirm
+
      /var/cache/zypp/solv
                    Don't require user interaction. This option is implemented using zypper's non-interactive mode.
+
          Directory containing preparsed metadata in form of solv files. + This directory is used by all ZYpp-based applications.
  
              --agree-to-third-party-licenses
+
      /var/cache/zypp/packages
                    This option is an alias to zypper's --auto-agree-with-licenses option.
+
          If  keeppackages  property  is  set  for  a repository (see the modifyrepo command), all the RPM file downloaded during installation will be kept here. See also the clean
 +
          command for cleaning these cache directories. + This directory is used by all ZYpp-based applications.
  
              -R, --force-resolution <on|off>
+
      /var/log/zypp/history
                    This  option is not available in rug and zypper uses the 'force-resolution' solver mode by default
+
          Installation history log.
                    when running in rug-compatible mode. However, it is possible to turn the forcing of resolution off
 
                    using this option even in rug-compatible mode.
 
  
              -d, --downloade-only
+
      ~/.zypper_history
                    This option has currently no effect.
+
          Command history for the zypper shell (see the shell command).
  
              --category
+
      /etc/zypp/needreboot
                    This option has currently no effect.
+
          File with a list of packages that will set the reboot-needed flag when installed or upgraded.
  
 +
      /etc/zypp/needreboot.d
 +
          Directory that can be used to define packages that trigger the reboot-needed flag by adding additional files containing the required package names.
  
 +
EXIT CODES
 +
      There are several exit codes defined for zypper built-in commands for use e.g. within scripts. These codes are defined in header file src/zypper-main.h found in zypper source
 +
      package.  Codes  below  100  denote  an  error,  codes above 100 provide a specific information, 0 represents a normal successful run. Following is a list of these codes with
 +
      descriptions:
  
       rug search (se)
+
       0 - ZYPPER_EXIT_OK
              zypper search (se)
+
          Successful run of zypper with no special info.
  
              Instead of the Type column, rug's Bundle column is printed, however, with no contents.
+
      1 - ZYPPER_EXIT_ERR_BUG
 +
          Unexpected situation occurred, probably caused by a bug.
  
              -t, --type
+
      2 - ZYPPER_EXIT_ERR_SYNTAX
                    In rug compatibility mode the --type option defaults to package. Zypper searches all package types
+
          zypper was invoked with an invalid command or option, or a bad syntax.
                    by default.
 
  
                  --sort-by-catalog
+
      3 - ZYPPER_EXIT_ERR_INVALID_ARGS
                    Sort packages by catalog, not by name. This option is an alias to zypper's --sort-by-repo option.
+
          Some of provided arguments were invalid. E.g. an invalid URI was provided to the addrepo command.
  
 +
      4 - ZYPPER_EXIT_ERR_ZYPP
 +
          A problem is reported by ZYPP library.
  
  Patch Management Commands
+
       5 - ZYPPER_EXIT_ERR_PRIVILEGES
       rug patch-info
+
          User invoking zypper has insufficient privileges for specified operation.
              zypper info -t patch
 
  
 +
      6 - ZYPPER_EXIT_NO_REPOS
 +
          No repositories are defined.
  
  Pattern Management Commands
+
       7 - ZYPPER_EXIT_ZYPP_LOCKED
       rug pattern-info
+
          The ZYPP library is locked, e.g. packagekit is running.
              zypper info -t pattern
 
  
 +
      8 - ZYPPER_EXIT_ERR_COMMIT
 +
          An error occurred during installation or removal of packages. You may run zypper verify to repair any dependency problems.
  
  Product Management Commands
+
       100 - ZYPPER_EXIT_INF_UPDATE_NEEDED
       rug product-info
+
          Returned by the patch-check command if there are patches available for installation.
              zypper info -t product
 
  
 +
      101 - ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED
 +
          Returned by the patch-check command if there are security patches available for installation.
  
  System Commands
+
       102 - ZYPPER_EXIT_INF_REBOOT_NEEDED
       rug ping
+
          Returned after a successful installation of a patch which requires reboot of computer.
              zypper ping
 
  
              This command just returns 0 without producing any output or doing anything to the system. Rug's ping com-
+
      103 - ZYPPER_EXIT_INF_RESTART_NEEDED
              mand is used to wake up the ZLM daemon or to check whether it is up and running. Since zypper does no
+
          Returned after a successful installation of a patch which requires restart of the package manager itself. This means that one of  patches  to  be installed affects the
              require ZLM or any other daemon to run, it is safe to always return 0 here to indicate it  is  ready  for
+
          package manager itself and the command used (e.g. zypper update) needs to be executed once again to install any remaining patches.
              operation.
 
  
 +
      104 - ZYPPER_EXIT_INF_CAP_NOT_FOUND
 +
          Returned by the install and the remove command in case any of the arguments does not match any of the available (or installed) package names or other capabilities.
  
  Other Compatibility Notes
+
       105 - ZYPPER_EXIT_ON_SIGNAL
       -c, --catalog <catalog>
+
          Returned upon exiting after receiving a SIGINT or SIGTERM.
              This  option  is  an alias to zypper's --repo <alias> and it will restrict the operation of commands like
 
              search, install, etc to the repository specified by the alias.
 
  
 +
      106 - ZYPPER_EXIT_INF_REPOS_SKIPPED
 +
          Some repository had to be disabled temporarily because it failed to refresh. You should check your repository configuration (e.g. zypper ref -f).
  
       -N, --dry-run
+
       107 - ZYPPER_EXIT_INF_RPM_SCRIPT_FAILED
              Zypper uses -D shorthand for this option, but -N is  provided  for  the  sake of compatibilityZypper
+
          Installation  basically  succeeded, but some of the packages %post install scripts returned an error. These packages were successfully unpacked to disk and are registered
              (libzypp)  implements  this  option  by  passing the --test option to rpm. The option is used in install,
+
          in the rpm database, but due to the failed install script they may not work as expected. The failed scripts output might reveal what actually went wrongAny  scripts
              remove, update, dist-upgrade (not available in rug), and verify commands.
+
          output is also logged to /var/log/zypp/history.
  
 +
      Zypper subcommands (see section SUBCOMMANDS) may return different codes which should be described in the commands man page. Call zypper help subcommand to see the subcommands
 +
      man page if one is provided.
  
 
HOMEPAGE
 
HOMEPAGE
       http://en.opensuse.org/Portal:Zypper
+
       <https://github.com/openSUSE/zypper>
 
 
  
 
AUTHORS
 
AUTHORS
       Martin Vidner <mvidner@suse.cz>
+
       The zypper project was started by Martin Vidner, Jan Kupec, Michael Andres, Duncan Mac-Vicar Prett,  Josef  Reidinger  and  Stanislav Visnovsky. Many  people  have  later
      Duncan Mac-Vicar <dmacvicar@suse.de>
+
       contributed to it.
      Jan Kupec <jkupec@suse.cz>
 
      Stanislav Visnovsky <visnov@suse.cz>
 
       Josef Reidinger <jreidinger@suse.cz>
 
 
 
  
 
SEE ALSO
 
SEE ALSO
       rug(1), YaST2(8), locks(5), zypper-log(8)
+
       locks(5), zypper-log(8), YaST2(8)
 
 
  
 +
SUSE Linux                                                                            2019-03-21                                                                            ZYPPER(8)
  
zypper                                                  1.5.1                                                zypper(8)
+
</nowiki>
</nowiki>
 
  
 
<br/>
 
<br/>

Aktuelle Version vom 27. Oktober 2019, 20:22 Uhr

Icon falscher Titel.png Der korrekte Name dieser Seite lautet „man zypper“. Diese Schreibweise ist aufgrund technischer Einschränkungen nicht möglich.
Dies ist eine reine Textkopie der Manpage von zypper um sie online anzuschauen. Anwendbar für zypper 1.14.27
 ZYPPER(8)                                                                               ZYPPER                                                                              ZYPPER(8)

NAME
       zypper - Command-line interface to ZYpp system management library (libzypp)

SYNOPSIS
       zypper [--global-opts] command [--command-opts] [command-arguments]

       zypper subcommand [--command-opts] [command-arguments]

       zypper help command

DESCRIPTION
       zypper is a command-line interface to ZYpp system management library (libzypp). It can be used to install, update, remove software, manage repositories, perform various
       queries, and more.

CONCEPTS
       Most of the following concepts are common for all applications based on the libzypp package management library, but there are some zypper specifics.

   System Packages
       The set of installed packages on a system is sometimes denoted as repository @System or System Packages. In contrast to available repositories providing packages which can be
       installed, @System provides packages which can only be deleted. Installed packages which are not also provided by at least one of the available repositories are often denoted
       as being unwanted, orphaned or dropped.

   Repositories
       Libzypp works with repository metadata, this is information about packages and their relations extracted from RPM packages and other data like patch information, pattern
       definitions, etc. These data are stored together with the RPM files in folders called repositories. Repositories can be placed on various media like an HTTP or FTP server,
       DVD, or a folder on a local disc.

       There is a special set of commands in zypper intended to manipulate repositories. Also many commands and options take a repository as an argument. See section COMMANDS,
       subsection Repository Management for more details.

   GPG checks
       Disabling GPG checks is not recommended. Signing data enables the recipient to verify that no modifications occurred after the data were signed. Accepting data with no, wrong
       or unknown signature can lead to a corrupted system and in extreme cases even to a system compromise.

       Zypp verifies the authenticity of repository metadata by checking their GPG signature. If the repository metadata are signed with a trusted key and successfully verified,
       packages from this repository are accepted for installation if they match the checksum provided in the metadata. Using unsigned repositories needs to be confirmed.

       If the repository metadata are not signed, the GPG signature of each downloaded rpm package is checked before accepting it for installation. Packages from unsigned
       repositories need a valid GPG signature. Using unsigned packages needs to be confirmed.

       The above is the default behavior defined by settings in /etc/zypp/zypp.conf.

       The addrepo and modifyrepo commands provide further options to tune the behavior per repository. It is for example possible to relax the need to confirm installing unsigned
       packages for a specific repository. But if you do so, you should be very certain that an attacker can hardly modify the package data within the repository or on the way to
       your machine. See section COMMANDS for details about the command options.

   Resource Identifiers (URI)
       To specify locations of repositories or other resources (RPM files, .repo files) you can use any type of URI supported by libzypp. In addition Zypper accepts a special URI
       identifying openSUSE Build Service (OBS) repositories in the addrepo command. These URIs have the form of obs://’project'/[platform].

       See section COMMANDS, subsection Repository Management for a complete list and examples of supported URI formats.

   Refresh
       Refreshing a repository means downloading metadata of packages from the medium (if needed), storing it in local cache (typically under /var/cache/zypp/raw/’alias' directory)
       and preparsing the metadata into .solv files (building the solv cache), typically under /var/cache/zypp/solv/’alias'.

       The metadata get refreshed either automatically or on user request. An automatic refresh takes place right before reading metadata from the database if the auto-refresh is
       enabled for the repository and the metadata is reported to be out of date. If the auto-refresh is disabled, the repository will only be refreshed on user request. You can
       request a refresh by calling zypper refresh (see the documentation of the refresh command for details).

       The repository metadata are checked for changes before actually doing the refresh. A change is detected by downloading one or two metadata index files (small files) and
       comparing the checksums of the cached ones and the remote ones. If the files differ, the repository is out of date and will be refreshed.

       To delay the up-to-date check (and thus the automatic refresh) for a certain number of minutes, edit the value of the repo.refresh.delay attribute of ZYpp config file
       (/etc/zypp/zypp.conf). This means, zypper will not even try to download and check the index files, and you will be able to use zypper for operations like search or info
       without internet access or root privileges.

   Services
       Services are one level above repositories and serve to manage repositories or to do some special tasks. Libzypp currently supports Repository Index Service (RIS) and Plugin
       Service.

       Repository Index Service (RIS) is a special type of repository which contains a list of other repositories. This list can be generated dynamically by the server according to
       some URI parameters or user name, or can be static. Once such service is added to your system, zypper takes care of adding, modifying, or removing these repositories on your
       system to reflect the current list. See section Service Management and <https://en.opensuse.org/openSUSE:Standards_Repository_Index_Service> for more details.

   Package Types
       Zypper works with several types of resource objects, called resolvables. A resolvable might be a  package,  patch,  pattern,  product;  basically  any  kind  of  object  with
       dependencies to other objects.

       package
           An ordinary RPM package.

       patch
           A  released  patch  conflicts  with  the affected/vulnerable versions of a collection of packages. As long as any of these affected/vulnerable versions are installed, the
           conflict triggers and the patch is classified as needed, optional or as unwanted if the patch is locked. + Selecting the patch, the conflict is resolved by  updating  all
           installed  and  affected/vulnerable  packages  to  a  version  providing the fix. When updating the packages zypper always aims for the latest available version. Resolved
           patches are classified as either applied or not needed, depending on whether they refer to actually installed packages. + Depending on the kind  of  defect,  patches  are
           classified  by  category and severity. Commonly used values for category are security, recommended, optional, feature, document or yast. Commonly used values for severity
           are critical, important, moderate, low or unspecified. + Note that the patch command does not apply optional patches (category optional or feature)  by  default.  If  you
           actually  want to consider all optional patches as being needed, say patch --with-optional. Specific patches can be applied using the install command (e.g. zypper install
           patch:openSUSE-2014-7).

       pattern
           A group of packages required or recommended to install some functionality.

       product
           A group of packages which are necessary to install a product.

       srcpackage
           Source code package (.src.rpm). This type works in search and install commands.

       application
           Legacy: Since libzypp-17.7.0 this type is no longer available.

       Throughout this manual we will often refer to resolvables simply as packages and to resolvable types as package type or kind. These type names can be  used  as  arguments  of
       --type option in several commands like install, info, or search. Commands should also allow to specify resolvables as KIND:’NAME' (e.g. patch:openSUSE-2014-7).

   Package Dependencies
       Software  packages  depend  on  each other in various ways. Packages usually require or recommend other packages, but they can also conflict with other packages. Packages may
       support specific hardware or language settings. Zypper uses a dependency solver to find out which packages need to be installed to satisfy the user’s request. See <https://
       en.opensuse.org/Libzypp/Dependencies> for more information.

   Automatically installed packages
       Packages  added  by  the dependency solver in order to resolve a user’s request are remembered as having been 'automatically installed'. They may later be removed, if no more
       user installed packages depend on them (e.g. by zypper remove --clean-deps).

       In the S+tatus+ column the search command distinguishes between user installed packages (i+) and automatically installed packages (i).

   Package File Conflicts
       File conflicts happen when two packages attempt to install files with the same name but different contents. This may happen if you are installing a newer version of a package
       without erasing the older version, of if two unrelated packages each install a file with the same name.

       As  checking  for file conflicts requires access to the full filelist of each package being installed, zypper will check for file conflict only if all packages are downloaded
       in advance (see --download-in-advance).

       As the reason for file conflicts usually is a poor package design or lack of coordination between the people building the packages, they are not easy to resolve. By using the
       --replacefiles option you can force zypper to replace the conflicting files. Nevertheless this may damage the package whose file gets replaced.

COMMANDS
       zypper  provides  a  number  of  commands.  Each command accepts the options listed in the GLOBAL OPTIONS section. These options must be specified before the command name. In
       addition, many commands have specific options, which are listed in this section. These command-specific options must be specified after the name of the command and before any
       of the command arguments.

       Zypper also provides limited support for writing extensions/subcommands in any language. See section SUBCOMMANDS for details.

   General Commands
       help [command]
           Shows  help texts. If invoked without any argument (just zypper or zypper help), zypper displays global help text which lists all available global options and commands. +
           If invoked with a command name argument, zypper displays help for the specified command, if such command exists. Long as well as short variants of the command  names  can
           be used. + For your convenience, zypper help can also be invoked in any of the following ways:

           $ zypper -h|--help [command]

           $ zypper [command] -h|--help

           shell (sh)
               Starts  a  shell  for entering multiple commands in one session. Exit the shell using exit, quit, or Ctrl-D. + The shell support is not complete so expect bugs there.
               However, there’s no urgent need to use the shell since libzypp became so fast thanks to the SAT solver and its tools (openSUSE 11.0), but  still,  you’re  welcome  to
               experiment with it.

   Package Management Commands
       info (if) [options] name...
           Displays  detailed  information  about  the  specified  packages.  + For each specified package, zypper finds the best available version in defined repositories and shows
           information for this package.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number or URI. This option can be used multiple times.

           -t, --type type
               Type of package (default: package). See section Package Types for list of available package types.

           --provides
               Show symbols the package provides.

           --requires
               Show symbols the package requires.

           --conflicts
               Show symbols the package conflicts with.

           --obsoletes
               Show symbols the package obsoletes.

           --recommends
               Show symbols the package recommends.

           --suggests
               Show symbols the package suggests.

           --supplements
               Show symbols the package supplements.

           Examples:

               $ zypper info workrave
                   Show information about package workrave

               $ zypper info -t patch libzypp
                   Show information about patch libzypp

               $ zypper info -t pattern lamp_server
                   Show information about pattern lamp_server

       install (in) [options] name|capability|rpm_file_uri...
           Install or update packages.

           The packages can be selected by their name or by a capability they provide.
               + A capability is formed by "NAME[.’ARCH'][ OP EDITION]", where ARCH is an architecture code, OP is one of <, <=, =, >=, or > and  EDITION  is  "VERSION[-’RELEASE']".
               For  example:  zypper=0.8.8-2  +  The  NAME  component  of  a  capability  is  not  only  a  package  name but any symbol provided by packages: /bin/vi, libcurl.so.3,
               perl(Time::ParseDate). Just remember to quote to protect the special characters from the shell, for example: zypper\>0.8.10 or 'zypper>0.8.10'. + If  EDITION  is  not
               specified,  the  newest  installable version will be installed. This also means that if the package is already installed and newer versions are available, it will get
               upgraded to the newest installable version. + If ARCH is not specified, or the last dot of the capability name string is  not  followed  by  known  architecture,  the
               solver  will  treat  the  whole  string  as  a capability name. If the ARCH is known, the solver will select a package matching that architecture and complain if such
               package cannot be found.

           Zypper is also able to install plain RPM files while trying to satisfy their dependencies using packages from defined repositories. You can install a plain  RPM  file  by
           specifying its location in the install command arguments either as a local path or an URI. E.g.:
               +  $  zypper  install ~/rpms/foo.rpm <http://some.site/bar.rpm>. + Zypper will report packages that it cannot find. Further, in interactive mode, zypper proceeds with
               installation of the rest of requested packages, and it will abort immediately in non-interactive mode. In  both  cases  zypper  returns  ZYPPER_EXIT_INF_CAP_NOT_FOUND
               after  finishing  the  operation.  +  Zypper  will  collect  the  files  in  a  temporary  plaindir  repository  and mark the respective packages for installation. If
               --download-only is used, the downloaded packages will be available in /var/cache/zypper/RPMS until you actually install them or call zypper clean to clear the package
               caches.

           In the install command, you can also specify packages you wish to remove by prepending their names by a - or ! character. For example:
               +  $  zypper install \!Firefox + In contrast to zypper remove Firefox which removes Firefox and its dependent packages, the install command will try to keep dependent
               packages installed by looking for Firefox alternatives. + Note that if you choose to use - with the first package you specify, you need  to  write  --  before  it  to
               prevent its interpretation as a command option: + $ zypper install --  -boring-game great-game great-game-manual

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number or URI. This option can be used multiple times. + Using --repo is discouraged as it currently hides
               unmentioned repositories from the resolver, leading to inexpertly decisions. In the future --repo will become an alias for --from.

           -t, --type type
               Type of package to install (default: package). See section Package Types for list of available package types. Use zypper se -t type [name] to look for available items
               of  this type and zypper info -t type name to display more detailed information about the item. + If patch is specified, zypper will install and/or remove packages to
               satisfy specified patch. This is a way to ensure that specific bug fix is installed. Use zypper list-patches to look for applicable patches. + If product  or  pattern
               are specified, zypper ensures that all required (and optionally recommended) packages are installed.

           -n, --name
               Select packages by their name, don’t try to select by capabilities.

           -f, --force
               Install even if the item is already installed (reinstall), downgraded or changes vendor or architecture.

           --oldpackage
               Allow  to  replace a newer item with an older one. Handy if you are doing a rollback. Unlike --force it will not enforce a reinstall, if the item is already installed
               with the requested version.

           --from alias|name|#|URI
               Select packages from specified repository. If strings specified as arguments to the install command match packages in repositories specified in this option, they will
               be marked for installation. This option currently implies --name, but allows using wildcards for specifying packages.

           -C, --capability
               Select packages by capabilities.

           -l, --auto-agree-with-licenses
               Automatically  say  yes  to  third party license confirmation prompt. By using this option, you choose to agree with licenses of all third-party software this command
               will install. This option is particularly useful for administrators installing the same set of packages on multiple machines (by an automated process)  and  have  the
               licenses confirmed before.

           --auto-agree-with-product-licenses
               Automatically  accept product licenses only. This is used by tools like SUSEconnect, which ask for confirmation before the product gets registered. So there’s no need
               to confirm the product license again at install time.

           --replacefiles
               Install the packages even if they replace files from other, already installed, packages. Default is to treat file conflicts as an error. --download-as-needed disables
               the file conflict check because access to all packages file lists is needed in advance in order to perform the check.

           -D, --dry-run
               Test the installation, do not actually install any package. This option will add the --test option to the rpm commands run by the install command.

           --details
               Show the detailed installation summary.

           -y, --no-confirm
               Don’t require user interaction. Alias for the --non-interactive global option.

           --allow-unsigned-rpm
               Silently install unsigned rpm packages given as commandline parameters.

           Solver related options:

           --debug-solver
               Create   solver   test   case   for   debugging.   Use   this   option,  if  you  think  the  dependencies  were  not  solved  all  right  and  attach  the  resulting
               /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.

           --force-resolution
               Force the solver to find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing  packages  (zypper  remove).  This
               option overrides --no-force-resolution in case both are specified on the command line.

           -R, --no-force-resolution
               Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
               packages (zypper remove).

           --recommends
               Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           --no-recommends
               Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           Download-and-install mode options:

           -d, --download-only
               Only download the packages for later installation.

           --download-in-advance
               First download all packages, then start installing.

           --download-in-heaps
               Download a minimal set of packages that can be installed without leaving the system in broken state, and install them. Then download and install  another  heap  until
               all  are  installed.  This  helps  to  keep  the  system  in  consistent  state without the need to download all packages in advance, which combines the advantages of
               --download-in-advance and --download-as-needed. This is the default mode. + NOTE: While the resolver is not capable of  building  heaps,  this  behaves  the  same  as
               --download-in-advance.

           --download-as-needed
               Download one package, install it immediately, and continue with the rest until all are installed.

           --download mode
               Use  the  specified  download-and-install  mode.  Available  modes  are:  only, in-advance, in-heaps, as-needed. See corresponding --download-’mode' options for their
               description.

           Expert Options:
               Don’t use them unless you know you need them.

           --[no-]allow-downgrade
               Whether to allow downgrading installed resolvables.

           --[no-]allow-name-change
               Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.

           --[no-]allow-arch-change
               Whether to allow changing the architecture of installed resolvables.

           --[no-]allow-vendor-change
               Whether to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to  the
               distributions version (or vice versa).

           Examples:

               $ zypper install -t pattern lamp_server
                   Install lamp_server pattern.

               $ zypper install --no-recommends gv
                   Install GhostScript viewer, but ignore recommended packages.

               $ zypper install virtualbox-ose-2.0.6

               $ zypper install virtualbox-ose=2.0.6

               $ zypper install virtualbox-ose = 2.0.6
                   Install version 2.0.6 of virtualbox-ose package.

       source-install (si) name...
           Install  specified  source  packages  and  their build dependencies. If the name of a binary package is given, the corresponding source package is looked up and installed
           instead. + This command will try to find the newest available versions of the source packages and uses rpm -i to install them, optionally together with all  the  packages
           that  are  required  to  build  the source package. The default location where rpm installs source packages to is /usr/src/packages/{SPECS,SOURCES}, but the values can be
           changed in your local rpm configuration. In case of doubt try executing rpm --eval "%{_specdir} and %{_sourcedir}". + Note that the source packages must be  available  in
           repositories you are using. You can check whether a repository contains any source packages using the following command:

               $ zypper search -t srcpackage -r alias|name|#|URI

           -d, --build-deps-only
               Install only build dependencies of specified packages.

           -D, --no-build-deps
               Don’t install build dependencies.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           --download-only
               Only download the packages, do not install.

           Examples:

               $ zypper si -d dbus-1
                   Install build dependencies of dbus-1 source package.

       verify (ve) [options]
           Check  whether  dependencies  of  installed packages are satisfied. + In case that any dependency problems are found, zypper suggests packages to install or remove to fix
           them.

           -D, --dry-run
               Test the repair, do not actually do anything to the system.

           --details
               Show the detailed installation summary.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           -y, --no-confirm
               Don’t require user interaction. Alias for the --non-interactive global option.

           Solver related options:

           --debug-solver
               Create  solver  test  case  for  debugging.  Use  this  option,  if  you  think  the  dependencies  were   not   solved   all   right   and   attach   the   resulting
               /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.

           --force-resolution
               Force  the  solver  to  find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing packages (zypper remove). This
               option overrides --no-force-resolution in case both are specified on the command line.

           -R, --no-force-resolution
               Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
               packages (zypper remove).

           --recommends
               Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           --no-recommends
               Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           Expert Options:
               Don’t use them unless you know you need them.

           --[no-]allow-downgrade
               Whether to allow downgrading installed resolvables.

           --[no-]allow-name-change
               Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.

           --[no-]allow-arch-change
               Whether to allow changing the architecture of installed resolvables.

           --[no-]allow-vendor-change
               Whether  to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to the
               distributions version (or vice versa).

           This command also accepts the Download-and-install mode options described in the install command.

       install-new-recommends (inr) [options]
           Install newly added packages recommended by already installed ones. This command basically re-evaluates the recommendations of all installed packages  and  fills  up  the
           system  accordingly.  You  don’t  want  to  call this unconditionally on small or minimal systems, as it may easily add a large number of packages. + Called as zypper inr
           --no-recommends, it restricts the command to just look for packages supporting available hardware, languages or filesystems. Usefull after having added e.g. new  hardware
           or driver repos. This is also the default behavior if you have set [zypp.conf:solver.onlyRequires].

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           -D, --dry-run
               Test the installation, do not actually install anything.

           --details
               Show the detailed installation summary.

           Solver related options:

           --debug-solver
               Create   solver   test   case   for   debugging.   Use   this   option,  if  you  think  the  dependencies  were  not  solved  all  right  and  attach  the  resulting
               /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.

           --force-resolution
               Force the solver to find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing  packages  (zypper  remove).  This
               option overrides --no-force-resolution in case both are specified on the command line.

           -R, --no-force-resolution
               Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
               packages (zypper remove).

           --recommends
               Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           --no-recommends
               Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           Expert Options:
               Don’t use them unless you know you need them.

           --[no-]allow-downgrade
               Whether to allow downgrading installed resolvables.

           --[no-]allow-name-change
               Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.

           --[no-]allow-arch-change
               Whether to allow changing the architecture of installed resolvables.

           --[no-]allow-vendor-change
               Whether to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to  the
               distributions version (or vice versa).

           This command also accepts the Download-and-install mode options described in the install command.

       remove (rm) [options] name...

       remove (rm) [options] --capability capability...
           Remove  (uninstall)  packages.  +  The  remove  command will uninstall the selected and their dependent packages. It will not try to install alternatives in order to keep
           dependent packages installed. If you want this, use zypper install !name. + The packages can be selected by their name or by a capability they  provide.  For  details  on
           package selection see the install command description.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           -t, --type type
               Type  of  package  (default:  package).  See section Package Types for list of available package types. + Since patches are not installed in sense of copying files or
               recording a database entry, they cannot be uninstalled, even though zypper shows them as installed. The installed status is determined solely based on  the  installed
               status of its required dependencies. If these dependencies are satisfied, the patch is rendered installed.

           -n, --name
               Select packages by their name (default).

           -C, --capability
               Select packages by capabilities.

           -D, --dry-run
               Test the removal of packages, do not actually remove anything. This option will add the --test option to the rpm commands run by the remove command.

           --details
               Show the detailed installation summary.

           -y, --no-confirm
               Don’t require user interaction. Alias for the --non-interactive global option.

           Solver related options:

           --debug-solver
               Create   solver   test   case   for   debugging.   Use   this   option,  if  you  think  the  dependencies  were  not  solved  all  right  and  attach  the  resulting
               /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.

           --force-resolution
               Force the solver to find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing  packages  (zypper  remove).  This
               option overrides --no-force-resolution in case both are specified on the command line.

           -R, --no-force-resolution
               Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
               packages (zypper remove).

           -u, --clean-deps
               Automatically remove dependencies which become unneeded after removal of requested packages.

           -U, --no-clean-deps
               No automatic removal of unneeded dependencies.

   Update Management Commands
       list-updates (lu) [options]
           List available updates. + This command will list only installable updates, i.e. updates which have no dependency problems, or which do not  change  package  vendor.  This
           list is what the update command will propose to install. To list all packages for which newer version are available, use --all option.

           -t, --type type
               Type of package (default: package). See section Package Types for list of available package types. + If patch is specified, zypper acts as if the list-patches command
               was executed.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           -a, --all
               List all packages for which newer versions are available, regardless whether they are installable or not.

           --best-effort
               See the update command for description.

       update (up) [options] [packagename]...
           Update installed packages with newer versions, where possible. + This command will not update packages which would require change of package vendor unless the  vendor  is
           specified  in  /etc/zypp/vendors.d,  or  which would require manual resolution of problems with dependencies. Such non-installable updates will then be listed in separate
           section of the summary as "The following package updates will NOT be installed:". + To update individual packages, specify one or more package names. You can  use  the  *
           and ? wildcard characters in the package names to specify multiple packages matching the pattern.

           -t, --type type
               Type  of package (default: package). See section Package Types for list of available package types. + If patch is specified, zypper acts as if the patches command was
               executed.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           --skip-interactive
               This will skip interactive patches, that is, those that need reboot, contain a message, or update a package whose license needs to be confirmed.

           --with-interactive
               Avoid skipping of interactive patches when in non-interactive mode.

           -l, --auto-agree-with-licenses
               Automatically say yes to third party license confirmation prompt. By using this option, you choose to agree with licenses of all  third-party  software  this  command
               will  install.  This  option is particularly useful for administrators installing the same set of packages on multiple machines (by an automated process) and have the
               licenses confirmed before.

           --auto-agree-with-product-licenses
               Automatically accept product licenses only. This is used by tools like SUSEconnect, which ask for confirmation before the product gets registered. So there’s no  need
               to confirm the product license again at install time.

           --replacefiles
               Install the packages even if they replace files from other, already installed, packages. Default is to treat file conflicts as an error. --download-as-needed disables
               the fileconflict check because access to all packages filelists is needed in advance in order to perform the check.

           -D, --dry-run
               Test the update, do not actually install or update any package. This option will add the --test option to the rpm commands run by the update command.

           --details
               Show the detailed installation summary.

           --best-effort
               Do a best effort approach to update. This method does not explicitly select packages with best version and  architecture,  but  instead  requests  installation  of  a
               package with higher version than the installed one and leaves the rest on the dependency solver. This method is always used for packages, and is optional for products
               and patterns. It is not applicable to patches.

           -y, --no-confirm
               Don’t require user interaction. Alias for the --non-interactive global option.

           Solver related options:

           --debug-solver
               Create  solver  test  case  for  debugging.  Use  this  option,  if  you  think  the  dependencies  were   not   solved   all   right   and   attach   the   resulting
               /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.

           --force-resolution
               Force  the  solver  to  find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing packages (zypper remove). This
               option overrides --no-force-resolution in case both are specified on the command line.

           -R, --no-force-resolution
               Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
               packages (zypper remove).

           --recommends
               Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           --no-recommends
               Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           Expert Options:
               Don’t use them unless you know you need them.

           --[no-]allow-downgrade
               Whether to allow downgrading installed resolvables.

           --[no-]allow-name-change
               Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.

           --[no-]allow-arch-change
               Whether to allow changing the architecture of installed resolvables.

           --[no-]allow-vendor-change
               Whether  to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to the
               distributions version (or vice versa).

           This command also accepts the Download-and-install mode options described in the install command description.

       list-patches (lp) [options]
           List all applicable patches. + This command is similar to zypper list-updates -t patch. + Note that optional arguments of some of the following options must be  specified
           using = instead of a space.

           -b, --bugzilla[='#[,...']]
               List applicable patches for all Bugzilla issues, or issues whose number matches the given string.

           --cve[='#[,...']]
               List applicable patches for all CVE issues, or issues whose number matches the given string.

           --date YYYY-MM-DD[,...]
               List only patches issued up to, but not including, the specified date.

           -g, --category category[,...]
               List only patches with this category. See section Package Types for a list of commonly used category values.

           --severity severity[,...]
               List only patches with this severity. See section Package Types for a list of commonly used severity values.

           --issues[=’string'[,...]]
               Look  for issues whose number, summary, or description matches the specified string. Issues found by number are displayed separately from those found by descriptions.
               In the latter case, use zypper patch-info patchname to get information about issues the patch fixes.

           -a, *--all
               By default, only patches that are applicable on your system are listed. This option causes all available released patches to be listed. This option  can  be  combined
               with all the rest of the list-updates command options.

           --with[out]-optional
               Whether applicable optional patches should be treated as needed or be excluded. The default is to exclude optional patches.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

       patch-check (pchk)
           Check for patches. Displays a count of applicable patches and how many of them have the security category. + See also the EXIT CODES section for details on exit status of
           0, 100, and 101 returned by this command.

           --updatestack-only
               Check only for patches which affect the package management itself.

           --with[out]-optional
               Whether applicable optional patches should be treated as needed or be excluded. The default is to exclude optional patches.

           -r, --repo alias|name|#|URI
               Check for patches only in the repository specified by the alias, name, number, or URI. This option can be used multiple times.

       patch [options]
           Install all available needed patches. + If there are patches that affect the package management itself, those will be installed first and you will be  asked  to  run  the
           patch command again. + This command is similar to zypper update -t patch.

           --updatestack-only
               Install only patches which affect the package management itself and exit.

           --with-update
               Additionally  try to update all packages not covered by patches. This is basically the same as running zypper update afterwards. + The option is ignored, if the patch
               command must update the update stack first, thus it can not be combined with the --updatestack-only option.

           --with[out]-optional
               Whether applicable optional patches should be treated as needed or be excluded. The default is to exclude optional patches.

           -b, --bugzilla #[,...]
               Install patch fixing a Bugzilla issue specified by number. Use list-patches --bugzilla command to get a list of applicable patches for specific issues.

           --cve #[,...]
               Install patch fixing a MITRE’s CVE issue specified by number. Use list-patches --cve command to get a list of applicable patches for specific issues.

           --date YYYY-MM-DD[,...]
               Install only patches issued up to, but not including, the specified date.

           -g, --category category[,...]
               Install only patches with this category. Use list-patches --category command to get a list of available patches with a specific category. See  section  Package  Types
               for a list of commonly used category values.

           --severity severity[,...]
               Install  only  patches  with this severity. Use list-patches --severity command to get a list of available patches with a specific severity. See section Package Types
               for a list of commonly used severity values.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           --skip-interactive
               This will skip interactive patches, that is, those that need reboot, contain a message, or update a package whose license needs to be confirmed.

           --with-interactive
               Avoid skipping of interactive patches when in non-interactive mode.

           -l, --auto-agree-with-licenses
               Automatically say yes to third party license confirmation prompt. By using this option, you choose to agree with licenses of all  third-party  software  this  command
               will  install.  This  option is particularly useful for administrators installing the same set of packages on multiple machines (by an automated process) and have the
               licenses confirmed before.

           --auto-agree-with-product-licenses
               Automatically accept product licenses only. This is used by tools like SUSEconnect, which ask for confirmation before the product gets registered. So there’s no  need
               to confirm the product license again at install time.

           --replacefiles
               Install the packages even if they replace files from other, already installed, packages. Default is to treat file conflicts as an error. --download-as-needed disables
               the fileconflict check because access to all packages filelists is needed in advance in order to perform the check.

           -D, --dry-run
               Test the update, do not actually update.

           --details
               Show the detailed installation summary.

           -y, --no-confirm
               Don’t require user interaction. Alias for the --non-interactive global option.

           Solver related options:

           --debug-solver
               Create  solver  test  case  for  debugging.  Use  this  option,  if  you  think  the  dependencies  were   not   solved   all   right   and   attach   the   resulting
               /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.

           --force-resolution
               Force  the  solver  to  find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing packages (zypper remove). This
               option overrides --no-force-resolution in case both are specified on the command line.

           -R, --no-force-resolution
               Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
               packages (zypper remove).

           --recommends
               Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           --no-recommends
               Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           Expert Options:
               Don’t use them unless you know you need them.

           --[no-]allow-downgrade
               Whether to allow downgrading installed resolvables.

           --[no-]allow-name-change
               Whether to allow changing the names of installed resolvables. Setting this to no will not replace packages which have been renamed.

           --[no-]allow-arch-change
               Whether to allow changing the architecture of installed resolvables.

           --[no-]allow-vendor-change
               Whether  to allow changing the vendor of installed resolvables. Setting this to no might be useful if you do not want packages from foreign repos being changed to the
               distributions version (or vice versa).

           This command also accepts the Download-and-install mode options described in the install command description.

       dist-upgrade (dup) [options]
           Perform a distribution upgrade. This command applies the state of (specified) repositories onto the system; upgrades (or even downgrades) installed packages  to  versions
           found  in  repositories, removes packages that are no longer in the repositories and pose a dependency problem for the upgrade, handles package splits and renames, etc. +
           If no repositories are specified via the --from option, zypper will do a global upgrade with all defined  repositories.  This  global  form  of  dup  will  also  consider
           unchanged  installed  packages  and  re-evaluate  their  dependencies.  This  can  be a problem if the system contains conflicting repositories, like repositories for two
           different distribution releases. This often happens if one forgets to remove an older release repository after adding a new one, say openSUSE 13.1 and  openSUSE  13.2.  +
           For all repositories which have the distribution version within their URL (like <https://download.opensuse.org/distribution/
           .www:lenstrwww:splitstr:nwww:splitstr:rfI>13.1/repo/oss) using the $releasever variable instead may be helpful ( <https://download.opensuse.org/distribution/
           .www:lenstrwww:splitstr:nwww:splitstr:rfB>$releasever/repo/oss).  The  variable  is  per default substituted by the current distributions version (13.1) This value can be
           overwritten using the --releasever global option. Calling zypper --releasever 13.2'...' will cause these repos to use the new location ( <https://download.opensuse.org/
           distribution/.www:lenstrwww:splitstr:nwww:splitstr:rfI>13.2/repo/oss)  without need to add/remove anything. Once the dup is performed, $releasever will default to the new
           distribution version. See section Repository Management for more info about variable substitution. + Note: distribution upgrades in openSUSE are currently only  supported
           between consecutive releases. To upgrade multiple releases, upgrade each consecutive release one at a time. For more details see <http://en.opensuse.org/
           SDB:System_upgrade> and the openSUSE release notes at <http://doc.opensuse.org/release-notes/>.

           --from alias|name|#|URI
               The option can be used multiple times and restricts the upgrade to the specified repositories only. Nevertheless all enabled repositories are visible to the  resolver
               and will be considered to satisfy dependency problems.

           -r, --repo alias|name|#|URI
               Work  only  with  the  repository  specified by the alias, name, number, or URI. + Using --repo is discouraged as it currently hides unmentioned repositories from the
               resolver, leading to inexpertly decisions. This is because packages originally installed from the hidden repos will now be treated as orphaned or dropped. They can be
               silently removed if involved in a dependency conflict. In the future --repo will become an alias for --from.

           -l, --auto-agree-with-licenses
               Automatically  say  yes  to  third party license confirmation prompt. By using this option, you choose to agree with licenses of all third-party software this command
               will install. This option is particularly useful for administrators installing the same set of packages on multiple machines (by an automated process)  and  have  the
               licenses confirmed before.

           --auto-agree-with-product-licenses
               Automatically  accept product licenses only. This is used by tools like SUSEconnect, which ask for confirmation before the product gets registered. So there’s no need
               to confirm the product license again at install time.

           --replacefiles
               Install the packages even if they replace files from other, already installed, packages. Default is to treat file conflicts as an error. --download-as-needed disables
               the fileconflict check because access to all packages filelists is needed in advance in order to perform the check.

           -D, --dry-run
               Test the upgrade, do not actually install or update any package. This option will add the --test option to the rpm commands run by the dist-upgrade command.

           -y, --no-confirm
               Don’t require user interaction. Alias for the --non-interactive global option.

           --details
               Show the detailed installation summary.

           Solver related options:

           --debug-solver
               Create   solver   test   case   for   debugging.   Use   this   option,  if  you  think  the  dependencies  were  not  solved  all  right  and  attach  the  resulting
               /var/log/zypper.solverTestCase directory to your bug report. To use this option, simply add it to the problematic install or remove command.

           --force-resolution
               Force the solver to find a solution by allowing to remove packages with unfulfilled requirements. This is the default when removing  packages  (zypper  remove).  This
               option overrides --no-force-resolution in case both are specified on the command line.

           -R, --no-force-resolution
               Do not force the solver to find a solution. Instead, report dependency problems and prompt the user to resolve them manually. This is the default except when removing
               packages (zypper remove).

           --recommends
               Install also recommended packages in addition to the required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           --no-recommends
               Do not install recommended packages, but only required ones. The default behavior is determined by [zypp.conf:solver.onlyRequires].

           Expert Options:
               Don’t use them unless you know you need them.

           --[no-]allow-downgrade
               Whether to allow downgrading installed resolvables [zypp.conf:solver.dupAllowDowngrade].

           --[no-]allow-name-change
               Whether to allow changing the names of installed resolvables [zypp.conf:solver.dupAllowNameChange]. Setting this to no will  not  replace  packages  which  have  been
               renamed.

           --[no-]allow-arch-change
               Whether to allow changing the architecture of installed resolvables [zypp.conf:solver.dupAllowArchChange].

           --[no-]allow-vendor-change
               Whether  to allow changing the vendor of installed resolvables [zypp.conf:solver.dupAllowVendorChange]. Setting this to no might be useful if you do not want packages
               from foreign repos being dup’ed to the distributions version (or vice versa).

           This command also accepts the Download-and-install mode options described in the install command description.

           Examples:

               $ zypper dup --from factory --from packman
                   Upgrade the system to the latest versions provided by the factory and packman repositories.

   Query Commands
       search (se) [options] [querystring|capability]...
           Search for packages matching any of the given search strings. * and ? wildcard characters can be used within search strings. If the search string is enclosed in /   (e.g.
           /^k.*e$/)  it’s interpreted as a regular expression. See the install command for details about how to specify a capability. + Results of the search are printed in a table
           with columns S+tatus+, Name, Summary and Type of package. + In the detailed view (se -s) all available instances of matching packages are  shown;  each  version  in  each
           repository on a separate line, with columns S+tatus+, Name, Type, Version, Arch+itecture+ and Repository. For installed packages Repository shows either a repository that
           provides exactly the installed version of the package, or, if the exact version is not provided by any  known  repo,  (System  Packages)  (or  @System).  Those  installed
           packages not provided by any repo are often denoted as being unwanted, orphaned or dropped. + The S+tatus+ column can contain the following values:

           i+
               installed by user request

           i
               installed automatically (by the resolver, see section Automatically installed packages)

           v
               a different version is installed

           empty
               neither of the above cases

           .l
               is shown in the 2nd column if the item is locked (see section Package Locks Management)

                   The  v  status is only shown if the version or the repository matters (see --details or --repo), and the installed instance differs from the one listed in version
           or repository.
                   +
                   This command accepts the following options:

           --match-substrings
               Matches for search strings may be partial words (default).

           --match-words
               Matches for search strings may only be whole words.

           -x, --match-exact
               Searches for an exact name of the package.

           --provides
               Search for packages which provide the search strings.

           --requires
               Search for packages which require the search strings.

           --recommends
               Search for packages which recommend the search strings.

           --suggests
               Search for packages which suggest the search strings.

           --conflicts
               Search for packages conflicting with the search strings.

           --obsoletes
               Search for packages which obsolete the search strings.

           --supplements
               Search for packages which supplement the search strings.

           -n, --name
               Useful together with dependency options, otherwise searching in package name is default.

           -f, --file-list
               Search in the file list of packages. Note that the full file list is available for installed packages only. For remote packages only an abstract of their file list is
               available within the metadata (files containing /etc/, /bin/, or /sbin/).

           -d, --search-descriptions
               Search also in summaries and descriptions.

           -C, --case-sensitive
               Perform case-sensitive search.

           -i, --installed-only
               Show only installed packages.

           -u, --not-installed-only
               Show only packages which are not installed. + The old option name --uninstalled-only is still acceptable, but should be considered deprecated.

           -t, --type type
               Search  only  for  packages  of  specified  type. See section Package Types for a list of available package types. Multiple --type options are allowed. + See also the
               type-specific query commands like packages, patterns, etc.

           -r, --repo alias|name|#|URI
               Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           --sort-by-name
               Sort packages by name (default).

           --sort-by-repo
               Sort packages by repository, not by name.

           -s, --details
               Show all available versions of matching packages, each version in each repository on a separate line.

           -v, --verbose
               Like --details with additional information where the search has matched (useful when searching for dependencies, e.g. --provides).

           Examples:

               $ zypper se 'yast*'
                   Search for YaST packages (quote the string to prevent the shell from expanding the wildcard).

               $ zypper se -s --match-exact kernel-default
                   Show all available versions of package kernel-default

               $ zypper se -dC --match-words RSI
                   Look for RSI acronym (case-sensitively), also in summaries and descriptions.

       packages (pa) [options] [repository]...
           List all available packages or all packages from specified repositories. Similar to zypper search -s -t package.

           -r, --repo alias|name|#|URI
               Just another means to specify repositories.

           -i, --installed-only
               Show only installed packages.

           -u, --not-installed-only
               Show only packages which are not installed. + The old option name --uninstalled-only is still acceptable, but should be considered deprecated.

           --orphaned
               Show packages which are orphaned (without repository).

           --suggested
               Show packages which are suggested.

           --recommended
               Show packages which are recommended.

           --unneeded
               Show packages which are unneeded.

       patches (pch) [options] [repository]...
           List all available patches from specified repositories, including those not needed. Short for zypper lp -a.

           -r, --repo alias|name'|#|URI
               Just another means to specify repositories.

       patterns (pt) [options] [repository]...
           List all available patterns or all patterns from specified repositories. Similar to zypper search -s -t pattern.

           -r, --repo alias|name|#|URI
               Just another means to specify repositories.

           -i, --installed-only
               Show only installed patterns.

           -u, --not-installed-only
               Show only patterns which are not installed. + The old option name --uninstalled-only is still acceptable, but should be considered deprecated.

       products (pd) [options] [repository]...
           List all available products or all products from specified repositories. Similar to zypper search -s -t product, but shows also the type of the product (base, add-on).

           -r, --repo 'alias|name|#|URI
               Just another means to specify repositories.

           -i, --installed-only
               Show only installed products.

           -u, --not-installed-only
               Show only products which are not installed. + The old option name --uninstalled-only is still acceptable, but should be considered deprecated.

           --xmlfwd tag
               XML output only: Literally forward the XML tag, if it is found in an installed products .prod-file (in /etc/products.d). +  Using  this  option,  for  each  installed
               product  an  <xmlfwd>  node  will  be  created  inside  the  <product> output node of the product. + Tag defines the name (or /-separated path) of a xml-tag inside an
               installed products .prod-file. If the tag is present inside the products .prod-file, the tag and it’s content is literally forwarded into the products <xmlfwd> output
               node. + The option may be specified multiple times.

           Examples:

               $ zypper -x pd --xmlfwd name --xmlfwd register/target

       what-provides (wp) capability
           List all packages providing the specified capability. See also the install command for info about specifying capabilities.

           The command line is automatically transformed into the appropriate search command, e.g.:

               $ zypper what-provides 'zypper>1.6'

               $ zypper se --provides --match-exact 'zypper>1.6'

   Repository Management
       Zypper is able to work with YaST, RPM-MD (yum) software repositories, and plain directories containing .rpm files.

       Repositories  are  primarily  identified  using  their URI or alias. Alias serves as a shorthand for the long URI or name of the repository. The name of the repository should
       briefly describe the repository and is shown to the user in tables and messages. The name is not required, and if not known, the alias is shown instead. The alias is required
       and uniquely identifies the repository on the system.

       The  alias, name, URI, or the number from zypper repos list can be used to specify a repository as an argument of various zypper commands and options like refresh, --repo, or
       --from.

       Apart from the above, repositories have several other properties which can be set using the commands described in this section below, or by manually  editing  the  repository
       definition files (.repo files, see section FILES).

   Variable substitution:
       You can use the following variables within a .repo or .service files name and URI values:

       $arch
           Use this variable to refer to the system’s CPU architecture.

       $basearch
           Use this variable to refer to the base architecture of the system. For example, iX86 machines have a base architecture of i386, while AMD64 and Intel64 have x86_64.

       $releasever, $releasever_major, $releasever_minor
           Use  this variable to refer to the version of your openSUSE or SUSE Linux. The value is obtained from the /product/version XML-node in /etc/products.d/baseproduct. + This
           is useful for related repositories like packman (<http://ftp.gwdg.de/pub/linux/packman/suse/$releasever>), which shall always fit the installed distribution, even after a
           distribution upgrade. To help performing a distribution upgrade, the value of $releasever can be overwritten using the --releasever global option. This way you can easily
           switch all repositories using $releasever to the new version (provided the  server  layouts  did  not  change  and  new  repos  are  already  available).  +  In  addition
           $releasever_major will be set to the leading portion up to (but not including) the 1st dot; $releasever_minor to the trailing portion after the 1st dot. If there’s no dot
           in $releasever, $releasever_major is the same as $releasever and $releasever_minor is empty.

       Custom Variables
           A custom repository variable is defined by creating a file in /etc/zypp/vars.d. The variable name equals the file name. The files first line (up to but not including  the
           newline character) defines the variables value. Valid variable(file) names consist of alphanumeric chars and underscore only.

       Remember to protect the $ when using these variables on a shell command line:
           zypper ar -f <http://ftp.gwdg.de/pub/linux/packman/suse/.www:lenstrwww:splitstr:nwww:splitstr:rfB>\$releasever packman

       If a variable is followed by an alphanumeric character or underscore it needs to be enclosed in {}:
           zypper ar -f <http://ftp.gwdg.de/pub/linux/packman/suse/.www:lenstrwww:splitstr:nwww:splitstr:rfB>\${’releasever'}_packman

       Bash style definition of default ${’variable':-’word'} and alternate ${’variable':+’word'} values:
           SLE-${’releasever_major'}${’releasever_minor':+-SP-$releasever_minor}

       To check where you already use $releasever call:
           zypper --releasever @--HERE--@ lr -u

       NOTE:
           Variable  substitution  within  an URIs authority is limited to host and port. Bash style definition of default and alternate values is not supported. No variables can be
           used in an URIs scheme, user and password.

   Supported URI formats:
       scheme: @]host[:’port']] /’path' [?’query'] [#’fragment']
           Special characters occurring in URI components (like a @ in a password) must be %-encoded (%40).

       CD or DVD drive
           Optionally with devices list for probing.

           cd:///

           dvd:/subdir'?devices=/dev/sr0,/dev/sr1'

           FTP/HTTP/HTTPS directory tree
               The ftp URL scheme supports absolute and relative paths to the default ftp server directory (RFC1738, Section 3.2.2). To use an absolute path, you have to prepend the
               path  with  an  additional  slash,  what  results  in a /%2f combination (second / encoded to %2f) at the begin of the URL path. This is important, especially in user
               authenticated ftp, where the users home is usually the default directory of the server (except when the server chroots into the  users  home  directory).  +  Explicit
               proxy settings may be passed via optional parameters proxy, proxyport, proxyuser and proxypass. + HTTP authentication methods to use can be defined as comma separated
               list via optional parameter auth. Valid methods are e.g. basic, digest, ntlm, negotiate. Note, that this list depends on the list of methods  supported  by  the  curl
               library. + SSL verification behavior can be changed using the ssl_verify option (this should be used with care). Valid values are yes (the secure default), host, peer
               or no. Host just checks that the "Common Name" field or a "Subject Alternate Name" field in the servers certificate matches the  host  name  in  the  URL.  Peer  just
               verifies whether the certificate provided by the server is authentic against the chain of digital signatures found in ssl_capath. No performs no checks at all. Yes is
               the secure default, performing host and peer check. + For SSL client certificate authentication use the options ssl_clientcert to define the path to  the  ssl  client
               certificate  and  ssl_clientkey  to  define  the  path  to  the  SSL  client  key.  Use  ssl_capath  to  change  the directory holding the CA certificates (default is
               /etc/ssl/certs).

           <ftp://user:pass@server/path/to/media/dir>

           <ftp://user:pass@server/%2fhome/user/path/to/media/dir>

           <http://user:pass@server/path>

           <https://user:pass@server/path>'?proxy=foo&proxyuser=me&proxypass=pw'

           <https://server/path>'?ssl_clientcert=/entitlement/1234.pem&ssl_clientkey=/entitlement/1234-key.pem'

           Disk volume (partition)
               Mandatory device parameter specifying the name of the block device to mount. The name of the optional filesystem defaults to "auto".

           hd:/subdir?device=/dev/sda1'&filesystem=reiserfs'

           Local directory tree

           dir:/directory/name

           Media in an ISO image (loopback mounted)
               + Mandatory iso parameter specifying the name of the iso file. Optional url parameter specifying the URL to the  directory  containing  the  iso  file.  Optional  mnt
               parameter specifying the preferred attach point for the source media url. Optional filesystem name of the filesystem used in the iso file. Defaults to "auto".

           iso:/?iso=CD1.iso'&url=nfs://server/path/to/media'

           iso:/?iso=CD1.iso'&url=hd:/?device=/dev/hda'

           iso:/subdir?iso=DVD1.iso'&url=nfs://nfs-server/directory&mnt=/nfs/attach/point&filesystem=udf'

           NFS exported directory tree
               To use NFSv4 either use schema tnfsv4:// or pass an optional parameter type=nfs4. Additional mountoptions can be passed as comma separated list. Defaults to "ro".

           nfs://nfs-server/exported/path

           nfs://nfs-server/exported/path'?mountoptions=ro&type=nfs4'

           nfs4://nfs-server/exported/path'?mountoptions=ro'

           CIFS/SMB directory tree
               There  is  no  difference  between cifs and smb scheme (any more). In both cases the cifs filesystem is used. Additional mountoptions can be passed as comma separated
               list. Defaults to "ro,guest". Specify "noguest" to turn off "guest". This is necessary if Samba is configured to reject guest connections.  +  Optional  workgroup  or
               domain parameter set the name of the workgroup. As alternative to passing username:password in the URI authority the parameters user and pass can be used.

           smb://servername/share/path/on/the/share

           cifs://usern:passw@servername/share/path/on/the/share'?mountoptions=ro,noguest'

           cifs://usern:passw@servername/share/path/on/the/share'?workgroup=mygroup'

           cifs://servername/share/path/on/the/share'?user=usern&pass=passw'

           OpenSUSE Build Build Service (OBS) repositories
               Zypper also accepts special URIs identifying openSUSE Build Service (OBS) repositories in the addrepo command. These URIs have the form of obs://’project'/[platform],
               where project is the name of the OBS project and  platform  is  the  target  platform  (OS)  for  which  the  repository  is  intended.  +  If  platform  is  omitted,
               openSUSE_$releasever  is  used unless a value for obs.platform is defined in zypper.conf. If you are following openSUSE_Factory or openSUSE_Tumbleweed you may need to
               set these as your default platform. But we can only guess, how the directory containing the repository that fits your distribution is named on the server. In case  of
               doubt you need to look up the right URL in a browser.

           obs://zypp:Head/

           obs://zypp:Head/openSUSE_Factory

           obs://zypp:Head/openSUSE_Factory_Staging_Gcc49_standard

                {nop}
               ~~~~~~

           addrepo (ar) [options] URI alias

           addrepo (ar) [options] FILE.repo
               Add  a  new  repository  specified  by  URI  and assign specified alias to it or specify URI to a .repo file. + Newly added repositories have auto-refresh disabled by
               default (except for repositories imported from a .repo, having the auto-refresh enabled). To enable auto-refresh use addrepo  -f,  or  the  --refresh  option  of  the
               modifyrepo  command.  +  Also,  this  command does not automatically refresh the newly added repositories. The repositories will get refreshed when used for the first
               time, or you can use the refresh command after finishing your modifications with *repo commands.

               -r, --repo file.repo
                   Read URI and alias from specified .repo file

               -c, --check
                   Probe given URI.

               -C, --no-check
                   Don’t probe URI, probe later during refresh.

               -n, --name name
                   Specify descriptive name for the repository.

               -e, --enable
                   Enable the repository (the default).

               -d, --disable
                   Add the repository as disabled. Repositories are added as enabled by default.

               -f, --refresh
                   Enable autorefresh of the repository. The autorefresh is disabled by default when adding new repositories.

               -F, --no-refresh
                   Disable auto-refresh for the repository.

               -p, --priority positive-integer
                   Set the priority of the repository. Priority of 1 is the highest, the higher the number the lower the priority. -p 0 will set the priority  back  to  the  default
                   (99).  Packages  from  repositories  with  higher priority will be preferred even in case there is a higher installable version available in the repository with a
                   lower priority.

               -k, --keep-packages
                   Enable RPM files caching for the repository.

               -K, --no-keep-packages
                   Disable RPM files caching.

               -g, --gpgcheck
                   Enable GPG check for this repository. The behavior as described in section GPG checks.

               --gpgcheck-strict
                   Enable strict GPG check for this repository. Even packages from signed repositories need a valid GPG signature and using unsigned packages must be confirmed.

               --gpgcheck-allow-unsigned
                   Short hand for --gpgcheck-allow-unsigned-repo --gpgcheck-allow-unsigned-package

               --gpgcheck-allow-unsigned-repo
                   Enable GPG check but allow the repository metadata to be unsigned.

               --gpgcheck-allow-unsigned-package
                   Enable GPG check but allow installing unsigned packages from this repository.

               -G, --no-gpgcheck
                   Disable GPG check for this repository. + Disabling GPG checks is not recommended. Signing data enables the recipient to  verify  that  no  modifications  occurred
                   after the data were signed. Accepting data with no, wrong or unknown signature can lead to a corrupted system and in extreme cases even to a system compromise.

               --default-gpgcheck
                   Use  the  global  GPG  check settings defined in /etc/zypp/zypp.conf. This is the default. + Unless you have modified your zypp.conf settings, this is the same as
                   --gpgcheck, the behavior as described in section GPG checks.

               Examples:

                   $ zypper ar -c -n 'Packman 11.1 repo' <http://packman.iu-bremen.de/suse/11.1> packman
                       Add a HTTP repository, probe it, name it Packman 11.1 repo, and use packman as alias.

                   $ zypper ar <https://download.opensuse.org/repositories/zypp:/svn/openSUSE_Factory/zypp:svn.repo>

                   $ zypper ar myreposbackup.repo
                       Add repositories from a .repo file.

           removerepo (rr) [options] alias|name|#|URI...
               Delete repositories specified by aliases, names, numbers, URIs or one of the aggregate options.

               --loose-auth
                   Ignore user authentication data in the URI

               --loose-query
                   Ignore query string in the URI

               -a, --all
                   Apply changes to all repositories.

               -l, --local
                   Apply changes to all local repositories.

               -t, --remote
                   Apply changes to all remote repositories (http/https/ftp).

               -m, --medium-type type
                   Apply changes to repositories of specified type. The type corresponds to the repository URI scheme identifier like http, dvd, etc. You can find complete  list  of
                   valid types at <http://en.opensuse.org/openSUSE:Libzypp_URIs>.

           repos (lr) [options] [repo]...
               List  all  defined  repositories  or show detailed information about those specified as arguments + The following data can be printed for each repository found on the
               system: # (repository number), Alias (unique identifier), Name, Enabled (whether the repository is enabled), GPG Check (whether GPG check for repository metadata  (r)
               and/or  downloaded  rpm  packages  (p)  is  enabled), Refresh (whether auto-refresh is enabled for the repository), Priority, Type (repository meta-data type: rpm-md,
               yast2, plaindir). Which of the data is shown is determined by command line options listed below and the main.repoListColumns setting from zypper.conf. By default,  #,
               Alias,  Name, Enabled, GPG Check and Refresh is shown. + Repository number is a unique identifier of the repository in current set of repositories. If you add, remove
               or change a repository, the numbers may change. Keep that in mind when using the numbers with the repository handling commands. On the other  hand,  using  the  alias
               instead of the number is always safe. + To show detailed information about specific repositories, specify them as arguments, either by alias, name, number from simple
               zypper lr, or by URI; e.g. fB zypper lr factory, or zypper lr 2.

               -e, --export FILE.repo|-
                   This option causes zypper to write repository definition of all defined repositories into a single file in repo file format. If - is specified instead of  a  file
                   name, the repositories will be written to the standard output.

               -a, --alias
                   Add alias column to the output.

               -n, --name
                   Add name column to the output.

               -u, --uri
                   Add base URI column to the output.

               -p, --priority
                   Add repository priority column to the output.

               -r, --refresh
                   Add the autorefresh column to the output.

               -d, --details
                   Show more information like URI, priority, type, etc.

               -E, --show-enabled-only
                   Show enabled repositories only.

               -U, --sort-by-uri
                   Add base URI column and sort the list it.

               -P, --sort-by-priority
                   Add repository priority column and sort the list by it.

               -A, --sort-by-alias
                   Sort the list by alias.

               -N, --sort-by-name
                   Sort the list by name.

               Examples:

                   $ zypper repos -e myreposbackup.repo
                       Backup your repository setup:

                   $ zypper lr -pu
                       List repositories with their URIs and priorities:

           renamerepo (nr) alias|name|#|URI new-alias
               Assign new alias to the repository specified by alias, name, number, or URI.

               Examples:

                   $ zypper nr 8 myrepo
                       Rename repository number 8 to myrepo (useful if the repo has some dreadful alias which is not usable on the command line).

           modifyrepo (mr) options alias|name|#|URI...

           modifyrepo (mr) options --all|--remote|--local|--medium-type
               Modify properties of repositories specified by alias, name, number, or URI or one of the aggregate options.

               -n, --name name
                   Set a descriptive name for the repository.

               -e, --enable
                   Enable the repository.

               -d, --disable
                   Disable the repository.

               -f, --refresh (legacy: -r)
                   Enable auto-refresh for the repository.

               -F, --no-refresh (legacy: -R)
                   Disable auto-refresh for the repository.

               -p, --priority positive-integer
                   Set  the  priority  of  the repository. Priority of 1 is the highest, the higher the number the lower the priority. -p 0 will set the priority back to the default
                   (99). Packages from repositories with higher priority will be preferred even in case there is a higher installable version available  in  the  repository  with  a
                   lower priority.

               -k, --keep-packages
                   Enable RPM files caching.

               -K, --no-keep-packages
                   Disable RPM files caching.

               -g, --gpgcheck
                   Enable GPG check for this repository. The behavior as described in section GPG checks.

               --gpgcheck-strict
                   Enable strict GPG check for this repository. Even packages from signed repositories need a valid GPG signature and using unsigned packages must be confirmed.

               --gpgcheck-allow-unsigned
                   Short hand for --gpgcheck-allow-unsigned-repo --gpgcheck-allow-unsigned-package

               --gpgcheck-allow-unsigned-repo
                   Enable GPG check but allow the repository metadata to be unsigned.

               --gpgcheck-allow-unsigned-package
                   Enable GPG check but allow installing unsigned packages from this repository.

               -G, --no-gpgcheck
                   Disable  GPG  check  for  this  repository. + Disabling GPG checks is not recommended. Signing data enables the recipient to verify that no modifications occurred
                   after the data were signed. Accepting data with no, wrong or unknown signature can lead to a corrupted system and in extreme cases even to a system compromise.

               --default-gpgcheck
                   Use the global GPG check settings defined in /etc/zypp/zypp.conf. This is the default. + Unless you have modified your zypp.conf settings, this  is  the  same  as
                   --gpgcheck, the behavior as described in section GPG checks.

               -a, --all
                   Apply changes to all repositories.

               -l, --local
                   Apply changes to all local repositories.

               -t, --remote
                   Apply changes to all remote repositories (http/https/ftp).

               -m, --medium-type type
                   Apply  changes  to repositories of specified type. The type corresponds to the repository URI scheme identifier like http, dvd, etc. You can find complete list of
                   valid types at <http://en.opensuse.org/openSUSE:Libzypp_URIs>.

               Examples:

                   $ zypper mr -kt
                       Enable keeping of packages for all remote repositories.

                   $ zypper mr -er updates
                       Enable repository updates and switch on autorefresh for the repo.

                   $ zypper mr -da
                       Disable all repositories.

           refresh (ref) [alias|name|#|URI]...
               Refresh repositories specified by their alias, name, number, or URI. If no repositories are specified, all enabled repositories will be refreshed.

               -f, --force
                   Force a complete refresh of specified repositories. This option will cause both the download of raw metadata and parsing of the metadata  to  be  forced  even  if
                   everything indicates a refresh is not needed.

               -b, --force-build
                   Force only reparsing of cached metadata and rebuilding of the database. Raw metadata download will not be forced.

               -d, --force-download
                   Force only download of current copy of repository metadata. Parsing and rebuild of the database will not be forced.

               -B, --build-only
                   Only  parse  the  metadata  and  build  the database, don’t download raw metadata into the cache. This will enable you to repair damaged database from cached data
                   without accessing network at all.

               -D, --download-only
                   Only download the raw metadata, don’t parse it or build the database.

               -s, --services
                   Refresh also services before refreshing repositories.

           clean (cc) [options] [alias|name|#|URI]...
               Clean the local caches for all known or specified repositories. By default, only caches of downloaded packages are cleaned.

               -m, --metadata
                   Clean repository metadata cache instead of package cache.

               -M, --raw-metadata
                   Clean repository raw metadata cache instead of package cache.

               -a, --all
                   Clean both repository metadata and package caches.

   Service Management
       The services, addservice, removeservice, modifyservice, and refresh-services commands serve for manipulating services. A service is specified by its URI and needs to  have  a
       unique alias defined (among both services and repositories).

       Standalone  repositories  (not  belonging to any service) are treated like services, too. The ls command will list them, ms command will modify them, etc. Repository specific
       options, like --keep-packages are not available here, though. You can use repository handling commands to manipulate them.

       addservice (as) [options] URI alias
           Adds a service specified by URI to the system. The alias must be unique and serves to identify the service. + Newly added services are not  refreshed  automatically.  Use
           the  refresh-services  command  to  refresh  them.  Zypper  does  not  access  the service URI when adding the service, so the type of the services is unknown until it is
           refreshed. +

       -n, --name name
           Specify descriptive name for the service.

       -e, --enable
           Enable the service (this is the default).

       -d, --disable
           Add the service as disabled.

       -f, --refresh
           Enable auto-refresh of the service.

       -F, --no-refresh
           Disable auto-refresh of the service.

       removeservice (rs) [options] alias|name|#|URI...
           Remove specified service from the system. Removing a service will also remove of all of its repositories.

           --loose-auth
               Ignore user authentication data in the URI.

           --loose-query
               Ignore query string in the URI.

       modifyservice (ms) options alias|name|#|URI

       modifyservice (ms) options --all|--remote|--local|--medium-type
           Modify properties of specified services.

           Common Options
               These options are common to all types of services and repositories.

           -n, --name name
               Set a descriptive name for the service.

           -e, --enable
               Enable a disabled service.

           -d, --disable
               Disable the service (but don’t remove it).

           -f, --refresh  (legacy: -r)
               Enable auto-refresh of the service.

           -F, --no-refresh  (legacy: -R)
               Disable auto-refresh of the service.

           -a, --all
               Apply changes to all services.

           -l, --local
               Apply changes to all local services.

           -t, --remote
               Apply changes to all remote services.

           -m, --medium-type type
               Apply changes to services of specified type.

           RIS Service Specific Options
               These options are ignored by services other than Repository Index Services.

           -i, --ar-to-enable alias
               Schedule an RIS service repository to be enabled at next service refresh.

           -I, --ar-to-disable alias
               Schedule an RIS service repository to be disabled at next service refresh.

           -j, --rr-to-enable alias
               Remove a RIS service repository to enable.

           -J, --rr-to-disable "alias'
               Remove a RIS service repository to disable.

           -k, --cl-to-enable
               Clear the list of RIS repositories to enable.

           -K, --cl-to-disable
               Clear the list of RIS repositories to disable.

       services (ls) [options]
           List services defined on the system.

           -u, --uri
               Show also base URI of repositories.

           -p, --priority
               Show also repository priority.

           -d, --details
               Show more information like URI, priority, type.

           -r, --with-repos
               Show also repositories belonging to the services.

           -P, --sort-by-priority
               Sort the list by repository priority.

           -E, --show-enabled-only
               Show enabled services only. If used together with --with-repos a disabled services owning (manually) enabled repositories are shown as well.

           -U, --sort-by-uri
               Sort the list by URI.

           -N, --sort-by-name
               Sort the list by name.

       refresh-services (refs) [options] alias|name|#|URI...
           Refreshing a service means executing the service’s special task. + RIS services add, remove, or modify repositories on  your  system  based  on  current  content  of  the
           repository  index.  A  differing  enabled/disabled  state  caused  by  manually  calling  modify-repo  on  a  service  repository  however will not be reverted unless the
           --restore-status option is used, or the repository index explicitly requests the change. + Services only manage defined repositories, they do not refresh them. To refresh
           also repositories, use --with-repos option or the refresh command.

           -f, --force
               Force  a  complete refresh of specified services. This option will cause both the download of raw metadata and parsing of the metadata to be forced even if everything
               indicates a refresh is not needed.

           -r, --with-repos
               Refresh also the service repositories.

           -R, --restore-status
               Also restore service repositories enabled/disabled state to the repository index default. Useful after you manually changed some service repositories enabled state.

   Package Locks Management
       Package locks serve the purpose of preventing changes to the set of installed packages on the system. The locks are stored in form of a query  in  /etc/zypp/locks  file  (see
       also  locks(5)).  Packages  matching  this  query  are  then forbidden to change their installed status; an installed package can’t be removed, not installed package can’t be
       installed. When requesting to install or remove such locked package, you will get a dependency problem dialog.

       locks (ll)
           List currently active package locks.

           -m, --matches
               Show the number of resolvables matched by each lock. This option requires loading the repositories.

           -s, --solvables
               List the resolvables matched by each lock. This option requires loading the repositories.

       addlock (al) [options] package-name...
           Add a package lock. Specify packages to lock by exact name or by a glob pattern using * and ? wildcard characters.

           -r, --repo alias|name|#|URI
               Restrict the lock to the specified repository.

           -t, --type type
               Lock only packages of specified type (default: package). See section Package Types for list of available package types.

       removelock (rl) [options] lock-number|package-name...
           Remove specified package lock. Specify the lock to remove by its number obtained with zypper locks or by the package name.

           -r, --repo alias|name|#|URI
               Restrict the lock to the specified repository.

           -t, --type type
               Restrict the lock to packages of specified type (default: package). See section Package Types for list of available package types.

       cleanlocks (cl)
           Remove unused locks. + This command looks for locks that do not currently (with regard to repositories used) lock any package and for each such lock it asks user  whether
           to remove it.

       Locale  Management  ~~~~~~~  These  commands  give  information  about  requested locales and the possibilty to manage those. A locale is defined by a language code. For many
       packages there are locale dependent packages available which provide translations or dictionaries. To get these installed, the locale for the desired language must be  marked
       as requested by the package manager library.

       locales (lloc) [OPTIONS] [LOCALE] ...
           List  requested  locales.  Called  without  argument,  lists  the  locales which are already marked as requested. Specifying certain locale(s) prints information only for
           this(these).

           -a, --all
               List all available locales.

           -p, --packages
               Show corresponding packages.

       addlocale (aloc) [OPTIONS] <LOCALE> ...
           Add specified locale(s) to the list of requested locales..

           -n, --no-packages
               Do not install corresponding packages.

       removelocale (rloc) [OPTIONS] <LOCALE> ...
           Remove specified locale(s) from the list of requested locales..

           -n, --no-packages
               Do not remove corresponding packages.

       Examples:

           $ zypper locales
               List requested locales.

           $ zypper locales --packages de en
               Get the lists of packages which are available for de and en (exact match).

           $ zypper locales en_
               Get all locales with lang code en that have their own country code, excluding the fallback en.

           $ zypper locales en*
               Get all locales with lang code en with or without country code.

           $ zypper aloc --packages de_CH
               Request de_CH and install language dependent packages.

   Other Commands
       versioncmp (vcmp) version1 version2
           Compare the versions supplied as arguments and tell whether version1 is older or newer than version2 or the two  version  strings  match.  +  The  default  output  is  in
           human-friendly form. If --terse global option is used, the result is an integer number, negative/positive if version1 is older/newer than version2, zero if they match.

           -m, --match
               Takes missing release number as any release.

               For example:

                   $ zypper vcmp -m 0.15.3 0.15.3-2
                       0.15.3 matches 0.15.3-2

                   $ zypper vcmp 0.15.3 0.15.3-2
                       0.15.3 is older than 0.15.3-2

       targetos (tos)
           Shows  the  ID  string  of the target operating system. The string has a form of distroname-architecture. The string is determined by libzypp, the distroname is read from
           (current-rootdir)/etc/products.d/baseproduct and the architecture is determined from uname and CPU flags.

       licenses
           Prints a report about licenses and 'EULA’s of installed packages to standard output. + First, a list of all packages and their licenses and/or EULAs  is  shown.  This  is
           followed by a summary, including the total number of installed packages, the number of installed packages with EULAs that required a confirmation from the user. Since the
           EULAs are not stored on the system and can only be read from repository metadata, the summary includes also the number of installed packages that have  their  counterpart
           in  repositories.  The  report  ends  with  a  list  of  all  licenses  uses by the installed packages. + This command can be useful for companies redistributing a custom
           distribution (like appliances) to figure out what licenses they are bound by.

       download
           Download rpms specified on the commandline to a local directory. + Per default packages are  downloaded  to  the  libzypp  package  cache  (/var/cache/zypp/packages;  for
           non-root  users $XDG_CACHE_HOME/zypp/packages), but this can be changed by using the global --pkg-cache-dir option. + Parsable XML-output produced by zypper --xmlout will
           include a <download-result> node for each package zypper tried to download. Upon success the location of the downloaded package is found in  the  path  attribute  of  the
           <localfile> subnode (xpath: download-result/localpath@path): +

                   <download-result>
                     <solvable>
                       <kind>package</kind>
                       <name>zypper</name>
                       <edition epoch="0" version="1.9.17" release="26.1"/>
                       <arch>x86_64</arch>
                       <repository name="repo-oss-update (13.1)" alias="openSUSE:repo-oss-update"/>
                     </solvable>
                     <localfile path="/var/cache/zypp/pac.../zypper-1.9.17-26.1.x86_64.rpm"/>
                   </download-result>

       --all-matches
                   Download all versions matching the commandline arguments. Otherwise only the best version of each matching package is downloaded.

       --dry-run
           Don’t download any package, just report what would be done.

       source-download
           Download source rpms for all installed packages to a local directory.

           -d, --directory dir
               Download all source rpms to this directory. Default is /var/cache/zypper/source-download.

           --delete
               Delete extraneous source rpms in the local directory. This is the default.

           --no-delete
               Do not delete extraneous source rpms.

           --status
               Don’t download any source rpms, but show which source rpms are missing or extraneous.

       ps
           After each upgrade or removal of packages, there may be running processes on the system which continue to use meanwhile deleted files. zypper ps lists all processes using
           deleted files, together with the corresponding files, and a service name hint, in case it’s a known service. This gives a hint which services may  need  to  be  restarted
           after an update. Usually programs which continue to use deleted shared libraries. The list contains the following information:

           PID
               ID of the process

           PPID
               ID of the parent process

           UID
               ID of the user running the process

           Login
               Login name of the user running the process

           Command
               Command used to execute the process

           Service
               Service name, if command is associated with a system service

           Files
               The list of the deleted files

               -s, --short
                   Create  a  short  table  not  showing  the deleted files. Given twice, show only processes which are associated with a system service. Given three times, list the
                   associated system service names only.

               --print format
                   For each associated system service print format on the standard output, followed by a newline. Any %s directive in format is replaced by the system service name.

               -d, --debugFile filename
                   Output a file with all proc entries that make it into the final set of used open files. This can be submitted as additional information in a bug report.

               Examples:

           $ zypper ps -ss
               Show only processes associated with a system service.

           $ zypper ps -sss
               Short for zypper ps --print "%s"; list services which might need a restart.

           $ zypper ps --print "systemctl status %s"
               Let zypper print the commands to retrieve status information for services which might need a restart.

       needs-rebooting
           Checks if the reboot-needed flag was set by a previous update or install of a core library or service. + The reboot-needed flag is set when a package  from  a  predefined
           list  (/etc/zypp/needreboot)  is  updated  or  installed.  Exit  code  ZYPPER_EXIT_INF_REBOOT_NEEDED  indicates that a reboot is needed, otherwise the exit code is set to
           ZYPPER_EXIT_OK.

   Subommands
       subcommand
           Lists available subcommands in /usr/lib/zypper/commands and from elsewhere on your $PATH. See section SUBCOMMANDS for details.

GLOBAL OPTIONS
       -h, --help
           Help. If a command is specified together with --help option, command specific help is displayed.

       -V, --version
           Print zypper version number and exit.

       -c, --config file
           Use the specified zypper config file instead of the default zypper.conf. Other command line options specified together with --config and having their counterpart  in  the
           zypper config file are still preferred. + The order of preference with --config is as follows:

            1. Command line options

            2. --config file

            3. [/etc/zypp/zypp.conf] (system-wide defaults for all libzypp based applications)

                   NOTE: Use and location of the system-wide /etc/zypp/zypp.conf can not be changed this way. It’s mentioned here just because some zypper command line options allow
           to overwrite system-wide defaults defined in zypp.conf.

           +
                   See also FILES section for more information.

       -v, --verbose
           Increase verbosity. For debugging output specify this option twice.

       -q, --quiet
           Suppress normal output. Brief (esp. result notification) messages and error messages will still be printed, though. If used together with  conflicting  --verbose  option,
           the --verbose option takes preference.

       --[no-]color
           Whether to use colors in output if tty supports it. For details see the [color] section in zypper.conf.

       -A, --no-abbrev
           Do  not  abbreviate  text in tables. By default zypper will try to abbreviate texts in some columns so that the table fits the width of the screen. If you need to see the
           whole text, use this option.

       -t, --terse
           Terse output for machine consumption. Implies --no-abbrev and --no-color.

       -s, --table-style
           Specifies table style to use. Table style is identified by an integer number.

       -n, --non-interactive
           Switches to non-interactive mode. In this mode zypper doesn’t ask user to type answers to various prompts, but uses default answers automatically. Those  default  answers
           also depend on other options like --no-gpg-checks or --ignore-unknown.

       --non-interactive-include-reboot-patches
           In  non-interactive  mode  do not skip patches which have the rebootSuggested-flag set. Otherwise these patches are considered to be interactive, like patches including a
           licenses or some message to confirm. NOTE: This option does not turn on non-interactive mode.

       -x, --xmlout
           Switches to XML output. This option is useful for scripts or graphical frontends using zypper.

       -i, --ignore-unknown
           Ignore unknown packages. This option is useful for scripts, because when installing in --non-interactive mode zypper expects each command line argument to match at  least
           one known package. Unknown names or globbing expressions with no match are treated as an error unless this option is used.

       -D, --reposd-dir dir
           Use the specified directory to look for the repository definition (.repo) files. The default value is /etc/zypp/repos.d.

       -C, --cache-dir dir
           Use an alternative root directory for all caches. The default value is /var/cache/zypp.

       --raw-cache-dir dir
           Use the specified directory for storing raw copies of repository metadata files. The default value is /var/cache/zypp/raw.

       --solv-cache-dir dir
           Use the specified directory to store the repository metadata cache database files (solv files). The default value is /var/cache/zypp/solv.

       --pkg-cache-dir dir
           Use the specified directory for storing downloaded rpm packages. (see addrepo --keep-packages) The default value is /var/cache/zypp/packages.

       --userdata string
           User  data  is  expected  to  be a simple string without special chars or embedded newlines and may serve as transaction id. It will be written to all install history log
           entries created throughout this specific zypper call. It will also be passed on to zypp plugins executed during commit. This will  enable  e.g.  a  btrfs  plugin  to  tag
           created snapshots with this string. For zypper itself this string has no special meaning.

       Repository Options:

       --no-gpg-checks
           Ignore GPG check failures and continue. If a GPG issue occurs when using this option zypper prints and logs a warning and automatically continues without interrupting the
           operation. Use this option with caution, as you can easily overlook security problems by using it. (see section GPG checks) +

       --gpg-auto-import-keys
           If new repository signing key is found, do not ask what to do; trust and import it automatically. This option causes that the new key is imported also in  non-interactive
           mode, where it would otherwise got rejected.

       -p, --plus-repo URI
           Use  an  additional repository for this operation. The repository aliased tmp# and named by the specified URI will be added for this operation and removed at the end. You
           can specify this option multiple times.

       --plus-content tag
           Additionally use disabled repositories denoted by tag for this operation. If tag matches a repositories alias, name or URL, or is a keyword defined  in  the  repositories
           metadata,  the  repository will be temporarily enabled for this operation. The repository will then be refreshed and used according to the commands rules. You can specify
           this option multiple times. + If a disabled repositories metadata are not available in the local cache, they will be downloaded to scan for matching  keywords.  Otherwise
           the  keyword  scan  will  use  the  metadata  available  in  the  local  cache.  Only  if used together with the refresh command, a keyword scan will refresh all disabled
           repositories. +

           To refresh all disabled repositories metadata:
               zypper --plus-content '' ref

           To include a disabled repository repo-debug in a search:
               zypper --plus-content repo-debug search ...

           To search only in a disabled repository repo-debug:
               zypper --plus-content repo-debug search -r repo-debug ...

           To enable all repos providing the debug keyword:
               zypper in --plus-content debug  some -debuginfo or -debugsource package

       --disable-repositories
           Do not read metadata from repositories. This option will prevent loading of packages from repositories, thus making zypper work  only  with  the  installed  packages  (if
           --disable-system-resolvables was not specified).

       --no-refresh
           Do  not auto-refresh repositories (ignore the auto-refresh setting). Useful to save time when doing operations like search, if there is not a need to have a completely up
           to date metadata.

       --no-cd
           Ignore CD/DVD repositories. When this option is specified, zypper acts as if the CD/DVD repositories were not defined at all.

       --no-remote
           Ignore remote repositories like http, ftp, smb and similar. This makes using zypper easier when being offline. When this option is specified, zypper acts as if the remote
           repositories were not defined at all.

       --releasever version
           Set  the  value  of  the $releasever variable in all .repo files (default: current distribution version). This can be used to switch to new distribution repositories when
           performing a distribution upgrade. See section Repository Management and the dist-upgrade (dup) command for details. +

           To check where you already use $releasever call:
               zypper --releasever @--HERE--@ lr -u

       Target Options:

       -R, --root dir
           Operates on a different root directory. This option influences the location of the repos.d directory and the metadata cache directory and also causes rpm to be  run  with
           the --root option to do the actual installation or removal of packages. See also the FILES section.

       --installroot dir
           Behaves like --root but shares the repositories with the host system.

       --disable-system-resolvables
           This  option serves mainly for testing purposes. It will cause zypper to act as if there were no packages installed in the system. Use with caution as you can damage your
           system using this option.

SUBCOMMANDS
       Zypper subcommands are inspired by git(1). Subcommands are standalone executables that live in the zypper_execdir (/usr/lib/zypper/commands). For subcommands zypper  provides
       a  wrapper  that  knows  where  the  subcommands live, and runs them by passing command options and arguments to them. If a subcommand is not found in the zypper_execdir, the
       wrapper will look in the rest of your $PATH for it. Thus, it’s possible to write local zypper extensions that don’t live in system space.

       This is how to add your own subcommand zypper mytask:

       ·   The executable must be named zypper-’mytask'.

       ·   The executable must be located your $PATH.

       ·   A manpage for zypper-’mytask' should be provided and explaining the commands options and return values. It will be shown when calling zypper help mytask.

       ·   Zypper built-in commands take precedence over subcommands with the same name.

       ·   It’s fine to call zypper or use libzypp from within your subcommand.

       You can use the built-in zypper subcommand command to get a list of all subcommands in zypper_execdir and from elsewhere on your $PATH.

       Using zypper global-options together with subcommands, as well as executing subcommands in zypper shell is currently not supported.

FILES
       /etc/zypp/zypper.conf, $HOME/.zypper.conf
           Global (system-wide) and user’s configuration file for zypper. These files are read when zypper starts up and --config option is not used. + User’s settings are preferred
           over global settings. Similarly, command line options override the settings in either of these files. To sum it up, the order of preference is as follows (from highest to
           lowest):

            1. Command line options

            2. $HOME/.zypper.conf

            3. /etc/zypp/zypper.conf

            4. [/etc/zypp/zypp.conf] (system-wide defaults for all libzypp based applications)

                   See the comments in /etc/zypp/zypper.conf for a list and description of available options.

                   NOTE: The system-wide /etc/zypp/zypp.conf is mentioned here just because some zypper command line options allow to overwrite system-wide defaults  defined  there.
           zypp.conf and zypper.conf have different content and serve different purpose.

       /etc/zypp/zypp.conf
           ZYpp  configuration  file  affecting  all libzypp based applications. See the comments in the file for description of configurable properties. Many locations of files and
           directories listed in this section are configurable via zypp.conf. The location for this file itself can be redefined only by setting $ZYPP_CONF in the environment.

       /etc/zypp/locks
           File with package lock definitions, see locks(5) manual page for details. The package lock commands (addlock, removelock, etc.) can be used to  manipulate  this  file.  +
           This file is used by all ZYpp-based applications.

       /etc/zypp/repos.d
           Directory  containing  repository  definition  (*.repo) files. You can use the Repository Management commands to manipulate these files, or you can edit them yourself. In
           either case, after doing the modifications, executing *zypper refresh* is strongly recommended. + You can use  the  --reposd-dir  global  option  to  use  an  alternative
           directory for this purpose or the --root option to make this directory relative to the specified root directory. + This directory is used by all ZYpp-based applications.

       /etc/zypp/services.d
           Directory  containing  service definition (*.service) files. You can use the Service Management Commands to manipulate these files, or you can edit them yourself. Running
           *zypper refs* is recommended after modifications have been done. + This directory is used by all ZYpp-based applications.

       /usr/lib/zypper/commands
           System directory containing zypper extensions (see section SUBCOMMANDS)

       /var/cache/zypp/raw
           Directory for storing raw metadata contained in repositories. Use the --raw-cache-dir global option to use an alternative directory for this purpose or the --root  option
           to make this directory relative to the specified root directory. + This directory is used by all ZYpp-based applications.

       /var/cache/zypp/solv
           Directory containing preparsed metadata in form of solv files. + This directory is used by all ZYpp-based applications.

       /var/cache/zypp/packages
           If  keeppackages  property  is  set  for  a repository (see the modifyrepo command), all the RPM file downloaded during installation will be kept here. See also the clean
           command for cleaning these cache directories. + This directory is used by all ZYpp-based applications.

       /var/log/zypp/history
           Installation history log.

       ~/.zypper_history
           Command history for the zypper shell (see the shell command).

       /etc/zypp/needreboot
           File with a list of packages that will set the reboot-needed flag when installed or upgraded.

       /etc/zypp/needreboot.d
           Directory that can be used to define packages that trigger the reboot-needed flag by adding additional files containing the required package names.

EXIT CODES
       There are several exit codes defined for zypper built-in commands for use e.g. within scripts. These codes are defined in header file src/zypper-main.h found in zypper source
       package.  Codes  below  100  denote  an  error,  codes above 100 provide a specific information, 0 represents a normal successful run. Following is a list of these codes with
       descriptions:

       0 - ZYPPER_EXIT_OK
           Successful run of zypper with no special info.

       1 - ZYPPER_EXIT_ERR_BUG
           Unexpected situation occurred, probably caused by a bug.

       2 - ZYPPER_EXIT_ERR_SYNTAX
           zypper was invoked with an invalid command or option, or a bad syntax.

       3 - ZYPPER_EXIT_ERR_INVALID_ARGS
           Some of provided arguments were invalid. E.g. an invalid URI was provided to the addrepo command.

       4 - ZYPPER_EXIT_ERR_ZYPP
           A problem is reported by ZYPP library.

       5 - ZYPPER_EXIT_ERR_PRIVILEGES
           User invoking zypper has insufficient privileges for specified operation.

       6 - ZYPPER_EXIT_NO_REPOS
           No repositories are defined.

       7 - ZYPPER_EXIT_ZYPP_LOCKED
           The ZYPP library is locked, e.g. packagekit is running.

       8 - ZYPPER_EXIT_ERR_COMMIT
           An error occurred during installation or removal of packages. You may run zypper verify to repair any dependency problems.

       100 - ZYPPER_EXIT_INF_UPDATE_NEEDED
           Returned by the patch-check command if there are patches available for installation.

       101 - ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED
           Returned by the patch-check command if there are security patches available for installation.

       102 - ZYPPER_EXIT_INF_REBOOT_NEEDED
           Returned after a successful installation of a patch which requires reboot of computer.

       103 - ZYPPER_EXIT_INF_RESTART_NEEDED
           Returned after a successful installation of a patch which requires restart of the package manager itself. This means that one of  patches  to  be  installed  affects  the
           package manager itself and the command used (e.g. zypper update) needs to be executed once again to install any remaining patches.

       104 - ZYPPER_EXIT_INF_CAP_NOT_FOUND
           Returned by the install and the remove command in case any of the arguments does not match any of the available (or installed) package names or other capabilities.

       105 - ZYPPER_EXIT_ON_SIGNAL
           Returned upon exiting after receiving a SIGINT or SIGTERM.

       106 - ZYPPER_EXIT_INF_REPOS_SKIPPED
           Some repository had to be disabled temporarily because it failed to refresh. You should check your repository configuration (e.g. zypper ref -f).

       107 - ZYPPER_EXIT_INF_RPM_SCRIPT_FAILED
           Installation  basically  succeeded, but some of the packages %post install scripts returned an error. These packages were successfully unpacked to disk and are registered
           in the rpm database, but due to the failed install script they may not work as expected. The failed scripts output might reveal what  actually  went  wrong.  Any  scripts
           output is also logged to /var/log/zypp/history.

       Zypper subcommands (see section SUBCOMMANDS) may return different codes which should be described in the commands man page. Call zypper help subcommand to see the subcommands
       man page if one is provided.

HOMEPAGE
       <https://github.com/openSUSE/zypper>

AUTHORS
       The zypper project was started by Martin Vidner, Jan Kupec, Michael Andres, Duncan  Mac-Vicar  Prett,  Josef  Reidinger  and  Stanislav  Visnovsky.  Many  people  have  later
       contributed to it.

SEE ALSO
       locks(5), zypper-log(8), YaST2(8)

SUSE Linux                                                                            2019-03-21                                                                            ZYPPER(8)

 


Zurück zu Konsole
Zurück zur Paketmanager-Übersicht