Man zypper: Unterschied zwischen den Versionen
Zerum (Diskussion | Beiträge) (Update auf Version 1.8.16) |
Zerum (Diskussion | Beiträge) (Update auf zypper-1.9.3) |
||
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. | + | {{Achtung|Dies ist eine reine Textkopie der Manpage von zypper um sie online anzuschauen. Anwendbar für zypper 1.9.3}} |
<nowiki>zypper(8) System Tools zypper(8) | <nowiki>zypper(8) System Tools zypper(8) | ||
Zeile 17: | Zeile 17: | ||
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. It can be used to install, |
− | + | update, remove software, manage repositories, perform various queries, and more. | |
CONCEPTS | CONCEPTS | ||
− | Most of the following concepts are common for all applications based on the libzypp package | + | Most of the following concepts are common for all applications based on the libzypp package man- |
− | + | agement library, but there are some zypper specifics. | |
Repositories | Repositories | ||
− | Libzypp works with package metadata, that is information about packages and their relations extracted from RPM | + | Libzypp works with package metadata, that 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 intented | + | There is a special set of commands in zypper intented to manipulate repositories. Also many com- |
− | + | mands and options take a repository as an arugment. See section COMMANDS, subsection Repository | |
− | + | Management for more details. | |
Resource Identfiers (URI) | Resource Identfiers (URI) | ||
− | To specify locations of repositories or other resources (RPM files, .repo files) you can use any | + | To specify locations of repositories or other resources (RPM files, .repo files) you can use any |
− | + | type of URIs supported by libzypp. See http://en.opensuse.org/openSUSE:Libzypp_URIs for a com- | |
+ | plete list and usage examples. | ||
− | Zypper | + | 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. For example: obs://server:http/openSUSE_11.3. | |
− | If platform is omitted, zypper.conf's obs.platform value is used. See also other options in the | + | If platform is omitted, zypper.conf's obs.platform value is used. See also other options in the |
− | + | [obs] section of zypper.conf. | |
− | In | + | In addition to these URIs you can use plain directory and file paths in which case zypper auto- |
− | them as dir:/path URIs. | + | matically treats them as dir:/path URIs. |
Refresh | Refresh | ||
− | Refreshing a repository means downloading metadata of packages from the medium (if needed), | + | Refreshing a repository means downloading metadata of packages from the medium (if needed), stor- |
− | + | ing 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. | + | 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 metada 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 | + | 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 | + | 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 | ||
− | Services | + | Services are one level above repositories and serve to manage repositories or to do some special |
− | + | tasks. Libzypp currently supports only one type of services, the Repository Index Service (RIS). | |
− | Repository Index Service (RIS) is a special type of repository which contains a list of other repositories. This | + | 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 parame- | |
− | + | ters 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 http://old-en.opensuse.org/Standards/Repository_Index_Service | |
+ | for more details. | ||
Package Types | Package Types | ||
− | zypper works with several types of resource objects, called resolvables. A resolvable is a | + | zypper works with several types of resource objects, called resolvables. A resolvable is a pack- |
− | + | age, patch, pattern, or a product. | |
package - an ordinary RPM package. | package - an ordinary RPM package. | ||
− | patch - update of one or more packages. A patch can include special scripts and messages to be run or shown | + | patch - update of one or more packages. A patch can include special scripts and messages to be |
− | + | run or shown during installation of the update. | |
pattern - group of packages required or recommended to install some functionality. | pattern - group of packages required or recommended to install some functionality. | ||
product - group of packages which are necessary to install a product. | 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. | 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. | + | Throughout this manual we will refer to resolvables simply as packages and to resolvable types as |
− | + | package types. These type names can be used as arguments of --type option in several commands | |
+ | like install, info, or search. | ||
Package Dependencies | Package Dependencies | ||
− | Software | + | Software packages depend on each other in various ways. Packages usually require or recommend |
− | + | other packages, 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. | ||
COMMANDS | COMMANDS | ||
− | zypper provides a number of commands. Each command accepts the options listed in the GLOBAL | + | 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 com- | |
− | + | mands 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. | |
General Commands | General Commands | ||
help [command] | help [command] | ||
− | Shows | + | Shows help texts. If invoked without any argument (just ´zypper´ or ´zypper help´), zypper |
− | global help text which lists all available global options and commands (except those | + | displays 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 | + | 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 be invoked in any of the following ways: | For your convenience, zypper help can be invoked in any of the following ways: | ||
Zeile 132: | Zeile 138: | ||
shell (sh) | shell (sh) | ||
− | Starts a shell for entering multiple commands in one session. | + | Starts a shell for entering multiple commands in one session. Exit the shell using |
− | + | "exit", "quit", or Ctrl-D. | |
− | The | + | 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 (open- | |
− | + | SUSE 11.0), but still, you're welcome to experiment with it. | |
Zeile 145: | Zeile 151: | ||
Displays detailed information about the specified packages. | Displays detailed information about the specified packages. | ||
− | For each specified | + | For each specified package, zypper finds the best available version in defined reposito- |
− | + | ries and shows information for this package. | |
-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 | + | Work only with the repository specified by the alias, name, number or URI. This option can |
− | + | be used multiple times. | |
-t, --type <type> | -t, --type <type> | ||
− | Type of package (default: package). See section Package Types for list of available | + | Type of package (default: package). See section Package Types for list of available pack- |
+ | age types. | ||
--requires | --requires | ||
− | Show also symbols required and pre-required by the package. Available for package and patch type only. | + | Show also symbols required and pre-required by the package. Available for package and |
+ | patch type only. | ||
--recommends | --recommends | ||
Zeile 179: | Zeile 187: | ||
The packages can be selected by their name or by a capability they provide. | The packages can be selected by their name or by a capability they provide. | ||
− | Capability | + | Capability is: NAME, or "NAME[.ARCH][OP<EDITION>]", where ARCH is architecture code, OP is |
− | + | <, <=, =, >=, or > and EDITION is VERSION[-RELEASE]. For example: zypper=0.8.8-2. | |
− | The NAME component of a capability is not only a package | + | 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 | + | 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 | + | 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 will report packages that it cannot find. Further, | + | Zypper will report packages that it cannot find. Further, in interactive mode, zypper pro- |
− | installation of the rest of requested packages, and it will abort immediately in non-interactive mode. In | + | ceeds 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 is also able to install plain RPM files while trying to satisfy their dependencies using 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 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 install ~/rpms/foo.rpm http://some.site/bar.rpm | ||
− | Zypper will download the files into its cache directory (/var/cache/zypper/RPMS), add this directory as a | + | Zypper will download the files into its cache directory (/var/cache/zypper/RPMS), add this |
− | + | directory as a temporary plaindir repository and mark the respective packages for instal- | |
+ | lation. | ||
− | In | + | In the install command, you can specify also packages you wish to remove in addition to |
− | + | the packages you wish to install, by prepending their names by a '-' or '~' character. For | |
+ | example: | ||
$ zypper install vim -emacs | $ zypper install vim -emacs | ||
$ zypper remove emacs +vim | $ zypper remove emacs +vim | ||
− | will both install vim and remove emacs. Note that if you choose to use '-' with | + | will both install vim and remove emacs. 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 | $ zypper install -- -boring-game great-game great-game-manual | ||
-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 | + | Work only with the repository specified by the alias, name, number or URI. This option can |
− | + | be used multiple times. | |
-t, --type <type> | -t, --type <type> | ||
− | Type of package to install (default: package). See section Package Types for list | + | Type of package to install (default: package). See section Package Types for list of |
− | + | available package types. | |
− | If | + | If pattern is specified, and the pattern is not yet installed, all packages required and |
− | + | recommended by the pattern will be installed. A pattern is considered installed if all | |
− | + | the packages and patterns it requires are installed. Thus a pattern can be evalueated as | |
− | + | installed even if you do not install the pattern itself, but rather the packages it | |
− | + | requries. Use zypper search -t pattern [name] to look for available 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 | + | 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. Like patterns, patches | |
− | + | can also be evaluated as 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 | + | If product is specified, zypper ensures all packages required by the product are |
− | + | installed. Use zypper se -t product [name] to look for available products and zypper info | |
− | + | -t product <name> to display detailed information about a product. | |
Zeile 246: | Zeile 261: | ||
-f, --force | -f, --force | ||
− | Install even if the item is already installed (reinstall), downgraded or changes vendor or architecture. | + | Install even if the item is already installed (reinstall), downgraded or changes vendor or |
+ | architecture. | ||
--oldpackage | --oldpackage | ||
− | Allow to replace a newer item with an older one. Handy if you are doing a | + | 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> | --from <alias|name|#|URI> | ||
− | Select packages from specified repository. If strings specified as arguments to the install command match | + | 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 | -C, --capability | ||
Zeile 261: | Zeile 279: | ||
-l, --auto-agree-with-licenses | -l, --auto-agree-with-licenses | ||
− | Automatically say | + | 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 | --debug-solver | ||
− | Create solver test case for debugging. Use this option, if you think the dependencies were not solved all | + | 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. | ||
--no-recommends | --no-recommends | ||
− | By default, zypper installs also packages recommended by the requested | + | By default, zypper installs also packages recommended by the requested ones. This option |
− | + | causes the recomended packages to be ignored and only the required ones to be installed. | |
-R, --no-force-resolution | -R, --no-force-resolution | ||
− | Do | + | Do not force the solver to find a solution. Instead, report dependency problem and prompt |
− | + | the user to resolve it manually. | |
--force-resolution | --force-resolution | ||
− | Force the solver to find a solution, even if | + | Force the solver to find a solution, even if it would mean removing all packages with |
− | requirements. | + | unfulfilled requirements. |
− | The | + | The default behavior is 'force' in the interactive mode and 'no-force' in the non-interac- |
− | + | tive mode. If this option is specified, it takes the preference. | |
-D, --dry-run | -D, --dry-run | ||
− | Test the installation, do not actually install any package. This option will add the --test option to the | + | 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. | |
Download-and-install mode options: | Download-and-install mode options: | ||
Zeile 299: | Zeile 318: | ||
--download-in-heaps | --download-in-heaps | ||
− | (Not | + | (Not yet implemented, currently the same as --download-in-advance). 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 package in | |
− | + | advance, which combines the advantages of --download-in-advance and --download-as-needed. | |
+ | This is the default mode. | ||
--download-as-needed | --download-as-needed | ||
− | Download one package, install it immediately, and continue with the rest until all are installed. | + | Download one package, install it immediately, and continue with the rest until all are |
+ | installed. | ||
--download <mode> | --download <mode> | ||
− | Use | + | 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. | |
Zeile 329: | Zeile 350: | ||
source-install (si) <name> ... | source-install (si) <name> ... | ||
− | Install specified source packages and their build dependencies. If the name of a binary package is given, | + | Install specified source packages and their build dependencies. If the name of a binary |
− | + | package is given, the coresponding source package is looked up and installed instead. | |
− | This | + | This command will try to find the newest available versions of the source packages and use |
− | + | rpm -i to install them and the packages that are required to build the source package. | |
− | Note that the source packages must be available in repositories you are using. You can check | + | 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> | $ zypper search -t srcpackage -r <alias|name|#|URI> | ||
Zeile 348: | Zeile 369: | ||
-r, --repo <alias|name|#|URI> | -r, --repo <alias|name|#|URI> | ||
− | Work | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
--download-only | --download-only | ||
Zeile 363: | Zeile 384: | ||
Check whether dependencies of installed packages are satisfied. | Check whether dependencies of installed packages are satisfied. | ||
− | In case that any dependency problems are found, zypper suggests packages to | + | In case that any dependency problems are found, zypper suggests packages to install or |
− | + | remove to fix them. | |
--no-recommends | --no-recommends | ||
− | By | + | By default, zypper installs also packages recommended by the requested ones (the ones |
− | + | needed to fix broken dependencies in this case). This option causes the recomended pack- | |
− | + | ages to be ignored and only the required ones to be installed. | |
-D, --dry-run | -D, --dry-run | ||
Zeile 376: | Zeile 397: | ||
-r, --repo <alias|name|#|URI> | -r, --repo <alias|name|#|URI> | ||
− | Work | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
--debug-solver | --debug-solver | ||
Zeile 384: | Zeile 405: | ||
install-new-recommends (inr) [options] | install-new-recommends (inr) [options] | ||
− | Install newly added packages recommended by already installed | + | Install newly added packages recommended by already installed ones. This can typically be |
− | + | used to install language packages recently added to repositories or drivers for newly | |
+ | added hardware. | ||
-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 | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
-D, --dry-run | -D, --dry-run | ||
Zeile 407: | Zeile 429: | ||
Remove (uninstall) packages. | Remove (uninstall) packages. | ||
− | The packages can be selected by their name or by a capability | + | 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> | -r, --repo <alias|name|#|URI> | ||
− | Work only with the repository specified by the alias, name, number, or URI. This option can be used | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
-t, --type <type> | -t, --type <type> | ||
− | Type of package (default: package). See section Package Types for list of available | + | Type of package (default: package). See section Package Types for list of available pack- |
+ | age types. | ||
− | Since patches are not installed in sense of copying files or recording a database entry, they | + | 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 sta- | |
− | + | tus 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. | Uninstallation of patterns is currently not implemented. | ||
Zeile 435: | Zeile 458: | ||
-R, --no-force-resolution | -R, --no-force-resolution | ||
− | Do | + | Do not force the solver to find a solution. Instead, report dependency problem and prompt |
− | + | the user to resolve it manually. | |
--force-resolution | --force-resolution | ||
− | Force the solver to find a solution, even if | + | Force the solver to find a solution, even if it would mean removing all packages with |
− | requirements. | + | unfulfilled requirements. |
− | The | + | The default behavior is 'force' in the interactive mode and 'no-force' in the non-interac- |
− | + | tive mode. If this option is specified, it takes the preference. | |
-u, --clean-deps | -u, --clean-deps | ||
− | Automatically remove dependencies which become unneeded after removal of requested | + | Automatically remove dependencies which become unneeded after removal of requested pack- |
+ | ages. | ||
-U, --no-clean-deps | -U, --no-clean-deps | ||
Zeile 452: | Zeile 476: | ||
-D, --dry-run | -D, --dry-run | ||
− | Test the removal of packages, do not actually remove anything. This option will add the --test option | + | 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. | |
Zeile 461: | Zeile 485: | ||
List available updates. | List available updates. | ||
− | This command will list only installable updates, i.e. updates which have no dependency problems, or which | + | 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> | -t, --type <type> | ||
− | Type of package (default: package). See section Package Types for list of available | + | Type of package (default: package). See section Package Types for list of available pack- |
+ | age types. | ||
If patch is specified, zypper acts as if the list-patches command was executed. | If patch is specified, zypper acts as if the list-patches command was executed. | ||
-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 | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
-a, --all | -a, --all | ||
− | List all packages for which newer versions are available, regardles whether they are installable or not. | + | List all packages for which newer versions are available, regardles whether they are |
+ | installable or not. | ||
--best-effort | --best-effort | ||
Zeile 486: | Zeile 513: | ||
Update installed packages with newer versions, where possible. | Update installed packages with newer versions, where possible. | ||
− | This command will not update packages which would require change of package vendor unless the | + | 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 sepa- | |
− | + | rate section of the summary as "The following package updates will NOT be installed:". | |
− | To | + | 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> | -t, --type <type> | ||
− | Type of package (default: package). See section Package Types for list of available | + | Type of package (default: package). See section Package Types for list of available pack- |
+ | age types. | ||
If patch is specified, zypper acts as if the patche command was executed. | If patch is specified, zypper acts as if the patche command was executed. | ||
-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 | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
--skip-interactive | --skip-interactive | ||
− | This will skip interactive patches, that is, those that need reboot, contain a message, or update a | + | This will skip interactive patches, that is, those that need reboot, contain a message, or |
− | + | update a package whose license needs to be confirmed. | |
-l, --auto-agree-with-licenses | -l, --auto-agree-with-licenses | ||
− | Automatically say 'yes' to third party license confirmation prompt. By using this option, you | + | 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 | --debug-solver | ||
Zeile 518: | Zeile 547: | ||
--no-recommends | --no-recommends | ||
− | By | + | By default, zypper installs also packages recommended by the requested ones. This option |
− | + | causes the recomended packages to be ignored and only the required ones to be installed. | |
-R, --no-force-resolution | -R, --no-force-resolution | ||
− | Do not force the solver to find a solution. Instead, report dependency problem and | + | Do not force the solver to find a solution. Instead, report dependency problem and prompt |
− | + | the user to resolve it manually. | |
--force-resolution | --force-resolution | ||
− | Force | + | Force the solver to find a solution, even if it would mean removing all packages with |
− | requirements. | + | unfulfilled requirements. |
The default behavior is 'no-force'. If this option is specified, it takes the preference. | The default behavior is 'no-force'. If this option is specified, it takes the preference. | ||
-D, --dry-run | -D, --dry-run | ||
− | Test the update, do not actually install or update any package. This option will add the --test option to | + | 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. | |
--best-effort | --best-effort | ||
− | Do | + | 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. | ||
This command also accepts the download-and-install mode options described | This command also accepts the download-and-install mode options described | ||
Zeile 551: | Zeile 581: | ||
This command is similar to 'zypper list-updates -t patch'. | 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 | + | Note that since the arguments of some of the following options are not required, they must |
− | + | be specified using '=' instead of a space. | |
-b, --bugzilla[=#] | -b, --bugzilla[=#] | ||
− | List available needed patches for all Bugzilla issues, or issues whose number matches the given string. | + | List available needed patches for all Bugzilla issues, or issues whose number matches the |
+ | given string. | ||
--cve[=#] | --cve[=#] | ||
− | List available needed patches for all CVE issues, or issues whose number matches the given string. | + | List available needed patches for all CVE issues, or issues whose number matches the given |
+ | string. | ||
-g, --category <category> | -g, --category <category> | ||
Zeile 565: | Zeile 597: | ||
--issues[=string] | --issues[=string] | ||
− | Look | + | 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 | -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 relevant and needed 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. | |
-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 | + | 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 | + | 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. | + | See also the EXIT CODES section for details on exit status of 0, 100, and 101 returned by this |
+ | command. | ||
-r, --repo <alias|name|#|URI> | -r, --repo <alias|name|#|URI> | ||
− | Check | + | Check for patches only in the repository specified by the alias, name, number, or URI. |
− | + | This option can be used multiple times. | |
Zeile 593: | Zeile 626: | ||
Install all available needed patches. | Install all available needed patches. | ||
− | If there are patches that affect the package management itself, those will be | + | 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'. | This command is similar to 'zypper update -t patch'. | ||
Zeile 600: | Zeile 633: | ||
-b, --bugzilla <#> | -b, --bugzilla <#> | ||
− | Install | + | Install patch fixing a Bugzilla issue specified by number. Use list-patches --bugzilla |
− | + | command to get a list of available needed patches for specific issues. | |
--cve <#> | --cve <#> | ||
− | Install patch fixing a MITRE's CVE issue specified by number. Use list-patches --cve | + | Install patch fixing a MITRE's CVE issue specified by number. Use list-patches --cve com- |
− | + | mand to get a list of available needed patches for specific issues. | |
-g, --category <category> | -g, --category <category> | ||
− | Install | + | Install all patches in the specified category. Use list-patches --category command to get |
− | + | a list of available patches for a specific category. | |
-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 | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
--skip-interactive | --skip-interactive | ||
Zeile 625: | Zeile 658: | ||
--no-recommends | --no-recommends | ||
− | By | + | By default, zypper installs also packages recommended by the requested ones. This option |
− | + | causes the recomended packages to be ignored and only the required ones to be installed. | |
--debug-solver | --debug-solver | ||
Zeile 640: | Zeile 673: | ||
dist-upgrade (dup) [options] | dist-upgrade (dup) [options] | ||
− | Perform a distribution upgrade. This command applies the state of (specified) repositories onto the | + | 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 depen- | |
− | + | dency problem for the upgrade, handles package splits and renames, etc. | |
− | If | + | If no repositories are specified via --from or --repo options, zypper will do the upgrade |
− | + | with all defined repositories. This can be a problem if the system contains conflicting | |
− | + | repositories, like repositories for two different distribution releases. This often hap- | |
− | + | pens 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 avoid the above trouble, you can specify the repositories from which to do the upgrade |
− | + | using the --from or --repo options. The difference between these two is that when --repo | |
− | + | is used, zypper uses only the specified repositories, while with --from zypper can also | |
− | + | use the rest of the enabled repositories to satisfy package dependencies. | |
--from <alias|name|#|URI> | --from <alias|name|#|URI> | ||
− | Restricts the upgrade to the specified repositories (the option can be used multiple times) only, but can | + | Restricts the upgrade to the specified repositories (the option can be used multiple |
− | + | times) only, but can satisfy dependencies also from the rest of enabled repositories. | |
-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 | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
-l, --auto-agree-with-licenses | -l, --auto-agree-with-licenses | ||
− | Automatically say | + | 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. | |
--no-recommends | --no-recommends | ||
− | By default, zypper installs also packages recommended by the requested | + | By default, zypper installs also packages recommended by the requested ones. This option |
− | + | causes the recomended packages to be ignored and only the required ones to be installed. | |
--debug-solver | --debug-solver | ||
Zeile 678: | Zeile 712: | ||
-D, --dry-run | -D, --dry-run | ||
− | Test the | + | 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. | |
This command also accepts the download-and-install mode options described | This command also accepts the download-and-install mode options described | ||
Zeile 693: | Zeile 727: | ||
Query Commands | Query Commands | ||
search (se) [options] [querystring|capability] ... | search (se) [options] [querystring|capability] ... | ||
− | Search for packages matching any of the given strings. * (any substring) and ? (any | + | Search for packages matching any of the given strings. * (any substring) and ? (any char- |
− | + | acter) 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: $ zypper se | |
+ | 'libgcc>4.6'. | ||
− | Results of search are printed in a table with following columns: S (status), Catalog, Type (type of | + | Results of search are printed in a table with following columns: S (status), Catalog, Type |
− | + | (type of package), Name, Version, Arch (architecture). The status column can contain the | |
− | + | following values: i - installed, v - another version installed, or an empty space for nei- | |
+ | ther of the former cases. | ||
− | The | + | The 'v' status is only shown if the version or the repository matters (--details or --repo |
− | + | is used), and the installed version differs from the one listed or is from a repository | |
+ | other than specified. | ||
Zeile 721: | Zeile 758: | ||
--provides | --provides | ||
− | Search for packages which provide the search strings. A search string here might be also any symbol | + | Search for packages which provide the search strings. A search string here might be also |
− | + | any symbol provided by a package like /bin/vi, libcurl.so.3, perl(Time::ParseDate), | |
− | + | web_browser, e.g. search for the package which provides the shell: zypper se --provides | |
+ | /bin/sh | ||
--requires | --requires | ||
− | Search for packages which require the search strings. A search string | + | Search for packages which require the search strings. A search string here might be also |
− | + | any symbol required by a package, e.g. all packages which require the snapper library: | |
− | + | zypper se --requires libsnapper.so | |
--recommends | --recommends | ||
− | Search for packages which recommend the search strings, e.g. | + | Search for packages which recommend the search strings, e.g. zypper se --recommends |
+ | usb_modeswitch | ||
--suggests | --suggests | ||
Zeile 737: | Zeile 776: | ||
--conflicts | --conflicts | ||
− | Search for packages conflicting with the search strings, e.g. zypper se --conflicts aspell-hi | + | Search for packages conflicting with the search strings, e.g. zypper se --conflicts |
+ | aspell-hi | ||
--obsoletes | --obsoletes | ||
Zeile 761: | Zeile 801: | ||
-t, --type <type> | -t, --type <type> | ||
− | Search only for packages of specified type. See section Package | + | Search only for packages of specified type. See section Package Types for list of avail- |
− | types. Multiple -t option are allowed. | + | able package types. Multiple -t option are allowed. |
See also the type-specific query commands like packages, patterns, etc. | See also the type-specific query commands like packages, patterns, etc. | ||
-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 | + | Work only with the repository specified by the alias, name, number, or URI. This option |
− | + | can be used multiple times. | |
--sort-by-name | --sort-by-name | ||
Zeile 777: | Zeile 817: | ||
-s, --details | -s, --details | ||
− | Show all available versions of found packages, each version in each repository on a | + | Show all available versions of found packages, each version in each repository on a sepa- |
+ | rate line. | ||
-v, --verbose | -v, --verbose | ||
− | Like --details with additional information where the search has matched (useful when searching for | + | Like --details with additional information where the search has matched (useful when |
− | + | searching for dependencies, e.g. --provides). | |
Examples: | Examples: | ||
− | Search for YaST packages (quote the string to prevent the shell from expanding the | + | Search for YaST packages (quote the string to prevent the shell from expanding the wild- |
+ | card): | ||
$ zypper se 'yast*' | $ zypper se 'yast*' | ||
Zeile 797: | Zeile 839: | ||
packages (pa) [options] [repository] ... | packages (pa) [options] [repository] ... | ||
− | List | + | List all available packages or all packages from specified repositories (similar to zypper |
− | + | search -s -t package). Also allows the options --orphaned, --suggested, --recommended and | |
+ | --unneeded to get corresponding lists of packages. | ||
-r, --repo <alias|name|#|URI> | -r, --repo <alias|name|#|URI> | ||
Zeile 808: | Zeile 851: | ||
-u, --uninstalled-only | -u, --uninstalled-only | ||
Show only packages which are not installed. | Show only packages which are not installed. | ||
+ | |||
+ | -o, --orphaned | ||
+ | Show packages which are orphaned (without repository). | ||
+ | |||
+ | -s, --suggested | ||
+ | Show packages which are suggested. | ||
+ | |||
+ | -r, --recommended | ||
+ | Show packages which are recommeded. | ||
+ | |||
+ | -n, --unneeded | ||
+ | Show packages which are unneeded. | ||
patches (pch) [options] [repository] ... | patches (pch) [options] [repository] ... | ||
− | List all available patches from specified repositories, including those not | + | List all available patches from specified repositories, including those not needed. Simi- |
− | + | lar to zypper search -s -t patch. | |
-r, --repo <alias|name|#|URI> | -r, --repo <alias|name|#|URI> | ||
Zeile 819: | Zeile 874: | ||
patterns (pt) [options] [repository] ... | patterns (pt) [options] [repository] ... | ||
− | List | + | List all available patterns or all patterns from specified repositories. Similar to zyp- |
− | + | per search -s -t pattern. | |
-r, --repo <alias|name|#|URI> | -r, --repo <alias|name|#|URI> | ||
Zeile 833: | Zeile 888: | ||
products (pd) [options] [repository] ... | products (pd) [options] [repository] ... | ||
− | List all available products or all products from specified repositories. Similar to | + | List all available products or all products from specified repositories. Similar to zyp- |
− | + | per search -s -t product, but shows also the type of the product (base, add-on). | |
-r, --repo <alias|name|#|URI> | -r, --repo <alias|name|#|URI> | ||
Zeile 847: | Zeile 902: | ||
what-provides (wp) <capability> | what-provides (wp) <capability> | ||
− | List | + | List all packages providing the specified capability. See also the install command for |
− | + | hint about capabilities. | |
− | what-provides is replaced by the search command, which now has the functionality to search | + | what-provides is replaced by the search command, which now has the functionality to search |
− | + | for dependencies (and allows various options). | |
The command line is automatically transformed to the appropriate search, e.g.: | 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' | $ zypper what-provides 'zypper>1.6' to $ zypper se --provides --match-exact 'zypper>1.6' | ||
Zeile 856: | Zeile 911: | ||
Repository Management | Repository Management | ||
− | Zypper | + | Zypper is able to work with YaST, RPM-MD (yum) software repositories, and plain directories con- |
− | + | taining .rpm files. | |
− | Repositories are primarily identified using their URI or alias. Alias serves as a shorthand for the long URI or | + | 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 | + | 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. | |
Supported URI formats: | Supported URI formats: | ||
Zeile 876: | Zeile 932: | ||
FTP/HTTP/HTTPS directory tree | FTP/HTTP/HTTPS directory tree | ||
− | The ftp URL scheme supports absolute and relative paths to the default | + | The ftp URL scheme supports absolute and relative paths to the default ftp server direc- |
− | + | tory (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. | + | 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 | + | 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. | |
ftp://user:pass@server/path/to/media/dir | ftp://user:pass@server/path/to/media/dir | ||
Zeile 895: | Zeile 953: | ||
Disk volume (partition) | Disk volume (partition) | ||
− | Mandatory device parameter specifying the name of the block device to mount. The name of | + | 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 | hd:/subdir?device=/dev/sda1&filesystem=reiserfs | ||
Zeile 905: | Zeile 963: | ||
Media in an ISO image (loopback mounted) | Media in an ISO image (loopback mounted) | ||
− | Mandatory iso parameter specifying the name of the iso file. Optional url parameter | + | Mandatory iso parameter specifying the name of the iso file. Optional url parameter speci- |
− | + | fying 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=nfs://server/path/to/media | ||
iso:/?iso=CD1.iso&url=hd:/?device=/dev/hda | iso:/?iso=CD1.iso&url=hd:/?device=/dev/hda | ||
− | iso:/subdir?iso=DVD1.iso&url=nfs://nfs-server/directory&mnt=/nfs/attach/point& | + | iso:/subdir?iso=DVD1.iso&url=nfs://nfs-server/directory&mnt=/nfs/attach/point&filesys- |
+ | tem=udf | ||
NFS exported directory tree | NFS exported directory tree | ||
− | To use NFSv4 either use schema tnfsv4:// or pass an optional parameter type=nfs4. | + | To use NFSv4 either use schema tnfsv4:// or pass an optional parameter type=nfs4. Addi- |
− | can be passed as comma separated list. Defaults to "ro". | + | tional mountoptions can be passed as comma separated list. Defaults to "ro". |
nfs://nfs-server/exported/path | nfs://nfs-server/exported/path | ||
Zeile 923: | Zeile 982: | ||
CIFS/SMB directory tree | CIFS/SMB directory tree | ||
− | There is no difference between cifs and smb scheme (any more). In both cases the cifs filesystem is used. | + | 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 | + | 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 | smb://servername/share/path/on/the/share | ||
Zeile 935: | Zeile 995: | ||
cifs://servername/share/path/on/the/share?user=usern&pass=passw | 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 | + | Apart from the above, repositories have several other properties which can be set using the com- |
− | + | mands described in this section below, or by manually editing the repository definition files | |
+ | (.repo files, see section FILES). | ||
Zeile 943: | Zeile 1.004: | ||
addrepo (ar) [options] <FILE.repo> | 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. | + | 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 | + | 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 the | |
− | + | --refresh option of the modifyrepo command. | |
− | Also, this command does not automatically refresh the newly added repositories. The repositories will | + | 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. See also METADATA REFRESH | |
+ | POLICY section for more details. | ||
Zeile 958: | Zeile 1.021: | ||
-t, --type <type> | -t, --type <type> | ||
− | Type of repository (yast2, rpm-md, or plaindir). There are several aliases defined for these types: yast2 | + | Type of repository (yast2, rpm-md, or plaindir). There are several aliases defined for |
− | + | these types: yast2 - susetags, yast, YaST, YaST2, YAST; rpm-md - repomd, rpmmd, yum, YUM; | |
+ | plaindir - Plaindir. | ||
-d, --disable | -d, --disable | ||
Zeile 980: | Zeile 1.044: | ||
-f, --refresh | -f, --refresh | ||
− | Enable autorefresh of the repository. The autorefresh is disabled by default when adding | + | Enable autorefresh of the repository. The autorefresh is disabled by default when adding |
− | + | new repositories. | |
Examples: | Examples: | ||
Zeile 989: | Zeile 1.053: | ||
Add repositories from a repo file: | Add repositories from a repo file: | ||
− | $ zypper ar http://download.opensuse.org/repositories/zypp:/svn/ | + | $ zypper ar http://download.opensuse.org/repositories/zypp:/svn/openSUSE_Fac- |
+ | tory/zypp:svn.repo | ||
$ zypper ar myreposbackup.repo | $ zypper ar myreposbackup.repo | ||
Zeile 1.004: | Zeile 1.069: | ||
repos (lr) [options] [repo] ... | repos (lr) [options] [repo] ... | ||
− | List all defined repositories or show detailed information about those specified as | + | List all defined repositories or show detailed information about those specified as argu- |
+ | ments | ||
− | The following data can be printed for each repository found on the sytem: # (repository number), Alias | + | The following data can be printed for each repository found on the sytem: # (repository |
− | + | number), Alias (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 com- | |
− | + | mand line options listed below and the main.repoListColumns setting from zypper.conf. By | |
+ | default, #, Alias, Name, Enabled, and Refresh is shown. | ||
− | Repository | + | 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, | + | 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|-> | -e, --export <FILE.repo|-> | ||
− | This option causes zypper to write repository definition of all defined repositories into a | + | 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 repos- | |
− | + | itories will be written to the standard output. | |
-a, --alias | -a, --alias | ||
Zeile 1.072: | Zeile 1.141: | ||
Example: | Example: | ||
− | Rename repository number 8 to 'myrepo' (useful if the repo has some dreadful alias which is not usable on | + | Rename repository number 8 to 'myrepo' (useful if the repo has some dreadful alias which |
− | + | is not usable on the command line). | |
$ zypper nr 8 myrepo | $ zypper nr 8 myrepo | ||
Zeile 1.080: | Zeile 1.149: | ||
modifyrepo (mr) <options> <--all|--remote|--local|--medium-type> | modifyrepo (mr) <options> <--all|--remote|--local|--medium-type> | ||
− | Modify | + | Modify properties of repositories specified by alias, name, number, or URI or one of the |
− | options. | + | aggregate options. |
-e, --enable | -e, --enable | ||
Zeile 1.096: | Zeile 1.165: | ||
-p, --priority <positive-integer> | -p, --priority <positive-integer> | ||
− | Set priority of the repository. Priority of 1 is the highest, the higher the number the lower the | + | Set priority of the repository. Priority of 1 is the highest, the higher the number the |
− | + | lower the priority. Default priority is 99. Packages from repositories with higher prior- | |
− | + | ity will be preferred even in case there is a higher installable version available in the | |
+ | repository with a lower priority. | ||
-n, --name | -n, --name | ||
Zeile 1.119: | Zeile 1.189: | ||
-m, --medium-type <type> | -m, --medium-type <type> | ||
− | Apply changes to repositories of specified type. The type corresponds to the repository URI scheme | + | 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: | Examples: | ||
Zeile 1.136: | Zeile 1.206: | ||
refresh (ref) [alias|name|#|URI] ... | refresh (ref) [alias|name|#|URI] ... | ||
− | Refresh repositories specified by their alias, name, number, or URI. If no repositories | + | Refresh repositories specified by their alias, name, number, or URI. If no repositories |
− | + | are specified, all enabled repositories will be refreshed. | |
See also METADATA REFRESH POLICY section for more details. | See also METADATA REFRESH POLICY section for more details. | ||
-f, --force | -f, --force | ||
− | Force a complete refresh of specified repositories. This option will cause both the | + | Force a complete refresh of specified repositories. This option will cause both the down- |
− | + | load of raw metadata and parsing of the metadata to be forced even if everything indicates | |
+ | a refresh is not needed. | ||
-b, --force-build | -b, --force-build | ||
− | Force only reparsing of cached metadata and rebuilding of the database. Raw metadata | + | Force only reparsing of cached metadata and rebuilding of the database. Raw metadata down- |
− | + | load will not be forced. | |
-d, --force-download | -d, --force-download | ||
− | Force | + | Force only download of current copy of repository metadata. Parsing and rebuild of the |
− | + | database will not be forced. | |
-B, --build-only | -B, --build-only | ||
− | Only parse the metadata and build the database, don't download raw metadata into | + | 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 | -D, --download-only | ||
Zeile 1.180: | Zeile 1.252: | ||
Service Management | Service Management | ||
− | The services, addservice, | + | The services, addservice, removeservice, modifyservice, and refresh-services commands serve for |
− | services. A service is specified by its URI and needs to have a unique alias defined (among | + | 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 | + | 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> | addservice (as) [options] <URI> <alias> | ||
− | Adds | + | 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 refereshed automatically. Use the refresh-services command to refresh | + | Newly added services are not refereshed 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. | |
− | This command also allows to add also ordinary repositories when used with --type option, where you | + | This command also allows to add also ordinary repositories when used with --type option, |
− | + | where you specify the type of the repository. See the addrepo command for the list of sup- | |
+ | ported repository types. | ||
-t, --type <TYPE> | -t, --type <TYPE> | ||
− | Type of the service (possible values: ris). There are several aliases defined for this type: ris - RIS, | + | Type of the service (possible values: ris). There are several aliases defined for this |
− | + | type: ris - RIS, nu, NU | |
-d, --disable | -d, --disable | ||
Zeile 1.228: | Zeile 1.302: | ||
modifyservice (ms) <options> <alias|name|#|URI> | modifyservice (ms) <options> <alias|name|#|URI> | ||
− | modifyservice (ms) <options> <--all|--remote|--local|--medium-type> Modify properties of | + | modifyservice (ms) <options> <--all|--remote|--local|--medium-type> Modify properties of |
− | + | specified services. | |
Zeile 1.307: | Zeile 1.381: | ||
-E, --show-enabled-only | -E, --show-enabled-only | ||
− | Show enabled services | + | Show enabled services only. If used together with --with-repos a disabled service owning |
− | + | (manually) enabled repositories is shown as well. | |
-U, --sort-by-uri | -U, --sort-by-uri | ||
Zeile 1.320: | Zeile 1.394: | ||
Refreshing a service mean executing the service's special task. | Refreshing a service mean executing the service's special task. | ||
− | RIS services add, remove, or modify repositories on your system based on current content of the | + | RIS services add, remove, or modify repositories on your system based on current content |
− | + | of the repository index. Services only manage defined repositories, they do not refresh | |
− | + | them. To refresh also repositories, use --with-repos option or the refresh command. | |
Zeile 1.333: | Zeile 1.407: | ||
Package Locks Management | Package Locks Management | ||
− | Package locks serve the purpose of preventing changes to the set of installed packages on the system. The locks | + | 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. | |
Zeile 1.345: | Zeile 1.419: | ||
addlock (al) [options] <package-name> ... | addlock (al) [options] <package-name> ... | ||
− | Add a package lock. Specify packages to lock by exact name or by a glob pattern using '*' and '?' | + | Add a package lock. Specify packages to lock by exact name or by a glob pattern using '*' |
− | + | and '?' wildcard characters. | |
Zeile 1.353: | Zeile 1.427: | ||
-t, --type <type> | -t, --type <type> | ||
− | Lock only packages of specified type (default: package). See section Package Types for list of available | + | 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> ... | removelock (rl) [options] <lock-number|package-name> ... | ||
− | Remove specified package lock. Specify the lock to remove by its number obtained with | + | Remove specified package lock. Specify the lock to remove by its number obtained with zyp- |
− | + | per locks or by the package name. | |
Zeile 1.366: | Zeile 1.440: | ||
-t, --type <type> | -t, --type <type> | ||
− | Restrict the lock to packages of specified type (default: package). See section Package Types for list | + | Restrict the lock to packages of specified type (default: package). See section Package |
− | + | Types for list of available package types. | |
Zeile 1.374: | Zeile 1.448: | ||
Remove unused locks. | Remove unused locks. | ||
− | This command looks for locks that do not currently (with regard to repositories used) | + | 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. | |
Zeile 1.381: | Zeile 1.455: | ||
Other Commands | Other Commands | ||
versioncmp (vcmp) <version1> <version2> | versioncmp (vcmp) <version1> <version2> | ||
− | Compare the versions supplied as arguments and tell whether version1 is older or newer than version2 or | + | 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 | + | 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. | ||
Zeile 1.397: | Zeile 1.472: | ||
targetos (tos) | targetos (tos) | ||
− | Shows | + | Shows the ID string of the target operating system. The string has a form of distroname- |
− | + | arch. The string is determined by libzypp, the distroname is read from <current-root- | |
− | + | dir>/etc/products.d/baseproduct and the architecture is determined from uname and CPU | |
+ | flags. | ||
Zeile 1.405: | Zeile 1.481: | ||
Prints a report about licenses and EULAs of installed packages to standard output. | Prints a report about licenses and EULAs of installed packages to standard output. | ||
− | First, a | + | 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 | + | This command can be useful for companies redistributiong a custom distribution (like |
− | + | appliances) to figure out what licenses they are bound by. | |
Zeile 1.435: | Zeile 1.512: | ||
− | ps After each upgrade or removal of packages, there may be running processes on the system | + | ps After each upgrade or removal of packages, there may be running processes on the system |
− | + | which then use files meanwhile deleted by the upgrade. zypper ps lists these processes, | |
− | + | together with the corresponding 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 | * PID ID of the process | ||
Zeile 1.453: | Zeile 1.530: | ||
GLOBAL OPTIONS | GLOBAL OPTIONS | ||
-h, --help | -h, --help | ||
− | Help. If a command is specified together with --help option, command specific help is | + | Help. If a command is specified together with --help option, command specific help is dis- |
+ | played. | ||
-V, --version | -V, --version | ||
Zeile 1.459: | Zeile 1.537: | ||
-c, --config <file> | -c, --config <file> | ||
− | Use | + | Use specified zypper config file instead of the default files. Other command line options |
− | together with --config and having their counterpart in the config file are still prefered. The order | + | 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 | * Command line options | ||
Zeile 1.474: | Zeile 1.552: | ||
-q, --quiet | -q, --quiet | ||
− | Suppress normal | + | Suppress normal output. Brief (esp. result notification) messages and error messages will |
− | + | still be printed, though. If used together with conflicting --verbose option, the --ver- | |
− | + | bose option takes preference. | |
-A, --no-abbrev | -A, --no-abbrev | ||
− | Do not abbreviate text in tables. By default zypper will try to abbreviate texts in some columns so that | + | 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 | -t, --terse | ||
− | Terse output for machine consumption. Currently not used and provided only for | + | Terse output for machine consumption. Currently not used and provided only for compatibil- |
+ | ity with rug. | ||
-s, --table-style | -s, --table-style | ||
Zeile 1.492: | Zeile 1.572: | ||
-n, --non-interactive | -n, --non-interactive | ||
− | Switches to non-interactive mode. In this mode zypper | + | Switches to non-interactive mode. In this mode zypper doesn't ask user to type answers to |
− | prompts, but uses default answers automatically. The behaviour of this option is somewhat different than | + | various 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 | -x, --xmlout | ||
− | Switches to XML output. This option is useful for scripts or graphical frontends using zypper. | + | Switches to XML output. This option is useful for scripts or graphical frontends using |
+ | zypper. | ||
-i, --ignore-unknown | -i, --ignore-unknown | ||
Zeile 1.504: | Zeile 1.586: | ||
-D, --reposd-dir <dir> | -D, --reposd-dir <dir> | ||
− | Use the specified directory to look for the repository definition (*.repo) files. The default value is | + | Use the specified directory to look for the repository definition (*.repo) files. The |
− | + | default value is /etc/zypp/repos.d. | |
-C, --cache-dir <dir> | -C, --cache-dir <dir> | ||
Zeile 1.511: | Zeile 1.593: | ||
--raw-cache-dir <dir> | --raw-cache-dir <dir> | ||
− | Use the specified directory for storing raw copies of repository metadata files. | + | Use the specified directory for storing raw copies of repository metadata files. The |
− | + | default value is /var/cache/zypp/raw. | |
--solv-cache-dir <dir> | --solv-cache-dir <dir> | ||
− | Use the specified directory | + | 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> | --pkg-cache-dir <dir> | ||
− | Use the specified directory for storing | + | Use the specified directory for storing downloaded rpm packages. (see addrepo --keep-pack- |
− | + | ages) The default value is /var/cache/zypp/packages. | |
--userdata <string> | --userdata <string> | ||
− | User | + | 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: | Repository Options: | ||
--no-gpg-checks | --no-gpg-checks | ||
− | Ignore GPG | + | Ignore GPG check failures and continue. If a GPG issue occurs when using this option zyp- |
− | + | per prints and logs a warning and automatically continues without interrupting the opera- | |
− | + | tion. Use this option with caution, as you can easily overlook security problems by using | |
+ | it. | ||
--gpg-auto-import-keys | --gpg-auto-import-keys | ||
− | If | + | If new repository signing key is found, do not ask what to do; trust and import it auto- |
− | + | matically. This option causes that the new key is imported also in non-interactive mode, | |
− | + | where it would otherwise got rejected. | |
-p, --plus-repo <URI> | -p, --plus-repo <URI> | ||
− | Use | + | 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. | ||
--disable-repositories | --disable-repositories | ||
− | Do not read metadata from repositories. This option will prevent loading of packages from | + | 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-sys- | |
− | + | tem-resolvables was not specified). | |
--no-refresh | --no-refresh | ||
− | Do not auto-refresh repositories (ignore the auto-refresh setting). Useful to save time when doing | + | 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 | --no-cd | ||
− | Ignore CD/DVD repositories. When this option is specified, zypper acts as if the CD/DVD repositories were | + | Ignore CD/DVD repositories. When this option is specified, zypper acts as if the CD/DVD |
− | + | repositories were not defined at all. | |
--no-remote | --no-remote | ||
− | Ignore remote repositories like http, ftp, smb and similar. This makes using | + | 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 reposito- | |
− | + | ries were not defined at all. | |
Target Options: | Target Options: | ||
-R, --root <dir> | -R, --root <dir> | ||
− | Operates on a different root directory. This option influences the location of the repos.d directory | + | 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. Note that the ZYpp lock is | |
− | + | still created in the original system, as well as temporary files. See also the FILES sec- | |
+ | tion. | ||
--disable-system-resolvables | --disable-system-resolvables | ||
− | This option serves mainly for testing purposes. It will cause zypper to act as if there were no packages | + | 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. | ||
Zeile 1.579: | Zeile 1.666: | ||
FILES | FILES | ||
/etc/zypp/zypper.conf, $HOME/.zypper.conf | /etc/zypp/zypper.conf, $HOME/.zypper.conf | ||
− | Global (system-wide) and user's configuration file for zypper. These files are read when | + | 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 | + | User's settings are prefered over global settings. Similarly, command line options over- |
− | + | ride the settings in either of these files. To sum it up, the order of preference is as | |
+ | follows (from highest to lowest): | ||
* Command line options | * Command line options | ||
Zeile 1.594: | Zeile 1.682: | ||
/etc/zypp/zypp.conf | /etc/zypp/zypp.conf | ||
− | ZYpp configuration file affecting all libzypp based applications. See | + | ZYpp configuration file affecting all libzypp based applications. See the comments in the |
− | + | file for desciption 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 | /etc/zypp/locks | ||
− | File with package lock definitions, | + | 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. | This file is used by all ZYpp-based applications. | ||
/etc/zypp/repos.d | /etc/zypp/repos.d | ||
− | Directory containing repository definition (*.repo) files. You can use the Repository | + | 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. | |
This directory is used by all ZYpp-based applications. | This directory is used by all ZYpp-based applications. | ||
− | You can use the --reposd-dir global option to use an alternative directory for this | + | You can use the --reposd-dir global option to use an alternative directory for this pur- |
− | + | pose or the --root option to make this directory relative to the specified root directory. | |
/etc/zypp/services.d | /etc/zypp/services.d | ||
− | Directory containing service definition (*.service) files. You can use the Service | + | Directory containing service definition (*.service) files. You can use the Service Man- |
− | to manipulate theese files, or you can edit them youself. Running zypper refs is recommended after | + | agement Commands to manipulate theese files, or you can edit them youself. Running zypper |
− | + | refs is recommended after modifications have been done. | |
This directory is used by all ZYpp-based applications. | This directory is used by all ZYpp-based applications. | ||
/var/cache/zypp/raw | /var/cache/zypp/raw | ||
− | Directory for storing raw metadata contained in repositories. This directory is used by all ZYpp-based | + | Directory for storing raw metadata contained in repositories. This directory is used by |
− | + | all ZYpp-based 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 | /var/cache/zypp/solv | ||
− | Directory | + | Directory containing preparsed metadata in form of solv files. This directory is used by |
− | + | all ZYpp-based applications. | |
/var/cache/zypp/packages | /var/cache/zypp/packages | ||
− | If keeppackages property is set for a repository (see the modifyrepo command), all | + | 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. | This directory is used by all ZYpp-based applications. | ||
Zeile 1.647: | Zeile 1.736: | ||
EXIT CODES | EXIT CODES | ||
− | There are several exit codes defined for zypper for use e.g. within scripts. These codes are defined | + | There are several exit codes defined for zypper for use e.g. within scripts. These codes are |
− | + | defined in header file src/zypper-main.h found in zypper source package. Codes from interval | |
− | + | (1-5) denote an error, numbers (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 | 0 - ZYPPER_EXIT_OK | ||
Zeile 1.662: | Zeile 1.751: | ||
3 - ZYPPER_EXIT_ERR_INVALID_ARGS | 3 - ZYPPER_EXIT_ERR_INVALID_ARGS | ||
− | Some of provided arguments were invalid. E.g. an invalid URI was provided to the addrepo command. | + | Some of provided arguments were invalid. E.g. an invalid URI was provided to the addrepo |
+ | command. | ||
4 - ZYPPER_EXIT_ERR_ZYPP | 4 - ZYPPER_EXIT_ERR_ZYPP | ||
Zeile 1.680: | Zeile 1.770: | ||
101 - ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED | 101 - ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED | ||
− | Returned by the patch-check command if there are security patches available for | + | Returned by the patch-check command if there are security patches available for installa- |
+ | tion. | ||
102 - ZYPPER_EXIT_INF_REBOOT_NEEDED | 102 - ZYPPER_EXIT_INF_REBOOT_NEEDED | ||
Zeile 1.686: | Zeile 1.777: | ||
103 - ZYPPER_EXIT_INF_RESTART_NEEDED | 103 - ZYPPER_EXIT_INF_RESTART_NEEDED | ||
− | Returned | + | Returned after a successfull installation of a patch which requires restart of the package |
− | itself. This means that one of patches to be installed affects the package manager itself and the command | + | 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 | 104 - ZYPPER_EXIT_INF_CAP_NOT_FOUND | ||
− | Returned | + | 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 | 105 - ZYPPER_EXIT_ON_SIGNAL | ||
Zeile 1.700: | Zeile 1.792: | ||
COMPATIBILITY WITH RUG | COMPATIBILITY WITH RUG | ||
− | zypper is designed to be compatible with rug, which is a command-line interface to the ZENworks Linux Management | + | zypper is designed to be compatible with rug, which is a command-line interface to the ZENworks |
− | + | Linux Management (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 | + | To enable rug-compatible behavior, use the -r or --rug-compatible global option with each com- |
+ | mand. | ||
Service Management Commands | Service Management Commands | ||
− | ZENworks | + | ZENworks uses different terminology than ZYpp. ZLM services are ZYpp's repositories and services. |
− | some ZLM services can contain catalogs (rpmmd-type repositories in ZYpp speak). | + | Additionally some ZLM services can contain catalogs (rpmmd-type repositories in ZYpp speak). |
− | Zypper tries to mimick rug's behavior in its service handling commands when used with the -r global | + | Zypper tries to mimick rug's behavior in its service handling commands when used with the -r |
− | + | global option. It also supports the --catalog option for specifying catalogs to work with in cur- | |
− | + | rent operation (this is an alias for zypper's --repo option). | |
rug service-add (sa) | rug service-add (sa) | ||
− | zypper addservice (as) When used with -r global option, this command probes the type of service or | + | zypper addservice (as) When used with -r global option, this command probes the type of |
− | + | service or repository at the specified URI, if not explicitly specified. Without -r option | |
− | + | the URI is not accessed at all and the URI is added as ZYpp service. | |
Zeile 1.734: | Zeile 1.828: | ||
zypper repos (lr) | zypper repos (lr) | ||
− | zypper doesn't include 'Enabled' and 'Refresh' columns and prints | + | zypper doesn't include 'Enabled' and 'Refresh' columns and prints rug's 'Status' column |
− | + | with values "Active" or "Disabled" instead. | |
rug subscribe | rug subscribe | ||
− | This command is not implemented in zypper. Enabling zypper repositories is closest to rug's subscription | + | 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 service. Use zypper lr (or zypper ca) to list available | |
+ | repositories. | ||
rug unsubscribe | rug unsubscribe | ||
− | See subscribe above, with the difference that -d will be used instead of -e in the zypper mr command. | + | See subscribe above, with the difference that -d will be used instead of -e in the zypper |
+ | mr command. | ||
Zeile 1.753: | Zeile 1.849: | ||
-y, --no-confirm | -y, --no-confirm | ||
− | Don't require user interaction. This option is implemented using zypper's non-interactive mode. | + | Don't require user interaction. This option is implemented using zypper's non- |
+ | interactive mode. | ||
--agree-to-third-party-licenses | --agree-to-third-party-licenses | ||
Zeile 1.759: | Zeile 1.856: | ||
-R, --force-resolution <on|off> | -R, --force-resolution <on|off> | ||
− | This | + | 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> | --entire-catalog <catalog> | ||
− | This | + | This option serves for marking all packages from specified catalog for installa- |
− | + | tion. This is achieved by simulating 'zypper in --from <repo> '*''. | |
Zeile 1.772: | Zeile 1.869: | ||
-y, --no-confirm | -y, --no-confirm | ||
− | Don't require user interaction. This option is implemented using zypper's non-interactive mode. | + | Don't require user interaction. This option is implemented using zypper's non- |
+ | interactive mode. | ||
-R, --force-resolution <on|off> | -R, --force-resolution <on|off> | ||
− | This option is not available in rug and zypper uses the 'force-resolution' solver mode by default | + | 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. | |
Zeile 1.784: | Zeile 1.882: | ||
-y, --no-confirm | -y, --no-confirm | ||
− | Don't require user interaction. This option is implemented using zypper's non-interactive mode. | + | Don't require user interaction. This option is implemented using zypper's non- |
+ | interactive mode. | ||
Zeile 1.790: | Zeile 1.889: | ||
zypper update (up) [package] ... | zypper update (up) [package] ... | ||
− | Zypper interprets the update command arguments as repository identifiers in | + | Zypper interprets the update command arguments as repository identifiers in rug-compati- |
− | + | bilty mode. The update operation is restricted to the specified repositories. | |
-y, --no-confirm | -y, --no-confirm | ||
− | Don't require user interaction. This option is implemented using zypper's non-interactive mode. | + | Don't require user interaction. This option is implemented using zypper's non- |
+ | interactive mode. | ||
--agree-to-third-party-licenses | --agree-to-third-party-licenses | ||
Zeile 1.800: | Zeile 1.900: | ||
-R, --force-resolution <on|off> | -R, --force-resolution <on|off> | ||
− | This option is not available in rug and zypper uses the 'force-resolution' solver mode by default | + | 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. | |
-d, --downloade-only | -d, --downloade-only | ||
Zeile 1.818: | Zeile 1.918: | ||
-t, --type | -t, --type | ||
− | In rug compatibility mode the --type option defaults to package. Zypper searches all package types | + | In rug compatibility mode the --type option defaults to package. Zypper searches |
− | + | all package types by default. | |
--sort-by-catalog | --sort-by-catalog | ||
− | Sort packages by catalog, not by name. This option is an alias to zypper's --sort-by-repo option. | + | Sort packages by catalog, not by name. This option is an alias to zypper's |
+ | --sort-by-repo option. | ||
Zeile 1.844: | Zeile 1.945: | ||
zypper ping | zypper ping | ||
− | This command just returns 0 without producing any output or doing anything to the system. Rug's ping | + | This command just returns 0 without producing any output or doing anything to the system. |
− | + | Rug's ping command is used to wake up the ZLM daemon or to check whether it is up and run- | |
− | + | ning. Since zypper does no require ZLM or any other daemon to run, it is safe to always | |
− | + | return 0 here to indicate it is ready for operation. | |
Other Compatibility Notes | Other Compatibility Notes | ||
-c, --catalog <catalog> | -c, --catalog <catalog> | ||
− | This | + | 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. | |
-N, --dry-run | -N, --dry-run | ||
− | Zypper uses -D shorthand for this option, but -N is | + | Zypper uses -D shorthand for this option, but -N is provided for the sake of compatibil- |
− | + | ity. Zypper (libzypp) implements this option by passing the --test option to rpm. The | |
− | + | option is used in install, remove, update, dist-upgrade (not available in rug), and verify | |
+ | commands. | ||
Zeile 1.879: | Zeile 1.981: | ||
− | zypper | + | zypper 1.5.1 zypper(8) |
</nowiki> | </nowiki> | ||
Version vom 25. November 2013, 15:12 Uhr
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.9.3 |
zypper(8) System Tools zypper(8) NAME zypper - Command-line interface to ZYpp system management library (libzypp) SYNTAX zypper [--global-opts] <command> [--command-opts] [command-arguments] zypper help [command] DESCRIPTION zypper is a command-line interface to ZYpp system management library. 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 man- agement library, but there are some zypper specifics. Repositories Libzypp works with package metadata, that 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 intented to manipulate repositories. Also many com- mands and options take a repository as an arugment. See section COMMANDS, subsection Repository Management for more details. Resource Identfiers (URI) To specify locations of repositories or other resources (RPM files, .repo files) you can use any type of URIs supported by libzypp. See http://en.opensuse.org/openSUSE:Libzypp_URIs for a com- plete list and usage examples. 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. For example: obs://server:http/openSUSE_11.3. If platform is omitted, zypper.conf's obs.platform value is used. See also other options in the [obs] section of zypper.conf. In addition to these URIs you can use plain directory and file paths in which case zypper auto- matically treats them as dir:/path URIs. Refresh Refreshing a repository means downloading metadata of packages from the medium (if needed), stor- ing 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 metada 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 only one type of services, the Repository Index Service (RIS). 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 parame- ters 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 http://old-en.opensuse.org/Standards/Repository_Index_Service for more details. Package Types zypper works with several types of resource objects, called resolvables. A resolvable is a pack- age, patch, pattern, or a product. package - an ordinary RPM package. patch - update of one or more packages. A patch can include special scripts and messages to be run or shown during 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. These type names can be used as arguments of --type option in several commands like install, info, or search. Package Dependencies Software packages depend on each other in various ways. Packages usually require or recommend other packages, 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. 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 com- mands 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. 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 (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 exists. Long as well as short variants of the command names can be used. For your convenience, zypper help can be invoked in any of the following ways: $ zypper help [command] $ 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 (open- SUSE 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 reposito- ries 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 pack- age types. --requires Show also symbols required and pre-required by the package. Available for package and patch type only. --recommends Show also symbols recommended by the package. Available for package and patch type only. Examples: Show information about package 'workrave': $ zypper info workrave Show information about patch 'libzypp': $ zypper info -t patch libzypp Show information about pattern 'lamp_server': $ zypper info -t 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. Capability is: NAME, or "NAME[.ARCH][OP<EDITION>]", where ARCH is architecture code, OP is <, <=, =, >=, 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 will report packages that it cannot find. Further, in interactive mode, zypper pro- ceeds 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 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 download the files into its cache directory (/var/cache/zypper/RPMS), add this directory as a temporary plaindir repository and mark the respective packages for instal- lation. In the install command, you can specify also packages you wish to remove in addition to the packages you wish to install, by prepending their names by a '-' or '~' character. For example: $ zypper install vim -emacs $ zypper remove emacs +vim will both install vim and remove emacs. 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. -t, --type <type> Type of package to install (default: package). See section Package Types for list of available package types. If pattern is specified, and the pattern is not yet installed, all packages required and recommended by the pattern will be installed. A pattern is considered installed if all the packages and patterns it requires are installed. Thus a pattern can be evalueated as installed even if you do not install the pattern itself, but rather the packages it requries. Use zypper search -t pattern [name] to look for available 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 way to ensure that specific bug fix is installed. Like patterns, patches can also be evaluated as 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 -t product [name] to look for available products and zypper info -t product <name> to display detailed information about a product. -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 administators installing the same set of packages on multiple machines (by an automated process) and have the licenses confirmed before. --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. --no-recommends By default, zypper installs also packages recommended by the requested ones. This option causes the recomended packages to be ignored and only the required ones to be installed. -R, --no-force-resolution Do not force the solver to find a solution. Instead, report dependency problem and prompt the user to resolve it manually. --force-resolution Force the solver to find a solution, even if it would mean removing all packages with unfulfilled requirements. The default behavior is 'force' in the interactive mode and 'no-force' in the non-interac- tive mode. If this option is specified, it takes the preference. -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. 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 (Not yet implemented, currently the same as --download-in-advance). 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 package in advance, which combines the advantages of --download-in-advance and --download-as-needed. This is the default mode. --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. More examples: Install lamp_server pattern: $ zypper install -t pattern lamp_server Install GhostScript viewer, but ignore recommended packages: $ zypper install --no-recommends gv Install version 2.0.6 of virtualbox-ose package (any of the following): $ zypper install virtualbox-ose-2.0.6 $ zypper install virtualbox-ose=2.0.6 $ zypper install virtualbox-ose = 2.0.6 source-install (si) <name> ... Install specified source packages and their build dependencies. If the name of a binary package is given, 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 install them and the packages that are required to build the source package. 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: Install build dependencies of dbus-1 source package: $ zypper si -d dbus-1 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. --no-recommends By default, zypper installs also packages recommended by the requested ones (the ones needed to fix broken dependencies in this case). This option causes the recomended pack- ages to be ignored and only the required ones to be installed. -D, --dry-run Test the repair, do not actually do anything to the system. -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. --debug-solver Create solver test case for debugging. See the install command for details. install-new-recommends (inr) [options] Install newly added packages recommended by already installed ones. This can typically be used to install language packages recently added to repositories or drivers for newly added hardware. -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. --debug-solver Create solver test case for debugging. See the install command for details. This command also accepts the download-and-install mode options described in the install command description. remove (rm) [options] <name> ... remove (rm) [options] --capability <capability> ... Remove (uninstall) packages. 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 pack- age 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 sta- tus 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. -n, --name Select packages by their name (default). -C, --capability Select packages by capabilities. --debug-solver Create solver test case for debugging. See the install command for details. -R, --no-force-resolution Do not force the solver to find a solution. Instead, report dependency problem and prompt the user to resolve it manually. --force-resolution Force the solver to find a solution, even if it would mean removing all packages with unfulfilled requirements. The default behavior is 'force' in the interactive mode and 'no-force' in the non-interac- tive mode. If this option is specified, it takes the preference. -u, --clean-deps Automatically remove dependencies which become unneeded after removal of requested pack- ages. -U, --no-clean-deps No automatic removal of unneeded dependencies. -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. 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 pack- age 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, regardles 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 sepa- rate 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 pack- age types. If patch is specified, zypper acts as if the patche 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. -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 administators installing the same set of packages on multiple machines (by an automated process) and have the licenses confirmed before. --debug-solver Create solver test case for debugging. See the install command for details. --no-recommends By default, zypper installs also packages recommended by the requested ones. This option causes the recomended packages to be ignored and only the required ones to be installed. -R, --no-force-resolution Do not force the solver to find a solution. Instead, report dependency problem and prompt the user to resolve it manually. --force-resolution Force the solver to find a solution, even if it would mean removing all packages with unfulfilled requirements. The default behavior is 'no-force'. If this option is specified, it takes the preference. -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. --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. This command also accepts the download-and-install mode options described in the install command description. list-patches (lp) [options] List all available needed patches. 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 using '=' instead of a space. -b, --bugzilla[=#] List available needed patches for all Bugzilla issues, or issues whose number matches the given string. --cve[=#] List available needed patches for all CVE issues, or issues whose number matches the given string. -g, --category <category> List available patches in the specified category. --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 relevant and needed 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. -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. -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'. -b, --bugzilla <#> Install patch fixing a Bugzilla issue specified by number. Use list-patches --bugzilla command to get a list of available needed patches for specific issues. --cve <#> Install patch fixing a MITRE's CVE issue specified by number. Use list-patches --cve com- mand to get a list of available needed patches for specific issues. -g, --category <category> Install all patches in the specified category. Use list-patches --category command to get a list of available patches for a specific category. -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 Skip interactive patches. --with-interactive Avoid skipping of interactive patches when in non-interactive mode. -l, --auto-agree-with-licenses See the update command for description of this option. --no-recommends By default, zypper installs also packages recommended by the requested ones. This option causes the recomended packages to be ignored and only the required ones to be installed. --debug-solver Create test case for debugging of dependency resolver. -D, --dry-run Test the update, do not actually update. 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 depen- dency 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 defined repositories. This can be a problem if the system contains conflicting repositories, like repositories for two different distribution releases. This often hap- pens 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 --from or --repo options. The difference between these two is that when --repo is used, zypper uses only the specified repositories, while with --from zypper can also use the rest of the enabled repositories to satisfy package dependencies. --from <alias|name|#|URI> Restricts the upgrade to the specified repositories (the option can be used multiple times) only, but can satisfy dependencies also from the rest of enabled repositories. -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. -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 administators installing the same set of packages on multiple machines (by an automated process) and have the licenses confirmed before. --no-recommends By default, zypper installs also packages recommended by the requested ones. This option causes the recomended packages to be ignored and only the required ones to be installed. --debug-solver Create solver test case for debugging. See the install command for details. -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. This command also accepts the download-and-install mode options described in the install command description. Examples: Upgrade the system using 'factory' and 'packman' repository: $ zypper install zypper libzypp $ zypper dup --from factory --from packman Query Commands search (se) [options] [querystring|capability] ... Search for packages matching any of the given strings. * (any substring) and ? (any char- acter) 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: $ zypper se 'libgcc>4.6'. Results of search are printed in a table with following columns: S (status), Catalog, Type (type of package), Name, Version, Arch (architecture). The status column can contain the following values: i - installed, v - another version installed, or an empty space for nei- ther of the former cases. The 'v' status is only shown if the version or the repository matters (--details or --repo is used), and the installed version differs from the one listed or is from a repository other than specified. 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. --match-exact Searches for an exact name of the package. --provides Search for packages which provide the search strings. A search string here might be also any symbol provided by a package like /bin/vi, libcurl.so.3, perl(Time::ParseDate), web_browser, e.g. search for the package which provides the shell: zypper se --provides /bin/sh --requires Search for packages which require the search strings. A search string here might be also any symbol required by a package, e.g. all packages which require the snapper library: zypper se --requires libsnapper.so --recommends Search for packages which recommend the search strings, e.g. zypper se --recommends usb_modeswitch --suggests Search for packages which suggest the search strings, e.g. zypper se --suggests acroread --conflicts Search for packages conflicting with the search strings, e.g. zypper se --conflicts aspell-hi --obsoletes Search for packages wich obsolete the search strings, e.g. zypper se --obsoletes efence -n, --name Useful together with dependency options, otherwise searching in package name is default. -f, --file-list Search in file list of packages. -d, --search-descriptions Search also in summaries and descriptions. -C, --case-sensitive Perform case-sensitive search. -i, --installed-only Show only packages that are already installed. -u, --uninstalled-only Show only packages that are not currently installed. -t, --type <type> Search only for packages of specified type. See section Package Types for list of avail- able package types. Multiple -t option 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 catalog, not by name. -s, --details Show all available versions of found packages, each version in each repository on a sepa- rate line. -v, --verbose Like --details with additional information where the search has matched (useful when searching for dependencies, e.g. --provides). Examples: Search for YaST packages (quote the string to prevent the shell from expanding the wild- card): $ zypper se 'yast*' Show all available versions of package 'kernel-default': $ zypper se -s --match-exact kernel-default Look for RSI acronym (case-sensitively), also in summaries and descriptions: $ zypper se -dC --match-words RSI packages (pa) [options] [repository] ... List all available packages or all packages from specified repositories (similar to zypper search -s -t package). Also allows the options --orphaned, --suggested, --recommended and --unneeded to get corresponding lists of packages. -r, --repo <alias|name|#|URI> Just another means to specify repositories. -i, --installed-only Show only installed packages. -u, --uninstalled-only Show only packages which are not installed. -o, --orphaned Show packages which are orphaned (without repository). -s, --suggested Show packages which are suggested. -r, --recommended Show packages which are recommeded. -n, --unneeded Show packages which are unneeded. patches (pch) [options] [repository] ... List all available patches from specified repositories, including those not needed. Simi- lar to zypper search -s -t patch. -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 zyp- per search -s -t pattern. -r, --repo <alias|name|#|URI> Just another means to specify repositories. -i, --installed-only Show only installed patterns. -u, --uninstalled-only Show only patterns which are not installed. products (pd) [options] [repository] ... List all available products or all products from specified repositories. Similar to zyp- per 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, --uninstalled-only Show only products which are not installed. what-provides (wp) <capability> List all packages providing the specified capability. See also the install command for hint about capabilities. what-provides is replaced by the search command, which now has the functionality to search for dependencies (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' Repository Management Zypper is able to work with YaST, RPM-MD (yum) software repositories, and plain directories con- taining .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. Supported URI formats: 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 direc- tory (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. 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 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 speci- fying 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&filesys- tem=udf NFS exported directory tree To use NFSv4 either use schema tnfsv4:// or pass an optional parameter type=nfs4. Addi- tional 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://usenr: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 Apart from the above, repositories have several other properties which can be set using the com- mands described in this section below, or by manually editing the repository definition files (.repo files, see section FILES). 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 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. See also METADATA REFRESH POLICY section for more details. -r, --repo <file.repo> Read URI and alias from specified .repo file -t, --type <type> Type of repository (yast2, rpm-md, or plaindir). There are several aliases defined for these types: yast2 - susetags, yast, YaST, YaST2, YAST; rpm-md - repomd, rpmmd, yum, YUM; plaindir - Plaindir. -d, --disable Add the repository as disabled. Repositories are added as enabled by default. -c, --check Probe given URI. -C, --nocheck Don't probe URI, probe later during refresh. -n, --name Specify descriptive name for the repository. -k, --keep-packages Enable RPM files caching for the repository. -K, --no-keep-packages Disable RPM files caching. -f, --refresh Enable autorefresh of the repository. The autorefresh is disabled by default when adding new repositories. Examples: Add an HTTP repository, probe it, name it 'Packman 11.1 repo', and use 'packman' as alias: $ zypper ar -c -n 'Packman 11.1 repo' http://packman.iu-bremen.de/suse/11.1 packman Add repositories from a repo file: $ zypper ar http://download.opensuse.org/repositories/zypp:/svn/openSUSE_Fac- tory/zypp:svn.repo $ zypper ar myreposbackup.repo removerepo (rr) [options] <alias|name|#|URI> ... Delete repositories specified by aliases, names, numbers or URIs. --loose-auth Ignore user authentication data in the URI --loose-query Ignore query string in the URI repos (lr) [options] [repo] ... List all defined repositories or show detailed information about those specified as argu- ments The following data can be printed for each repository found on the sytem: # (repository number), Alias (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 com- mand line options listed below and the main.repoListColumns setting 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, 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 repos- itories 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: Backup your repository setup: $ zypper repos -e myreposbackup.repo List repositories with their URIs and priorities: $ zypper lr -pu renamerepo (nr) <alias|name|#|URI> <new-alias> Assign new alias to the repository specified by alias, name, number, or URI. Example: Rename repository number 8 to 'myrepo' (useful if the repo has some dreadful alias which is not usable on the command line). $ zypper nr 8 myrepo 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. -e, --enable Enable the repository. -d, --disable Disable the repository. -r, --refresh Enable auto-refresh for the repository. -R, --no-refresh Disable auto-refresh for the repository. -p, --priority <positive-integer> Set priority of the repository. Priority of 1 is the highest, the higher the number the lower the priority. Default priority is 99. Packages from repositories with higher prior- ity will be preferred even in case there is a higher installable version available in the repository with a lower priority. -n, --name Set a descriptive name for the repository. -k, --keep-packages Enable RPM files caching. -K, --no-keep-packages Disable RPM files caching. -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: Enable keeping of packages for all remote repositories: $ zypper mr -kt Enable repository 'updates' and switch on autorefresh for the repo: $ zypper mr -er updates Disable all repositories: $ zypper mr -da 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. See also METADATA REFRESH POLICY section for more details. -f, --force Force a complete refresh of specified repositories. This option will cause both the down- load 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 down- load 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 refereshed 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. This command also allows to add also ordinary repositories when used with --type option, where you specify the type of the repository. See the addrepo command for the list of sup- ported repository types. -t, --type <TYPE> Type of the service (possible values: ris). There are several aliases defined for this type: ris - RIS, nu, NU -d, --disable Add the service as disabled. -n, --name Specify descriptive name for the service. removeservice (rs) [options] <alias|name|#|URI> ... Remove specified repository index service from the sytem. Removing an RIS service will result in removing 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. -d, --disable Disable the service (but don't remove it). -e, --enable Enable a disabled service. -r, --refresh Enable auto-refresh of the service. -R, --no-refresh Disable auto-refresh of the service. -n, --name Set a descriptive name for 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 service owning (manually) enabled repositories is 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 mean executing the service's special task. RIS services add, remove, or modify repositories on your system based on current content of the repository index. Services only manage defined repositories, they do not refresh them. To refresh also repositories, use --with-repos option or the refresh command. -r, --with-repos Refresh also repositories. TODO more info 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. 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 zyp- per 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. 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- arch. The string is determined by libzypp, the distroname is read from <current-root- dir>/etc/products.d/baseproduct and the architecture is determined from uname and CPU flags. licenses Prints a report about licenses and EULAs 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 redistributiong a custom distribution (like appliances) to figure out what licenses they are bound by. 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 then use files meanwhile deleted by the upgrade. zypper ps lists these processes, together with the corresponding 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 * 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 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 GLOBAL OPTIONS -h, --help Help. If a command is specified together with --help option, command specific help is dis- played. -V, --version Print zypper version number and exit. -c, --config <file> 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 * --config <file> [ /etc/zypp/zypp.conf ] (system-wide defaults for all libzypp based applications) 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 --ver- bose option takes preference. -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. Currently not used and provided only for compatibil- ity with rug. -s, --table-style Specifies table style to use. Table style is identified by an integer number. TODO -r, --rug-compatible Turns on rug compatibility. See section COMPATIBILITY WITH RUG for details. -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. 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 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. -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-pack- ages) 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 zyp- per prints and logs a warning and automatically continues without interrupting the opera- tion. Use this option with caution, as you can easily overlook security problems by using it. --gpg-auto-import-keys If new repository signing key is found, do not ask what to do; trust and import it auto- matically. 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. --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-sys- tem-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 reposito- ries were not defined at all. 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. Note that the ZYpp lock is still created in the original system, as well as temporary files. See also the FILES sec- tion. --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. 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 prefered over global settings. Similarly, command line options over- ride the settings in either of these files. To sum it up, the order of preference is as follows (from highest to lowest): * Command line options * $HOME/.zypper.conf * /etc/zypp/zypper.conf [ /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. /etc/zypp/zypp.conf ZYpp configuration file affecting all libzypp based applications. See the comments in the file for desciption 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. This directory is used by all ZYpp-based applications. You can use the --reposd-dir global option to use an alternative directory for this pur- pose or the --root option to make this directory relative to the specified root directory. /etc/zypp/services.d Directory containing service definition (*.service) files. You can use the Service Man- agement Commands to manipulate theese files, or you can edit them youself. Running zypper refs is recommended after modifications have been done. This directory is used by all ZYpp-based applications. /var/cache/zypp/raw Directory for storing raw metadata contained in repositories. This directory is used by all ZYpp-based 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 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 shell. EXIT CODES There are several exit codes defined for zypper for use e.g. within scripts. These codes are defined in header file src/zypper-main.h found in zypper source package. Codes from interval (1-5) denote an error, numbers (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 Successfull run of zypper with no special info. 1 - ZYPPER_EXIT_ERR_BUG Unexpected situation occured, 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. 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 installa- tion. 102 - ZYPPER_EXIT_INF_REBOOT_NEEDED Returned after a successfull installation of a patch which requires reboot of computer. 103 - ZYPPER_EXIT_INF_RESTART_NEEDED Returned after a successfull 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. COMPATIBILITY WITH RUG zypper is designed to be compatible with rug, which is a command-line interface to the ZENworks Linux Management (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 com- mand. Service Management Commands ZENworks uses different terminology than ZYpp. ZLM services are ZYpp's repositories and services. Additionally some ZLM services can contain catalogs (rpmmd-type repositories in ZYpp speak). Zypper tries to mimick rug's behavior in its service handling commands when used with the -r global option. It also supports the --catalog option for specifying catalogs to work with in cur- rent operation (this is an alias for zypper's --repo option). rug service-add (sa) zypper addservice (as) When used with -r global option, this command probes the type of service or repository at the specified URI, if not explicitly specified. Without -r option the URI is not accessed at all and the URI is added as ZYpp service. rug service-delete (sd) zypper removeservice (rs) rug service-list (sl) zypper services (ls) rug catalogs (ca) zypper repos (lr) zypper doesn't include 'Enabled' and 'Refresh' columns and prints rug's 'Status' column with values "Active" or "Disabled" instead. rug subscribe 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 service. Use zypper lr (or zypper ca) to list available repositories. rug unsubscribe See subscribe above, with the difference that -d will be used instead of -e in the zypper mr command. Package Management Commands rug install (in) zypper install (in) -y, --no-confirm Don't require user interaction. This option is implemented using zypper's non- interactive mode. --agree-to-third-party-licenses This option is an alias to zypper's --auto-agree-with-licenses option. -R, --force-resolution <on|off> 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> This option serves for marking all packages from specified catalog for installa- tion. This is achieved by simulating 'zypper in --from <repo> '*''. rug remove (rm) zypper remove (rm) -y, --no-confirm Don't require user interaction. This option is implemented using zypper's non- interactive mode. -R, --force-resolution <on|off> 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. rug verify (ve) zypper verify (ve) -y, --no-confirm Don't require user interaction. This option is implemented using zypper's non- interactive mode. rug update (up) [catalog] ... zypper update (up) [package] ... Zypper interprets the update command arguments as repository identifiers in rug-compati- bilty mode. The update operation is restricted to the specified repositories. -y, --no-confirm Don't require user interaction. This option is implemented using zypper's non- interactive mode. --agree-to-third-party-licenses This option is an alias to zypper's --auto-agree-with-licenses option. -R, --force-resolution <on|off> 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. -d, --downloade-only This option has currently no effect. --category This option has currently no effect. rug search (se) zypper search (se) Instead of the Type column, rug's Bundle column is printed, however, with no contents. -t, --type In rug compatibility mode the --type option defaults to package. Zypper searches all package types by default. --sort-by-catalog Sort packages by catalog, not by name. This option is an alias to zypper's --sort-by-repo option. Patch Management Commands rug patch-info zypper info -t patch Pattern Management Commands rug pattern-info zypper info -t pattern Product Management Commands rug product-info zypper info -t product System Commands rug ping zypper ping This command just returns 0 without producing any output or doing anything to the system. Rug's ping command is used to wake up the ZLM daemon or to check whether it is up and run- ning. Since zypper does no require ZLM or any other daemon to run, it is safe to always return 0 here to indicate it is ready for operation. Other Compatibility Notes -c, --catalog <catalog> 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. -N, --dry-run Zypper uses -D shorthand for this option, but -N is provided for the sake of compatibil- ity. Zypper (libzypp) implements this option by passing the --test option to rpm. The option is used in install, remove, update, dist-upgrade (not available in rug), and verify commands. HOMEPAGE http://en.opensuse.org/Portal:Zypper AUTHORS Martin Vidner <mvidner@suse.cz> Duncan Mac-Vicar <dmacvicar@suse.de> Jan Kupec <jkupec@suse.cz> Stanislav Visnovsky <visnov@suse.cz> Josef Reidinger <jreidinger@suse.cz> SEE ALSO rug(1), YaST2(8), locks(5), zypper-log(8) zypper 1.5.1 zypper(8)