Zypper also provides limited support for writing
extensions/subcommands in any language. See section SUBCOMMANDS for
details.
info (if) [options] name...
Displays detailed information about the specified
packages. + For each specified package, zypper finds the best available
version in defined repositories and shows information for this package.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number or URI. This option can be used multiple times.
-t, --type type
Type of package (default: package). See section
Package Types for list of available package types.
--provides
Show symbols the package provides.
--requires
Show symbols the package requires.
--conflicts
Show symbols the package conflicts with.
--obsoletes
Show symbols the package obsoletes.
--recommends
Show symbols the package recommends.
--suggests
Show symbols the package suggests.
--supplements
Show symbols the package supplements.
Examples:
$ zypper info workrave
Show information about package workrave
$ zypper info -t patch libzypp
Show information about patch libzypp
$ zypper info -t pattern lamp_server
Show information about pattern lamp_server
install (in) [options]
name|capability|rpm_file_uri...
Install or update packages.
The packages can be selected by their name or by a
capability they provide.
+ A capability is formed by
"NAME[.’ARCH'][ OP EDITION]", where
ARCH is an architecture code, OP is one of <,
<=, =, >=, or > and EDITION is
"VERSION[-’RELEASE']". For example:
zypper=0.8.8-2 + The NAME component of a capability is not only
a package name but any symbol provided by packages: /bin/vi,
libcurl.so.3, perl(Time::ParseDate). Just remember to quote to
protect the special characters from the shell, for example:
zypper\>0.8.10 or 'zypper>0.8.10'. + If EDITION is
not specified, the newest installable version will be installed. This also
means that if the package is already installed and newer versions are
available, it will get upgraded to the newest installable version. + If
ARCH is not specified, or the last dot of the capability name string is
not followed by known architecture, the solver will treat the whole string as
a capability name. If the ARCH is known, the solver will select a package
matching that architecture and complain if such package cannot be found.
Zypper is also able to install plain RPM files while trying
to satisfy their dependencies using packages from defined repositories. You
can install a plain RPM file by specifying its location in the install
command arguments either as a local path or an URI. E.g.:
+ $ zypper install ~/rpms/foo.rpm
<http://some.site/bar.rpm>. +
Zypper will report packages that it cannot find. Further, in interactive
mode, zypper proceeds with installation of the rest of requested packages, and
it will abort immediately in non-interactive mode. In both cases zypper
returns ZYPPER_EXIT_INF_CAP_NOT_FOUND after finishing the
operation. + Zypper will collect the files in a temporary
plaindir repository and mark the respective packages for
installation. If --download-only is used, the downloaded
packages will be available in /var/cache/zypper/RPMS until you
actually install them or call zypper clean to clear the package
caches.
In the install command, you can also specify packages you wish to
remove by prepending their names by a - or ! character. For
example:
+ $ zypper install \!Firefox + In contrast
to zypper remove Firefox which removes Firefox and its dependent
packages, the install command will try to keep dependent packages installed by
looking for Firefox alternatives. + Note that if you choose to use -
with the first package you specify, you need to write -- before it to
prevent its interpretation as a command option: + $ zypper install
-- -boring-game great-game great-game-manual
-r, --repo alias|name|#|URI
Work only with the repository specified by the alias,
name, number or URI. This option can be used multiple times. + Using --repo is
discouraged as it currently hides unmentioned repositories from the
resolver, leading to inexpertly decisions. In the future --repo will become an
alias for --from.
-t, --type type
Type of package to install (default: package). See
section Package Types for list of available package types. Use
zypper se -t type [name] to look for
available items of this type and zypper info -t type
name to display more detailed information about the item. +
If patch is specified, zypper will install and/or remove
packages to satisfy specified patch. This is a way to ensure that specific bug
fix is installed. Use zypper list-patches to look for applicable
patches. + If product or pattern are
specified, zypper ensures that all required (and optionally recommended)
packages are installed.
-n, --name
Select packages by their name, don’t try to select
by capabilities.
-f, --force
Install even if the item is already installed
(reinstall), downgraded or changes vendor or architecture.
--oldpackage
Allows one to replace a newer item with an older one.
Handy if you are doing a rollback. Unlike --force it will not enforce a
reinstall, if the item is already installed with the requested version.
--from alias|name|#|URI
Select packages from specified repository. If strings
specified as arguments to the install command match packages in repositories
specified in this option, they will be marked for installation. This option
currently implies --name, but allows using wildcards for specifying
packages.
-C, --capability
Select packages by capabilities.
-l, --auto-agree-with-licenses
Automatically say yes to third party license
confirmation prompt. By using this option, you choose to agree with licenses
of all third-party software this command will install. This option is
particularly useful for administrators installing the same set of packages on
multiple machines (by an automated process) and have the licenses confirmed
before.
--auto-agree-with-product-licenses
Automatically accept product licenses only. This is used
by tools like SUSEconnect, which ask for confirmation before the product gets
registered. So there’s no need to confirm the product license again at
install time.
--replacefiles
Install the packages even if they replace files from
other, already installed, packages. Default is to treat file conflicts as an
error. --download-as-needed disables the file conflict check because
access to all packages file lists is needed in advance in order to perform the
check.
-D, --dry-run
Test the installation, do not actually install any
package. This option will add the --test option to the rpm commands run
by the install command.
--details
Show the detailed installation summary.
-y, --no-confirm
Don’t require user interaction. Alias for the
--non-interactive global option.
--allow-unsigned-rpm
Silently install unsigned rpm packages given as
commandline parameters.
Solver related options:
--debug-solver
Create solver test case for debugging. Use this option,
if you think the dependencies were not solved all right and attach the
resulting /var/log/zypper.solverTestCase directory to your bug report. To use
this option, simply add it to the problematic install or remove command.
--force-resolution
Force the solver to find a solution by allowing to remove
packages with unfulfilled requirements. This is the default when removing
packages (zypper remove). This option overrides
--no-force-resolution in case both are specified on the command
line.
-R, --no-force-resolution
Do not force the solver to find a solution. Instead,
report dependency problems and prompt the user to resolve them manually. This
is the default except when removing packages (zypper remove).
--recommends
Install also recommended packages in addition to the
required ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
--no-recommends
Do not install recommended packages, but only required
ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
Download-and-install mode options:
-d, --download-only
Only download the packages for later installation.
--download-in-advance
First download all packages, then start installing.
--download-in-heaps
Download a minimal set of packages that can be installed
without leaving the system in broken state, and install them. Then download
and install another heap until all are installed. This helps to keep the
system in consistent state without the need to download all packages in
advance, which combines the advantages of --download-in-advance and
--download-as-needed. This is the default mode. + NOTE: While the
resolver is not capable of building heaps, this behaves the same as
--download-in-advance.
--download-as-needed
Download one package, install it immediately, and
continue with the rest until all are installed.
--download mode
Use the specified download-and-install mode. Available
modes are: only, in-advance, in-heaps, as-needed.
See corresponding --download-’mode' options for their
description.
Expert Options:
Don’t use them unless you know you need
them.
--[no-]allow-downgrade
Whether to allow downgrading installed resolvables.
--[no-]allow-name-change
Whether to allow changing the names of installed
resolvables. Setting this to no will not replace packages which have
been renamed.
--[no-]allow-arch-change
Whether to allow changing the architecture of installed
resolvables.
--[no-]allow-vendor-change
Whether to allow changing the vendor of installed
resolvables. Setting this to no might be useful if you do not want
packages from foreign repos being changed to the distributions version (or
vice versa).
Examples:
$ zypper install -t pattern lamp_server
Install lamp_server pattern.
$ zypper install --no-recommends gv
Install GhostScript viewer, but ignore recommended
packages.
$ zypper install virtualbox-ose-2.0.6
$ zypper install virtualbox-ose=2.0.6
$ zypper install virtualbox-ose = 2.0.6
Install version 2.0.6 of virtualbox-ose package.
source-install (si) name...
Install specified source packages and their build
dependencies. If the name of a binary package is given, the corresponding
source package is looked up and installed instead. + This command will try to
find the newest available versions of the source packages and uses
rpm
-i to install them, optionally together with all the packages that are
required to build the source package. The default location where rpm installs
source packages to is
/usr/src/packages/{SPECS,SOURCES}, but the values
can be changed in your local rpm configuration. In case of doubt try executing
rpm --eval "%{_specdir} and %{_sourcedir}". + Note that the
source packages must be available in repositories you are using. You can check
whether a repository contains any source packages using the following command:
$ zypper search -t srcpackage -r
alias|name|#|URI
-d, --build-deps-only
Install only build dependencies of specified
packages.
-D, --no-build-deps
Don’t install build dependencies.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. This option can be used multiple times.
--download-only
Only download the packages, do not install.
Examples:
$ zypper si -d dbus-1
Install build dependencies of dbus-1 source
package.
verify (ve) [options]
Check whether dependencies of installed packages are
satisfied. + In case that any dependency problems are found, zypper suggests
packages to install or remove to fix them.
-D, --dry-run
Test the repair, do not actually do anything to the
system.
--details
Show the detailed installation summary.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. This option can be used multiple times.
-y, --no-confirm
Don’t require user interaction. Alias for the
--non-interactive global option.
Solver related options:
--debug-solver
Create solver test case for debugging. Use this option,
if you think the dependencies were not solved all right and attach the
resulting /var/log/zypper.solverTestCase directory to your bug report. To use
this option, simply add it to the problematic install or remove command.
--force-resolution
Force the solver to find a solution by allowing to remove
packages with unfulfilled requirements. This is the default when removing
packages (zypper remove). This option overrides
--no-force-resolution in case both are specified on the command
line.
-R, --no-force-resolution
Do not force the solver to find a solution. Instead,
report dependency problems and prompt the user to resolve them manually. This
is the default except when removing packages (zypper remove).
--recommends
Install also recommended packages in addition to the
required ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
--no-recommends
Do not install recommended packages, but only required
ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
Expert Options:
Don’t use them unless you know you need
them.
--[no-]allow-downgrade
Whether to allow downgrading installed resolvables.
--[no-]allow-name-change
Whether to allow changing the names of installed
resolvables. Setting this to no will not replace packages which have
been renamed.
--[no-]allow-arch-change
Whether to allow changing the architecture of installed
resolvables.
--[no-]allow-vendor-change
Whether to allow changing the vendor of installed
resolvables. Setting this to no might be useful if you do not want
packages from foreign repos being changed to the distributions version (or
vice versa).
This command also accepts the Download-and-install mode
options described in the install command.
install-new-recommends (inr) [options]
Install newly added packages recommended by already
installed ones. This 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.
--details
Show the detailed installation summary.
Solver related options:
--debug-solver
Create solver test case for debugging. Use this option,
if you think the dependencies were not solved all right and attach the
resulting /var/log/zypper.solverTestCase directory to your bug report. To use
this option, simply add it to the problematic install or remove command.
--force-resolution
Force the solver to find a solution by allowing to remove
packages with unfulfilled requirements. This is the default when removing
packages (zypper remove). This option overrides
--no-force-resolution in case both are specified on the command
line.
-R, --no-force-resolution
Do not force the solver to find a solution. Instead,
report dependency problems and prompt the user to resolve them manually. This
is the default except when removing packages (zypper remove).
Expert Options:
Don’t use them unless you know you need
them.
--[no-]allow-downgrade
Whether to allow downgrading installed resolvables.
--[no-]allow-name-change
Whether to allow changing the names of installed
resolvables. Setting this to no will not replace packages which have
been renamed.
--[no-]allow-arch-change
Whether to allow changing the architecture of installed
resolvables.
--[no-]allow-vendor-change
Whether to allow changing the vendor of installed
resolvables. Setting this to no might be useful if you do not want
packages from foreign repos being changed to the distributions version (or
vice versa).
This command also accepts the Download-and-install mode
options described in the install command.
remove (rm) [options] name...
remove (rm) [options] --capability
capability...
Remove (uninstall) packages. + The remove command will
uninstall the selected and their dependent packages. It will not try to
install alternatives in order to keep dependent packages installed. If you
want this, use
zypper install !name. +
The packages can be selected by their name or by a capability they provide.
For details on package selection see the install command
description.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. This option can be used multiple times.
-t, --type type
Type of package (default: package). See section
Package Types for list of available package types. + Since
patches are not installed in sense of copying files or recording a
database entry, they cannot be uninstalled, even though zypper shows them as
installed. The installed status is determined solely based on the installed
status of its required dependencies. If these dependencies are satisfied, the
patch is rendered installed.
-n, --name
Select packages by their name (default).
-C, --capability
Select packages by capabilities.
-D, --dry-run
Test the removal of packages, do not actually remove
anything. This option will add the --test option to the rpm commands
run by the remove command.
--details
Show the detailed installation summary.
-y, --no-confirm
Don’t require user interaction. Alias for the
--non-interactive global option.
Solver related options:
--debug-solver
Create solver test case for debugging. Use this option,
if you think the dependencies were not solved all right and attach the
resulting /var/log/zypper.solverTestCase directory to your bug report. To use
this option, simply add it to the problematic install or remove command.
--force-resolution
Force the solver to find a solution by allowing to remove
packages with unfulfilled requirements. This is the default when removing
packages (zypper remove). This option overrides
--no-force-resolution in case both are specified on the command
line.
-R, --no-force-resolution
Do not force the solver to find a solution. Instead,
report dependency problems and prompt the user to resolve them manually. This
is the default except when removing packages (zypper remove).
-u, --clean-deps
Automatically remove dependencies which become unneeded
after removal of requested packages.
-U, --no-clean-deps
No automatic removal of unneeded dependencies.
list-updates (lu) [options]
List available updates. + This command will list only
installable updates, i.e. updates which have no dependency problems, or which
do not change package vendor. This list is what the
update command will
propose to install. To list all packages for which newer version are
available, use
--all option.
-t, --type type
Type of package (default: package). See section
Package Types for list of available package types. + If patch is
specified, zypper acts as if the list-patches command was
executed.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. This option can be used multiple times.
-a, --all
List all packages for which newer versions are available,
regardless whether they are installable or not.
--best-effort
See the update command for description.
update (up) [options]
[packagename]...
Update installed packages with newer versions, where
possible. + This command will not update packages which would require change
of package vendor unless the vendor is specified in
/etc/zypp/vendors.d, or which would require manual resolution of
problems with dependencies. Such non-installable updates will then be listed
in separate section of the summary as "
The following package updates
will NOT be installed:". + To update individual packages, specify one
or more package names. You can use the
* and
? wildcard
characters in the package names to specify multiple packages matching the
pattern.
-t, --type type
Type of package (default: package). See section
Package Types for list of available package types. + If patch is
specified, zypper acts as if the patches command was executed.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. This option can be used multiple times.
--skip-interactive
This will skip interactive patches, that is, those that
need reboot, contain a message, or update a package whose license needs to be
confirmed.
--with-interactive
Avoid skipping of interactive patches when in
non-interactive mode.
-l, --auto-agree-with-licenses
Automatically say yes to third party license
confirmation prompt. By using this option, you choose to agree with licenses
of all third-party software this command will install. This option is
particularly useful for administrators installing the same set of packages on
multiple machines (by an automated process) and have the licenses confirmed
before.
--auto-agree-with-product-licenses
Automatically accept product licenses only. This is used
by tools like SUSEconnect, which ask for confirmation before the product gets
registered. So there’s no need to confirm the product license again at
install time.
--replacefiles
Install the packages even if they replace files from
other, already installed, packages. Default is to treat file conflicts as an
error. --download-as-needed disables the fileconflict check because
access to all packages filelists is needed in advance in order to perform the
check.
-D, --dry-run
Test the update, do not actually install or update any
package. This option will add the --test option to the rpm commands run
by the update command.
--details
Show the detailed installation summary.
--best-effort
Do a best effort approach to update. This method
does not explicitly select packages with best version and architecture, but
instead requests installation of a package with higher version than the
installed one and leaves the rest on the dependency solver. This method is
always used for packages, and is optional for products and patterns. It is not
applicable to patches.
-y, --no-confirm
Don’t require user interaction. Alias for the
--non-interactive global option.
Solver related options:
--debug-solver
Create solver test case for debugging. Use this option,
if you think the dependencies were not solved all right and attach the
resulting /var/log/zypper.solverTestCase directory to your bug report. To use
this option, simply add it to the problematic install or remove command.
--force-resolution
Force the solver to find a solution by allowing to remove
packages with unfulfilled requirements. This is the default when removing
packages (zypper remove). This option overrides
--no-force-resolution in case both are specified on the command
line.
-R, --no-force-resolution
Do not force the solver to find a solution. Instead,
report dependency problems and prompt the user to resolve them manually. This
is the default except when removing packages (zypper remove).
--recommends
Install also recommended packages in addition to the
required ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
--no-recommends
Do not install recommended packages, but only required
ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
Expert Options:
Don’t use them unless you know you need
them.
--[no-]allow-downgrade
Whether to allow downgrading installed resolvables.
--[no-]allow-name-change
Whether to allow changing the names of installed
resolvables. Setting this to no will not replace packages which have
been renamed.
--[no-]allow-arch-change
Whether to allow changing the architecture of installed
resolvables.
--[no-]allow-vendor-change
Whether to allow changing the vendor of installed
resolvables. Setting this to no might be useful if you do not want
packages from foreign repos being changed to the distributions version (or
vice versa).
This command also accepts the Download-and-install mode
options described in the install command description.
list-patches (lp) [options]
List all applicable patches. + This command is similar to
zypper list-updates -t patch. + Note that
optional arguments of
some of the following options must be specified using
= instead of a
space.
-b, --bugzilla[='#[,...']]
List applicable patches for all Bugzilla issues, or
issues whose number matches the given string.
--cve[='#[,...']]
List applicable patches for all CVE issues, or issues
whose number matches the given string.
--date YYYY-MM-DD[,...]
List only patches issued up to, but not including, the
specified date.
-g, --category category[,...]
List only patches with this category. See section
Package Types for a list of commonly used category values.
--severity severity[,...]
List only patches with this severity. See section
Package Types for a list of commonly used severity values.
--issues[=’string'[,...]]
Look for issues whose number, summary, or description
matches the specified string. Issues found by number are displayed
separately from those found by descriptions. In the latter case, use
zypper patch-info patchname to get information about
issues the patch fixes.
-a, *--all
By default, only patches that are applicable on your
system are listed. This option causes all available released patches to be
listed. This option can be combined with all the rest of the
list-updates command options.
--with[out]-optional
Whether applicable optional patches should be treated as
needed or be excluded. The default is to exclude optional patches.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. This option can be used multiple times.
patch-check (pchk)
Check for patches. Displays a count of applicable patches
and how many of them have the security category. + See also the
EXIT
CODES section for details on exit status of
0,
100, and
101 returned by this command.
--updatestack-only
Check only for patches which affect the package
management itself.
--with[out]-optional
Whether applicable optional patches should be treated as
needed or be excluded. The default is to exclude optional patches.
-r, --repo
alias|name|#|URI
Check for patches only in the repository specified by the
alias, name, number, or URI. This option can be used multiple times.
patch [options]
Install all available needed patches. + If there are
patches that affect the package management itself, those will be installed
first and you will be asked to run the
patch command again. + This
command is similar to
zypper update -t patch.
--updatestack-only
Install only patches which affect the package management
itself and exit.
--with-update
Additionally try to update all packages not covered by
patches. This is basically the same as running zypper update
afterwards. + The option is ignored, if the patch command must update the
update stack first, thus it can not be combined with the
--updatestack-only option.
--with[out]-optional
Whether applicable optional patches should be treated as
needed or be excluded. The default is to exclude optional patches.
-b, --bugzilla #[,...]
Install patch fixing a Bugzilla issue specified by
number. Use list-patches --bugzilla command to get a list of applicable
patches for specific issues.
--cve #[,...]
Install patch fixing a MITRE’s CVE issue specified
by number. Use list-patches --cve command to get a list of applicable
patches for specific issues.
--date YYYY-MM-DD[,...]
Install only patches issued up to, but not including, the
specified date.
-g, --category category[,...]
Install only patches with this category. Use
list-patches --category command to get a list of available patches with
a specific category. See section Package Types for a list of commonly
used category values.
--severity severity[,...]
Install only patches with this severity. Use
list-patches --severity command to get a list of available patches with
a specific severity. See section Package Types for a list of commonly
used severity values.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. This option can be used multiple times.
--skip-interactive
This will skip interactive patches, that is, those that
need reboot, contain a message, or update a package whose license needs to be
confirmed.
--with-interactive
Avoid skipping of interactive patches when in
non-interactive mode.
-l, --auto-agree-with-licenses
Automatically say yes to third party license
confirmation prompt. By using this option, you choose to agree with licenses
of all third-party software this command will install. This option is
particularly useful for administrators installing the same set of packages on
multiple machines (by an automated process) and have the licenses confirmed
before.
--auto-agree-with-product-licenses
Automatically accept product licenses only. This is used
by tools like SUSEconnect, which ask for confirmation before the product gets
registered. So there’s no need to confirm the product license again at
install time.
--replacefiles
Install the packages even if they replace files from
other, already installed, packages. Default is to treat file conflicts as an
error. --download-as-needed disables the fileconflict check because
access to all packages filelists is needed in advance in order to perform the
check.
-D, --dry-run
Test the update, do not actually update.
--details
Show the detailed installation summary.
-y, --no-confirm
Don’t require user interaction. Alias for the
--non-interactive global option.
Solver related options:
--debug-solver
Create solver test case for debugging. Use this option,
if you think the dependencies were not solved all right and attach the
resulting /var/log/zypper.solverTestCase directory to your bug report. To use
this option, simply add it to the problematic install or remove command.
--force-resolution
Force the solver to find a solution by allowing to remove
packages with unfulfilled requirements. This is the default when removing
packages (zypper remove). This option overrides
--no-force-resolution in case both are specified on the command
line.
-R, --no-force-resolution
Do not force the solver to find a solution. Instead,
report dependency problems and prompt the user to resolve them manually. This
is the default except when removing packages (zypper remove).
--recommends
Install also recommended packages in addition to the
required ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
--no-recommends
Do not install recommended packages, but only required
ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
Expert Options:
Don’t use them unless you know you need
them.
--[no-]allow-downgrade
Whether to allow downgrading installed resolvables.
--[no-]allow-name-change
Whether to allow changing the names of installed
resolvables. Setting this to no will not replace packages which have
been renamed.
--[no-]allow-arch-change
Whether to allow changing the architecture of installed
resolvables.
--[no-]allow-vendor-change
Whether to allow changing the vendor of installed
resolvables. Setting this to no might be useful if you do not want
packages from foreign repos being changed to the distributions version (or
vice versa).
This command also accepts the Download-and-install mode
options described in the install command description.
dist-upgrade (dup) [options]
Perform a distribution upgrade. This command applies the
state of (specified) repositories onto the system; upgrades (or even
downgrades) installed packages to versions found in repositories, removes
packages that are no longer in the repositories and pose a dependency problem
for the upgrade, handles package splits and renames, etc. + If no repositories
are specified via the
--from option, zypper will do a global upgrade
with all defined repositories. This global form of dup will also consider
unchanged installed packages and re-evaluate their dependencies. This can be a
problem if the system contains conflicting repositories, like repositories for
two different distribution releases. This often happens if one forgets to
remove an older release repository after adding a new one, say openSUSE 13.1
and openSUSE 13.2. + For all repositories which have the distribution version
within their URL (like
<https://download.opensuse.org/distribution/
>13.1/repo/oss) using
the
$releasever variable instead may be helpful (
<https://download.opensuse.org/distribution/
>$releasever/repo/oss).
The variable is per default substituted by the current distributions version
(
13.1) This value can be overwritten using the
--releasever
global option. Calling
zypper --releasever 13.2'...' will cause these
repos to use the new location (
<https://download.opensuse.org/distribution/
>13.2/repo/oss)
without need to add/remove anything. Once the
dup is performed,
$releasever will default to the new distribution version. See section
Repository Management for more info about variable substitution. +
Note: distribution upgrades in openSUSE are currently only supported between
consecutive releases. To upgrade multiple releases, upgrade each consecutive
release one at a time. For more details see
<http://en.opensuse.org/SDB:System_upgrade> and the
openSUSE release notes at
<http://doc.opensuse.org/release-notes/>.
--from alias|name|#|URI
The option can be used multiple times and restricts the
upgrade to the specified repositories only. Nevertheless all enabled
repositories are visible to the resolver and will be considered to satisfy
dependency problems.
-r, --repo alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. + Using --repo is discouraged as it currently
hides unmentioned repositories from the resolver, leading to inexpertly
decisions. This is because packages originally installed from the hidden repos
will now be treated as orphaned or dropped. They can be silently
removed if involved in a dependency conflict. In the future --repo will become
an alias for --from.
-l, --auto-agree-with-licenses
Automatically say yes to third party license
confirmation prompt. By using this option, you choose to agree with licenses
of all third-party software this command will install. This option is
particularly useful for administrators installing the same set of packages on
multiple machines (by an automated process) and have the licenses confirmed
before.
--auto-agree-with-product-licenses
Automatically accept product licenses only. This is used
by tools like SUSEconnect, which ask for confirmation before the product gets
registered. So there’s no need to confirm the product license again at
install time.
--replacefiles
Install the packages even if they replace files from
other, already installed, packages. Default is to treat file conflicts as an
error. --download-as-needed disables the fileconflict check because
access to all packages filelists is needed in advance in order to perform the
check.
-D, --dry-run
Test the upgrade, do not actually install or update any
package. This option will add the --test option to the rpm commands run
by the dist-upgrade command.
-y, --no-confirm
Don’t require user interaction. Alias for the
--non-interactive global option.
--details
Show the detailed installation summary.
Solver related options:
--debug-solver
Create solver test case for debugging. Use this option,
if you think the dependencies were not solved all right and attach the
resulting /var/log/zypper.solverTestCase directory to your bug report. To use
this option, simply add it to the problematic install or remove command.
--force-resolution
Force the solver to find a solution by allowing to remove
packages with unfulfilled requirements. This is the default when removing
packages (zypper remove). This option overrides
--no-force-resolution in case both are specified on the command
line.
-R, --no-force-resolution
Do not force the solver to find a solution. Instead,
report dependency problems and prompt the user to resolve them manually. This
is the default except when removing packages (zypper remove).
--recommends
Install also recommended packages in addition to the
required ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
--no-recommends
Do not install recommended packages, but only required
ones. The default behavior is determined by
[zypp.conf:solver.onlyRequires].
Expert Options:
Don’t use them unless you know you need
them.
--[no-]allow-downgrade
Whether to allow downgrading installed resolvables
[zypp.conf:solver.dupAllowDowngrade].
--[no-]allow-name-change
Whether to allow changing the names of installed
resolvables [zypp.conf:solver.dupAllowNameChange]. Setting this to no
will not replace packages which have been renamed.
--[no-]allow-arch-change
Whether to allow changing the architecture of installed
resolvables [zypp.conf:solver.dupAllowArchChange].
--[no-]allow-vendor-change
Whether to allow changing the vendor of installed
resolvables [zypp.conf:solver.dupAllowVendorChange]. Setting this to no
might be useful if you do not want packages from foreign repos being
dup’ed to the distributions version (or vice versa).
This command also accepts the Download-and-install mode
options described in the install command description.
Examples:
$ zypper dup --from factory --from packman
Upgrade the system to the latest versions provided by the
factory and packman repositories.
search (se) [options]
[querystring|capability]...
Search for packages matching any of the given search
strings.
* and
? wildcard characters can be
used within search strings. If the search string is enclosed in
/ (e.g. /^k.*e$/) it’s interpreted as a
regular expression. See the install command for
details about how to specify a capability. +
Results of the search are printed in a table with columns
S+tatus+, Name, Summary and
Type of package. + In the detailed view (se
-s) all available instances of matching packages are shown; each
version in each repository on a separate line, with columns
S+tatus+, Name, Type,
Version, Arch+itecture+ and
Repository. For installed packages Repository
shows either a repository that provides exactly the installed version of the
package, or, if the exact version is not provided by any known repo,
(System Packages) (or @System). Those installed
packages not provided by any repo are often denoted as being
unwanted, orphaned or dropped.
+ The S+tatus+ column can contain the following
values:
i+
installed by user request
i
installed automatically (by the resolver, see section
Automatically installed packages)
v
a different version is installed
empty
neither of the above cases
.l
is shown in the 2nd column if the item is locked (see
section Package Locks Management)
The v status is only shown if the version or the repository matters
(see --details or --repo), and the installed instance differs
from the one listed in version or repository.
+
This command accepts the following options:
--match-substrings
Matches for search strings may be partial words
(default).
--match-words
Matches for search strings may only be whole words.
-x, --match-exact
Searches for an exact name of the package.
--provides
Search for packages which provide the search
strings.
--requires
Search for packages which require the search
strings.
--recommends
Search for packages which recommend the search
strings.
--suggests
Search for packages which suggest the search
strings.
--conflicts
Search for packages conflicting with the search
strings.
--obsoletes
Search for packages which obsolete the search
strings.
--supplements
Search for packages which supplement the search
strings.
-n, --name
Useful together with dependency options, otherwise
searching in package name is default.
-f, --file-list
Search in the file list of packages. Note that the full
file list is available for installed packages only. For remote packages only
an abstract of their file list is available within the metadata (files
containing /etc/, /bin/, or /sbin/).
-d, --search-descriptions
Search also in summaries and descriptions.
-C, --case-sensitive
Perform case-sensitive search.
-i, --installed-only
Show only installed packages.
-u, --not-installed-only
Show only packages which are not installed. + The old
option name --uninstalled-only is still acceptable, but should be considered
deprecated.
-t, --type type
Search only for packages of specified type. See section
Package Types for a list of available package types. Multiple
--type options are allowed. + See also the type-specific query commands
like packages, patterns, etc.
-r, --repo
alias|name|#|URI
Work only with the repository specified by the alias,
name, number, or URI. This option can be used multiple times.
--sort-by-name
Sort packages by name (default).
--sort-by-repo
Sort packages by repository, not by name.
-s, --details
Show all available versions of matching packages, each
version in each repository on a separate line.
-v, --verbose
Like --details with additional information where
the search has matched (useful when searching for dependencies, e.g.
--provides).
Examples:
$ zypper se 'yast*'
Search for YaST packages (quote the string to prevent the
shell from expanding the wildcard).
$ zypper se -s --match-exact kernel-default
Show all available versions of package
kernel-default
$ zypper se -dC --match-words RSI
Look for RSI acronym (case-sensitively), also in
summaries and descriptions.
packages (pa) [options]
[repository]...
List all available packages or all packages from
specified repositories. Similar to
zypper search -s -t package.
-r, --repo
alias|name|#|URI
Just another means to specify repositories.
-i, --installed-only
Show only installed packages.
-u, --not-installed-only
Show only packages which are not installed. + The old
option name --uninstalled-only is still acceptable, but should be considered
deprecated.
--orphaned
Show packages which are orphaned (without
repository).
--suggested
Show packages which are suggested.
--recommended
Show packages which are recommended.
--unneeded
Show packages which are unneeded.
patches (pch) [options]
[repository]...
List all available patches from specified repositories,
including those not needed. Short for
zypper lp -a.
-r, --repo
alias|name'|#|URI
Just another means to specify repositories.
patterns (pt) [options]
[repository]...
List all available patterns or all patterns from
specified repositories. Similar to
zypper search -s -t pattern.
-r, --repo
alias|name|#|URI
Just another means to specify repositories.
-i, --installed-only
Show only installed patterns.
-u, --not-installed-only
Show only patterns which are not installed. + The old
option name --uninstalled-only is still acceptable, but should be considered
deprecated.
products (pd) [options]
[repository]...
List all available products or all products from
specified repositories. Similar to
zypper search -s -t product, but
shows also the type of the product (
base,
add-on).
-r, --repo
'alias|name|#|URI
Just another means to specify repositories.
-i, --installed-only
Show only installed products.
-u, --not-installed-only
Show only products which are not installed. + The old
option name --uninstalled-only is still acceptable, but should be considered
deprecated.
--xmlfwd tag
XML output only: Literally forward the XML tag, if
it is found in an installed products .prod-file (in /etc/products.d). +
Using this option, for each installed product an <xmlfwd> node
will be created inside the <product> output node of the product.
+ Tag defines the name (or /-separated path) of a xml-tag inside an
installed products .prod-file. If the tag is present inside the products
.prod-file, the tag and it’s content is literally forwarded into the
products <xmlfwd> output node. + The option may be specified
multiple times.
Examples:
$ zypper -x pd --xmlfwd name --xmlfwd register/target
what-provides (wp) capability
List all packages providing the specified capability. See
also the
install command for info about specifying
capabilities.
The command line is automatically transformed into the appropriate
search command, e.g.:
$ zypper what-provides 'zypper>1.6'
$ zypper se --provides --match-exact 'zypper>1.6'
You can use the following variables within a .repo or
.service files name and URI values:
$arch
Use this variable to refer to the system’s CPU
architecture.
$basearch
Use this variable to refer to the base architecture of
the system. For example, iX86 machines have a base architecture of
i386, while AMD64 and Intel64 have x86_64.
$releasever, $releasever_major,
$releasever_minor
Use this variable to refer to the version of your
openSUSE or SUSE Linux. The value is obtained from the /product/version
XML-node in /etc/products.d/baseproduct. + This is useful for related
repositories like packman (
<http://ftp.gwdg.de/pub/linux/packman/suse/$releasever>),
which shall always fit the installed distribution, even after a
distribution upgrade. To help performing a distribution upgrade, the value of
$releasever can be overwritten using the
--releasever global option. This way you can easily switch all
repositories using $releasever to the new version (provided the
server layouts did not change and new repos are already available).
+ In addition $releasever_major will be set to the
leading portion up to (but not including) the 1st dot;
$releasever_minor to the trailing portion after the 1st dot. If
there’s no dot in $releasever,
$releasever_major is the same as $releasever and
$releasever_minor is empty.
Custom Variables
A custom repository variable is defined by creating a
file in /etc/zypp/vars.d. The variable name equals the file name. The
files first line (up to but not including the newline character) defines the
variables value. Valid variable(file) names consist of alphanumeric chars and
underscore only.
Remember to protect the $ when using these variables on a
shell command line:
zypper ar -f
<http://ftp.gwdg.de/pub/linux/packman/suse/>\$releasever
packman
If a variable is followed by an alphanumeric character or
underscore it needs to be enclosed in {}:
zypper ar -f
<http://ftp.gwdg.de/pub/linux/packman/suse/>\${’releasever'}_packman
Bash style definition of default
${’variable':-’word'} and alternate
${’variable':+’word'} values:
SLE-${’releasever_major'}${’releasever_minor':+-SP-$releasever_minor}
To check where you already use $releasever call:
zypper --releasever @--HERE--@ lr -u
NOTE:
Variable substitution within an URIs authority is limited
to host and port. Bash style definition of default and alternate
values is not supported. No variables can be used in an URIs scheme,
user and password.
scheme:
@]host[:’port']]
/’path' [?’query']
[#’fragment']
Special characters occurring in URI components (like a
@ in a password) must be %-encoded
(%40).
CD or DVD drive
Optionally with devices list for probing.
cd:///
dvd:/subdir'?devices=/dev/sr0,/dev/sr1'
FTP/HTTP/HTTPS directory tree
The ftp URL scheme supports absolute and relative paths
to the default ftp server directory (RFC1738, Section 3.2.2). To use an
absolute path, you have to prepend the path with an additional slash, what
results in a /%2f combination (second / encoded to %2f)
at the begin of the URL path. This is important, especially in user
authenticated ftp, where the users home is usually the default directory of
the server (except when the server chroots into the users home directory). +
Explicit proxy settings may be passed via optional parameters proxy,
proxyport, proxyuser and proxypass. + HTTP authentication
methods to use can be defined as comma separated list via optional parameter
auth. Valid methods are e.g. basic, digest, ntlm,
negotiate. Note, that this list depends on the list of methods
supported by the curl library. + SSL verification behavior can be changed
using the ssl_verify option (this should be used with care). Valid
values are yes (the secure default), host, peer or
no. Host just checks that the "Common Name" field or a
"Subject Alternate Name" field in the servers certificate matches
the host name in the URL. Peer just verifies whether the certificate
provided by the server is authentic against the chain of digital signatures
found in ssl_capath. No performs no checks at all. Yes is the
secure default, performing host and peer check. + For SSL client certificate
authentication use the options ssl_clientcert to define the path to the
ssl client certificate and ssl_clientkey to define the path to the SSL
client key. Use ssl_capath to change the directory holding the CA
certificates (default is /etc/ssl/certs).
<ftp://user:pass@server/path/to/media/dir>
<ftp://user:pass@server/%2fhome/user/path/to/media/dir>
<http://user:pass@server/path>
<https://user:pass@server/path>'?proxy=foo&proxyuser=me&proxypass=pw'
<https://server/path>'?ssl_clientcert=/entitlement/1234.pem&ssl_clientkey=/entitlement/1234-key.pem'
Disk volume (partition)
Mandatory device parameter specifying the name of
the block device to mount. The name of the optional filesystem defaults
to "auto".
hd:/subdir?device=/dev/sda1'&filesystem=reiserfs'
Local directory tree
dir:/directory/name
Media in an ISO image (loopback mounted)
+ Mandatory iso parameter specifying the name of
the iso file. Optional url parameter specifying the URL to the
directory containing the iso file. Optional mnt parameter specifying
the preferred attach point for the source media url. Optional
filesystem name of the filesystem used in the iso file. Defaults to
"auto".
iso:/?iso=CD1.iso'&url=nfs://server/path/to/media'
iso:/?iso=CD1.iso'&url=hd:/?device=/dev/hda'
iso:/subdir?iso=DVD1.iso'&url=nfs://nfs-server/directory&mnt=/nfs/attach/point&filesystem=udf'
NFS exported directory tree
To use NFSv4 either use schema tnfsv4:// or pass
an optional parameter type=nfs4. Additional mountoptions can be
passed as comma separated list. Defaults to "ro".
nfs://nfs-server/exported/path
nfs://nfs-server/exported/path'?mountoptions=ro&type=nfs4'
nfs4://nfs-server/exported/path'?mountoptions=ro'
CIFS/SMB directory tree
There is no difference between cifs and smb scheme (any
more). In both cases the cifs filesystem is used. Additional
mountoptions can be passed as comma separated list. Defaults to
"ro,guest". Specify "noguest" to turn off
"guest". This is necessary if Samba is configured to reject guest
connections. + Optional workgroup or domain parameter set the
name of the workgroup. As alternative to passing username:password in
the URI authority the parameters user and pass can be
used.
smb://servername/share/path/on/the/share
cifs://usern:passw@servername/share/path/on/the/share'?mountoptions=ro,noguest'
cifs://usern:passw@servername/share/path/on/the/share'?workgroup=mygroup'
cifs://servername/share/path/on/the/share'?user=usern&pass=passw'
OpenSUSE Build Build Service (OBS) repositories
Zypper also accepts special URIs identifying openSUSE
Build Service (OBS) repositories in the addrepo command. These URIs
have the form of obs://’project'/[platform], where
project is the name of the OBS project and platform is the
target platform (OS) for which the repository is intended. + If
platform is omitted, openSUSE_$releasever is used unless a value
for obs.platform is defined in zypper.conf. If you are following
openSUSE_Factory or openSUSE_Tumbleweed you may need to set
these as your default platform. But we can only guess, how the directory
containing the repository that fits your distribution is named on the server.
In case of doubt you need to look up the right URL in a browser.
obs://zypp:Head/
obs://zypp:Head/openSUSE_Factory
obs://zypp:Head/openSUSE_Factory_Staging_Gcc49_standard
addrepo (ar) [options] URI
alias
addrepo (ar) [options]
FILE.repo
Add a new repository specified by URI and assign
specified alias to it or specify URI to a .repo file. + Newly added
repositories have auto-refresh disabled by default (except for repositories
imported from a .repo, having the auto-refresh enabled). To enable
auto-refresh use
addrepo -f, or the
--refresh option of the
modifyrepo command. + Also, this command does not automatically refresh
the newly added repositories. The repositories will get refreshed when used
for the first time, or you can use the
refresh command after finishing
your modifications with
*repo commands.
-r, --repo file.repo
Read URI and alias from specified .repo file
-c, --check
Probe given URI.
-C, --no-check
Don’t probe URI, probe later during refresh.
-n, --name name
Specify descriptive name for the repository.
-e, --enable
Enable the repository (the default).
-d, --disable
Add the repository as disabled. Repositories are added as
enabled by default.
-f, --refresh
Enable autorefresh of the repository. The autorefresh is
disabled by default when adding new repositories.
-F, --no-refresh
Disable auto-refresh for the repository.
-p, --priority positive-integer
Set the priority of the repository. Priority of 1
is the highest, the higher the number the lower the priority. -p 0 will
set the priority back to the default (99). Packages from repositories
with higher priority will be preferred even in case there is a higher
installable version available in the repository with a lower priority.
-k, --keep-packages
Enable RPM files caching for the repository.
-K, --no-keep-packages
Disable RPM files caching.
-g, --gpgcheck
Enable GPG check for this repository. The behavior as
described in section GPG checks.
--gpgcheck-strict
Enable strict GPG check for this repository. Even
packages from signed repositories need a valid GPG signature and using
unsigned packages must be confirmed.
--gpgcheck-allow-unsigned
Short hand for --gpgcheck-allow-unsigned-repo
--gpgcheck-allow-unsigned-package
--gpgcheck-allow-unsigned-repo
Enable GPG check but allow the repository metadata to be
unsigned.
--gpgcheck-allow-unsigned-package
Enable GPG check but allow installing unsigned packages
from this repository.
-G, --no-gpgcheck
Disable GPG check for this repository. + Disabling GPG
checks is not recommended. Signing data enables the recipient to verify
that no modifications occurred after the data were signed. Accepting data with
no, wrong or unknown signature can lead to a corrupted system and in extreme
cases even to a system compromise.
--default-gpgcheck
Use the global GPG check settings defined in
/etc/zypp/zypp.conf. This is the default. + Unless you have modified
your zypp.conf settings, this is the same as --gpgcheck, the behavior
as described in section GPG checks.
Examples:
$ zypper ar -c -n 'Packman 11.1 repo'
<http://packman.iu-bremen.de/suse/11.1> packman
Add a HTTP repository, probe it, name it Packman 11.1
repo, and use packman as alias.
$ zypper ar
<https://download.opensuse.org/repositories/zypp:/svn/openSUSE_Factory/zypp:svn.repo>
$ zypper ar myreposbackup.repo
Add repositories from a .repo file.
removerepo (rr) [options]
alias|name|#|URI...
Delete repositories specified by aliases, names, numbers,
URIs or one of the aggregate options.
--loose-auth
Ignore user authentication data in the URI
--loose-query
Ignore query string in the URI
-a, --all
Apply changes to all repositories.
-l, --local
Apply changes to all local repositories.
-t, --remote
Apply changes to all remote repositories
(http/https/ftp).
-m, --medium-type type
Apply changes to repositories of specified type. The type
corresponds to the repository URI scheme identifier like http, dvd, etc. You
can find complete list of valid types at
<http://en.opensuse.org/openSUSE:Libzypp_URIs>.
repos (lr) [options] [repo]...
List all defined repositories or show detailed
information about those specified as arguments + The following data can be
printed for each repository found on the system:
# (repository number),
Alias (unique identifier),
Name,
Enabled (whether the
repository is enabled),
GPG Check (whether GPG check for repository
metadata (
r) and/or downloaded rpm packages (
p) is enabled),
Refresh (whether auto-refresh is enabled for the repository),
Priority,
Type (repository meta-data type: rpm-md, yast2,
plaindir). Which of the data is shown is determined by command line options
listed below and the main.repoListColumns setting from zypper.conf. By
default, #, Alias, Name, Enabled, GPG Check and Refresh is shown. + Repository
number is a unique identifier of the repository in current set of
repositories. If you add, remove or change a repository, the numbers may
change. Keep that in mind when using the numbers with the repository handling
commands. On the other hand, using the alias instead of the number is always
safe. + To show detailed information about specific repositories, specify them
as arguments, either by alias, name, number from simple
zypper lr, or
by URI; e.g. fB
zypper lr factory, or
zypper lr 2.
-e, --export FILE.repo|-
This option causes zypper to write repository definition
of all defined repositories into a single file in repo file format. If
- is specified instead of a file name, the repositories will be written
to the standard output.
-a, --alias
Add alias column to the output.
-n, --name
Add name column to the output.
-u, --uri
Add base URI column to the output.
-p, --priority
Add repository priority column to the output.
-r, --refresh
Add the autorefresh column to the output.
-d, --details
Show more information like URI, priority, type,
etc.
-E, --show-enabled-only
Show enabled repositories only.
-U, --sort-by-uri
Add base URI column and sort the list it.
-P, --sort-by-priority
Add repository priority column and sort the list by
it.
-A, --sort-by-alias
Sort the list by alias.
-N, --sort-by-name
Sort the list by name.
Examples:
$ zypper repos -e myreposbackup.repo
Backup your repository setup:
$ zypper lr -pu
List repositories with their URIs and priorities:
renamerepo (nr)
alias|name|#|URI new-alias
Assign new alias to the repository specified by alias,
name, number, or URI.
Examples:
$ zypper nr 8 myrepo
Rename repository number 8 to myrepo
(useful if the repo has some dreadful alias which is not usable on the command
line).
modifyrepo (mr) options
alias|name|#|URI...
modifyrepo (mr) options
--all|--remote|--local|--medium-type
Modify properties of repositories specified by alias,
name, number, or URI or one of the aggregate options.
-n, --name name
Set a descriptive name for the repository.
-e, --enable
Enable the repository.
-d, --disable
Disable the repository.
-f, --refresh (legacy: -r)
Enable auto-refresh for the repository.
-F, --no-refresh (legacy: -R)
Disable auto-refresh for the repository.
-p, --priority positive-integer
Set the priority of the repository. Priority of 1
is the highest, the higher the number the lower the priority. -p 0 will
set the priority back to the default (99). Packages from repositories
with higher priority will be preferred even in case there is a higher
installable version available in the repository with a lower priority.
-k, --keep-packages
Enable RPM files caching.
-K, --no-keep-packages
Disable RPM files caching.
-g, --gpgcheck
Enable GPG check for this repository. The behavior as
described in section GPG checks.
--gpgcheck-strict
Enable strict GPG check for this repository. Even
packages from signed repositories need a valid GPG signature and using
unsigned packages must be confirmed.
--gpgcheck-allow-unsigned
Short hand for --gpgcheck-allow-unsigned-repo
--gpgcheck-allow-unsigned-package
--gpgcheck-allow-unsigned-repo
Enable GPG check but allow the repository metadata to be
unsigned.
--gpgcheck-allow-unsigned-package
Enable GPG check but allow installing unsigned packages
from this repository.
-G, --no-gpgcheck
Disable GPG check for this repository. + Disabling GPG
checks is not recommended. Signing data enables the recipient to verify
that no modifications occurred after the data were signed. Accepting data with
no, wrong or unknown signature can lead to a corrupted system and in extreme
cases even to a system compromise.
--default-gpgcheck
Use the global GPG check settings defined in
/etc/zypp/zypp.conf. This is the default. + Unless you have modified
your zypp.conf settings, this is the same as --gpgcheck, the behavior
as described in section GPG checks.
-a, --all
Apply changes to all repositories.
-l, --local
Apply changes to all local repositories.
-t, --remote
Apply changes to all remote repositories
(http/https/ftp).
-m, --medium-type type
Apply changes to repositories of specified type. The type
corresponds to the repository URI scheme identifier like http, dvd, etc. You
can find complete list of valid types at
<http://en.opensuse.org/openSUSE:Libzypp_URIs>.
Examples:
$ zypper mr -kt
Enable keeping of packages for all remote
repositories.
$ zypper mr -er updates
Enable repository updates and switch on
autorefresh for the repo.
$ zypper mr -da
Disable all repositories.
refresh (ref)
[alias|name|#|URI]...
Refresh repositories specified by their alias, name,
number, or URI. If no repositories are specified, all enabled repositories
will be refreshed.
-f, --force
Force a complete refresh of specified repositories. This
option will cause both the download of raw metadata and parsing of the
metadata to be forced even if everything indicates a refresh is not
needed.
-b, --force-build
Force only reparsing of cached metadata and rebuilding of
the database. Raw metadata download will not be forced.
-d, --force-download
Force only download of current copy of repository
metadata. Parsing and rebuild of the database will not be forced.
-B, --build-only
Only parse the metadata and build the database,
don’t download raw metadata into the cache. This will enable you to
repair damaged database from cached data without accessing network at
all.
-D, --download-only
Only download the raw metadata, don’t parse it or
build the database.
-s, --services
Refresh also services before refreshing
repositories.
clean (cc) [options]
[alias|name|#|URI]...
Clean the local caches for all known or specified
repositories. By default, only caches of downloaded packages are cleaned.
-m, --metadata
Clean repository metadata cache instead of package
cache.
-M, --raw-metadata
Clean repository raw metadata cache instead of package
cache.
-a, --all
Clean both repository metadata and package caches.
The services, addservice, removeservice,
modifyservice, and refresh-services commands serve for
manipulating services. A service is specified by its URI and needs to have a
unique alias defined (among both services and repositories).
Standalone repositories (not belonging to any service) are treated
like services, too. The ls command will list them, ms command
will modify them, etc. Repository specific options, like
--keep-packages are not available here, though. You can use
repository handling commands to manipulate them.
addservice (as) [options] URI
alias
Adds a service specified by URI to the system. The
alias must be unique and serves to identify the service. + Newly added
services are not refreshed automatically. Use the refresh-services
command to refresh them. Zypper does not access the service URI when adding
the service, so the type of the services is unknown until it is refreshed.
+
-n, --name name
Specify descriptive name for the service.
-e, --enable
Enable the service (this is the default).
-d, --disable
Add the service as disabled.
-f, --refresh
Enable auto-refresh of the service.
-F, --no-refresh
Disable auto-refresh of the service.
removeservice (rs) [options]
alias|name|#|URI...
Remove specified service from the system. Removing a
service will also remove of all of its repositories.
--loose-auth
Ignore user authentication data in the URI.
--loose-query
Ignore query string in the URI.
modifyservice (ms) options
alias|name|#|URI
modifyservice (ms) options
--all|--remote|--local|--medium-type
Modify properties of specified services.
Common Options
These options are common to all types of services and
repositories.
-n, --name name
Set a descriptive name for the service.
-e, --enable
Enable a disabled service.
-d, --disable
Disable the service (but don’t remove it).
-f, --refresh (legacy: -r)
Enable auto-refresh of the service.
-F, --no-refresh (legacy: -R)
Disable auto-refresh of the service.
-a, --all
Apply changes to all services.
-l, --local
Apply changes to all local services.
-t, --remote
Apply changes to all remote services.
-m, --medium-type type
Apply changes to services of specified type.
RIS Service Specific Options
These options are ignored by services other than
Repository Index Services.
-i, --ar-to-enable alias
Schedule an RIS service repository to be enabled at next
service refresh.
-I, --ar-to-disable alias
Schedule an RIS service repository to be disabled at next
service refresh.
-j, --rr-to-enable alias
Remove a RIS service repository to enable.
-J, --rr-to-disable "alias'
Remove a RIS service repository to disable.
-k, --cl-to-enable
Clear the list of RIS repositories to enable.
-K, --cl-to-disable
Clear the list of RIS repositories to disable.
services (ls) [options]
List services defined on the system.
-u, --uri
Show also base URI of repositories.
-p, --priority
Show also repository priority.
-d, --details
Show more information like URI, priority, type.
-r, --with-repos
Show also repositories belonging to the services.
-P, --sort-by-priority
Sort the list by repository priority.
-E, --show-enabled-only
Show enabled services only. If used together with
--with-repos a disabled services owning (manually) enabled repositories
are shown as well.
-U, --sort-by-uri
Sort the list by URI.
-N, --sort-by-name
Sort the list by name.
refresh-services (refs) [options]
alias|name|#|URI...
Refreshing a service means executing the service’s
special task. + RIS services add, remove, or modify repositories on your
system based on current content of the repository index. A differing
enabled/disabled state caused by manually calling
modify-repo on a
service repository however will not be reverted unless the
--restore-status option is used, or the repository index explicitly
requests the change. + Services only manage defined repositories, they do not
refresh them. To refresh also repositories, use
--with-repos option or
the
refresh command.
-f, --force
Force a complete refresh of specified services. This
option will cause both the download of raw metadata and parsing of the
metadata to be forced even if everything indicates a refresh is not
needed.
-r, --with-repos
Refresh also the service repositories.
-R, --restore-status
Also restore service repositories enabled/disabled state
to the repository index default. Useful after you manually changed some
service repositories enabled state.
versioncmp (vcmp) version1
version2
Compare the versions supplied as arguments and tell
whether version1 is older or newer than version2 or the two version strings
match. + The default output is in human-friendly form. If
--terse
global option is used, the result is an integer number, negative/positive if
version1 is older/newer than version2, zero if they match.
-m, --match
Takes missing release number as any release.
For example:
$ zypper vcmp -m 0.15.3 0.15.3-2
0.15.3 matches 0.15.3-2
$ zypper vcmp 0.15.3 0.15.3-2
0.15.3 is older than 0.15.3-2
targetos (tos)
Shows the ID string of the target operating system. The
string has a form of distroname-architecture. The string is determined
by libzypp, the distroname is read from
(current-rootdir)/etc/products.d/baseproduct and the
architecture is determined from uname and CPU
flags.
licenses
Prints a report about licenses and 'EULA’s
of installed packages to standard output. + First, a list of all packages and
their licenses and/or EULAs is shown. This is followed by a summary, including
the total number of installed packages, the number of installed packages with
EULAs that required a confirmation from the user. Since the EULAs are not
stored on the system and can only be read from repository metadata, the
summary includes also the number of installed packages that have their
counterpart in repositories. The report ends with a list of all licenses uses
by the installed packages. + This command can be useful for companies
redistributing a custom distribution (like appliances) to figure out what
licenses they are bound by.
download
Download rpms specified on the commandline to a local
directory. + Per default packages are downloaded to the libzypp package cache
(/var/cache/zypp/packages; for non-root users
$XDG_CACHE_HOME/zypp/packages), but this can be changed by using the
global --pkg-cache-dir option. + Parsable XML-output produced by
zypper --xmlout will include a <download-result> node for
each package zypper tried to download. Upon success the location of the
downloaded package is found in the path attribute of the
<localfile> subnode (xpath:
download-result/localpath@path): +
<download-result>
<solvable>
<kind>package</kind>
<name>zypper</name>
<edition epoch="0" version="1.9.17" release="26.1"/>
<arch>x86_64</arch>
<repository name="repo-oss-update (13.1)" alias="openSUSE:repo-oss-update"/>
</solvable>
<localfile path="/var/cache/zypp/pac.../zypper-1.9.17-26.1.x86_64.rpm"/>
</download-result>
--all-matches
Download all versions matching the commandline arguments. Otherwise only the
best version of each matching package is downloaded.
--dry-run
Don’t download any package, just report what would
be done.
source-download
Download source rpms for all installed packages to a
local directory.
-d, --directory dir
Download all source rpms to this directory. Default is
/var/cache/zypper/source-download.
--delete
Delete extraneous source rpms in the local directory.
This is the default.
--no-delete
Do not delete extraneous source rpms.
--status
Don’t download any source rpms, but show which
source rpms are missing or extraneous.
ps
After each upgrade or removal of packages, there may be
running processes on the system which continue to use meanwhile deleted files.
zypper ps lists all processes using deleted files, together with the
corresponding files, and a service name hint, in case it’s a known
service. This gives a hint which services may need to be restarted after an
update. Usually programs which continue to use deleted shared libraries. The
list contains the following information:
PID
ID of the process
PPID
ID of the parent process
UID
ID of the user running the process
Login
Login name of the user running the process
Command
Command used to execute the process
Service
Service name, if command is associated with a system
service
Files
The list of the deleted files
-s, --short
Create a short table not showing the deleted files. Given
twice, show only processes which are associated with a system service. Given
three times, list the associated system service names only.
--print format
For each associated system service print format on
the standard output, followed by a newline. Any %s directive in
format is replaced by the system service name.
-d, --debugFile filename
Output a file with all proc entries that make it into the
final set of used open files. This can be submitted as additional information
in a bug report.
Examples:
$ zypper ps -ss
Show only processes associated with a system
service.
$ zypper ps -sss
Short for zypper ps --print "%s"; list
services which might need a restart.
$ zypper ps --print "systemctl status %s"
Let zypper print the commands to retrieve status
information for services which might need a restart.