1ZYPPER(8) ZYPPER ZYPPER(8)
2
3
4
6 zypper - Command-line interface to ZYpp system management library
7 (libzypp)
8
10 zypper [--global-opts] command [--command-opts] [command-arguments]
11
12 zypper subcommand [--command-opts] [command-arguments]
13
14 zypper help command
15
17 zypper is a command-line interface to ZYpp system management library
18 (libzypp). It can be used to install, update, remove software, manage
19 repositories, perform various queries, and more.
20
22 Most of the following concepts are common for all applications based on
23 the libzypp package management library, but there are some zypper
24 specifics.
25
26 System Packages
27 The set of installed packages on a system is sometimes denoted as
28 repository @System or System Packages. In contrast to available
29 repositories providing packages which can be installed, @System
30 provides packages which can only be deleted. Installed packages which
31 are not also provided by at least one of the available repositories are
32 often denoted as being unwanted, orphaned or dropped.
33
34 Repositories
35 Libzypp works with repository metadata, this is information about
36 packages and their relations extracted from RPM packages and other data
37 like patch information, pattern definitions, etc. These data are stored
38 together with the RPM files in folders called repositories.
39 Repositories can be placed on various media like an HTTP or FTP server,
40 DVD, or a folder on a local disc.
41
42 There is a special set of commands in zypper intended to manipulate
43 repositories. Also many commands and options take a repository as an
44 argument. See section COMMANDS, subsection Repository Management for
45 more details.
46
47 GPG checks
48 Disabling GPG checks is not recommended. Signing data enables the
49 recipient to verify that no modifications occurred after the data were
50 signed. Accepting data with no, wrong or unknown signature can lead to
51 a corrupted system and in extreme cases even to a system compromise.
52
53 Zypp verifies the authenticity of repository metadata by checking their
54 GPG signature. If the repository metadata are signed with a trusted key
55 and successfully verified, packages from this repository are accepted
56 for installation if they match the checksum provided in the metadata.
57 Using unsigned repositories needs to be confirmed.
58
59 If the repository metadata are not signed, the GPG signature of each
60 downloaded rpm package is checked before accepting it for installation.
61 Packages from unsigned repositories need a valid GPG signature. Using
62 unsigned packages needs to be confirmed.
63
64 The above is the default behavior defined by settings in
65 /etc/zypp/zypp.conf.
66
67 The addrepo and modifyrepo commands provide further options to tune the
68 behavior per repository. It is for example possible to relax the need
69 to confirm installing unsigned packages for a specific repository. But
70 if you do so, you should be very certain that an attacker can hardly
71 modify the package data within the repository or on the way to your
72 machine. See section COMMANDS for details about the command options.
73
74 Resource Identifiers (URI)
75 To specify locations of repositories or other resources (RPM files,
76 .repo files) you can use any type of URI supported by libzypp. In
77 addition Zypper accepts a special URI identifying openSUSE Build
78 Service (OBS) repositories in the addrepo command. These URIs have the
79 form of obs://project/[platform].
80
81 See section COMMANDS, subsection Repository Management for a complete
82 list and examples of supported URI formats.
83
84 Refresh
85 Refreshing a repository means downloading metadata of packages from the
86 medium (if needed), storing it in local cache (typically under
87 /var/cache/zypp/raw/alias directory) and preparsing the metadata into
88 .solv files (building the solv cache), typically under
89 /var/cache/zypp/solv/alias.
90
91 The metadata get refreshed either automatically or on user request. An
92 automatic refresh takes place right before reading metadata from the
93 database if the auto-refresh is enabled for the repository and the
94 metadata is reported to be out of date. If the auto-refresh is
95 disabled, the repository will only be refreshed on user request. You
96 can request a refresh by calling zypper refresh (see the documentation
97 of the refresh command for details).
98
99 The repository metadata are checked for changes before actually doing
100 the refresh. A change is detected by downloading one or two metadata
101 index files (small files) and comparing the checksums of the cached
102 ones and the remote ones. If the files differ, the repository is out of
103 date and will be refreshed.
104
105 To delay the up-to-date check (and thus the automatic refresh) for a
106 certain number of minutes, edit the value of the repo.refresh.delay
107 attribute of ZYpp config file (/etc/zypp/zypp.conf). This means, zypper
108 will not even try to download and check the index files, and you will
109 be able to use zypper for operations like search or info without
110 internet access or root privileges.
111
112 Services
113 Services are one level above repositories and serve to manage
114 repositories or to do some special tasks. Libzypp currently supports
115 Repository Index Service (RIS) and Plugin Service.
116
117 Repository Index Service (RIS) is a special type of repository which
118 contains a list of other repositories. This list can be generated
119 dynamically by the server according to some URI parameters or user
120 name, or can be static. Once such service is added to your system,
121 zypper takes care of adding, modifying, or removing these repositories
122 on your system to reflect the current list. See section Service
123 Management and
124 https://en.opensuse.org/openSUSE:Standards_Repository_Index_Service for
125 more details.
126
127 Package Types
128 Zypper works with several types of resource objects, called
129 resolvables. A resolvable might be a package, patch, pattern, product;
130 basically any kind of object with dependencies to other objects.
131
132 package
133 An ordinary RPM package.
134
135 patch
136 A released patch conflicts with the affected/vulnerable versions of
137 a collection of packages. As long as any of these
138 affected/vulnerable versions are installed, the conflict triggers
139 and the patch is classified as needed, or as unwanted if the patch
140 is locked.
141
142 Selecting the patch, the conflict is resolved by updating all
143 installed and affected/vulnerable packages to a version providing
144 the fix. When updating the packages zypper always aims for the
145 latest available version. Resolved patches are classified as either
146 applied or not needed, depending on whether they refer to actually
147 installed packages.
148
149 So installation, update or removal of packages may change the
150 classification of patches refering to these packages. Since
151 libyzpp-17.23.0 the /var/log/zypp/history remembers if a commited
152 transaction changes a patchs classification. If history data are
153 available, patch tables show a column telling since when the patch
154 is in it’s current state.
155
156 Depending on the kind of defect, patches are classified by category
157 and severity. Commonly used values for category are security,
158 (recommended, bugfix), (optional, feature, enhancement) document or
159 yast. Commonly used values for severity are critical, important,
160 moderate, low or unspecified. Names listed in parentheses are used
161 synonymously.
162
163 Note that the patch command does not apply optional patches
164 (category optional or feature) by default. If you actually want to
165 consider all optional patches as being needed, say patch
166 --with-optional. Specific patches can be applied using the install
167 command (e.g. zypper install patch:openSUSE-2014-7).
168
169 If the issuer decides to retract a released patch, the patch status
170 will be shown as retracted. The packages provided by the retracted
171 patch are still visible but also tagged as having been retracted
172 (R). The resolver will avoid selecting retracted packages
173 automatically. If you are sure that a retracted package should be
174 installed on your system, you must explicitly select it.
175
176 pattern
177 A group of packages required or recommended to install some
178 functionality.
179
180 product
181 A group of packages which are necessary to install a product.
182
183 srcpackage
184 Source code package (.src.rpm). This type works in search and
185 install commands.
186
187 application
188 Legacy: Since libzypp-17.7.0 this type is no longer available.
189
190 Throughout this manual we will often refer to resolvables simply as
191 packages and to resolvable types as package type or kind. These type
192 names can be used as arguments of --type option in several commands
193 like install, info, or search. Commands should also allow to specify
194 resolvables as KIND:NAME (e.g. patch:openSUSE-2014-7).
195
196 Package Dependencies
197 Software packages depend on each other in various ways. Packages
198 usually require or recommend other packages, but they can also conflict
199 with them. Packages may support specific hardware or language settings.
200 Zypper uses a dependency solver to find out which packages need to be
201 installed to satisfy the user’s request.
202
203 If you do not request a specific version of a package the solver will
204 pick a reasonable one. The solvers general attitude when resolving a
205 job is to focus on installing the best version of the requested package
206 and to add or update dependencies as they are needed. Aside from this
207 Focus on Job, which is the default, two other focus modes are
208 available:
209
210 In Focus on Installed mode the solver focuses on applying as little
211 changes to the installed packages as needed. Choosing an older version
212 of a requested package is valid if it’s dependencies require less
213 changes to the system. The solver will try to avoid updating already
214 installed packages.
215
216 In Focus on Update mode the solver focuses on updating the requested
217 package and all its dependencies as much as possible. Beware,
218 installing a single package in this mode may easily lead to a mini
219 system update.
220
221 For a single command the focus mode can be set using the --solver-focus
222 MODE switch. Valid modes are Job, Installed or Update. If you want to
223 change the default mode for your system, set
224 [/etc/zypp/zypp.conf:solver.focus] to the desired value.
225
226 Automatically installed packages
227 Packages added by the dependency solver in order to resolve a user’s
228 request are remembered as having been automatically installed. They may
229 later be removed, if no more user installed packages depend on them
230 (e.g. by zypper remove --clean-deps).
231
232 In the Status column the search command distinguishes between user
233 installed packages (i+) and automatically installed packages (i).
234
235 Package File Conflicts
236 File conflicts happen when two packages attempt to install files with
237 the same name but different contents. This may happen if you are
238 installing a newer version of a package without erasing the older
239 version, of if two unrelated packages each install a file with the same
240 name.
241
242 As checking for file conflicts requires access to the full filelist of
243 each package being installed, zypper will be able to check for file
244 conflicts only if all packages are downloaded in advance (see
245 --download-in-advance). If you are doing a --dry-run no packages are
246 downloaded, so the file conflict check will skip packages not available
247 in the packages cache. To get a meaningful file conflict check use
248 --dry-run together with --download-only.
249
250 As the reason for file conflicts usually is a poor package design or
251 lack of coordination between the people building the packages, they are
252 not easy to resolve. By using the --replacefiles option you can force
253 zypper to replace the conflicting files. Nevertheless this may damage
254 the package whose file gets replaced.
255
257 zypper provides a number of commands. Each command accepts the options
258 listed in the GLOBAL OPTIONS section. These options must be specified
259 before the command name. In addition, many commands have specific
260 options, which are listed in this section. These command-specific
261 options must be specified after the name of the command and before any
262 of the command arguments.
263
264 Zypper also provides limited support for writing extensions/subcommands
265 in any language. See section SUBCOMMANDS for details.
266
267 General Commands
268 help [command]
269 Shows help texts. If invoked without any argument (just zypper or
270 zypper help), zypper displays global help text which lists all
271 available global options and commands.
272
273 If invoked with a command name argument, zypper displays help for
274 the specified command, if such command exists. Long as well as
275 short variants of the command names can be used.
276
277 For your convenience, zypper help can also be invoked in any of the
278 following ways:
279
280
281 $ zypper -h|--help [command]
282
283
284 $ zypper [command] -h|--help
285
286 shell (sh)
287 Starts a shell for entering multiple commands in one session. Exit
288 the shell using exit, quit, or Ctrl-D.
289
290 The shell support is not complete so expect bugs there. However,
291 there’s no urgent need to use the shell since libzypp became so
292 fast thanks to the SAT solver and its tools (openSUSE 11.0), but
293 still, you’re welcome to experiment with it.
294
295 Package Management Commands
296 info (if) [options] name...
297 Displays detailed information about the specified packages.
298
299 For each specified package, zypper finds the best available version
300 in defined repositories and shows information for this package.
301
302 -r, --repo alias|name|#|URI
303 Work only with the repository specified by the alias, name,
304 number or URI. This option can be used multiple times.
305
306 -t, --type type
307 Type of package (default: package). See section Package Types
308 for list of available package types.
309
310 --provides
311 Show symbols the package provides.
312
313 --requires
314 Show symbols the package requires.
315
316 --conflicts
317 Show symbols the package conflicts with.
318
319 --obsoletes
320 Show symbols the package obsoletes.
321
322 --recommends
323 Show symbols the package recommends.
324
325 --suggests
326 Show symbols the package suggests.
327
328 --supplements
329 Show symbols the package supplements.
330
331 Examples:
332
333
334 $ zypper info workrave
335 Show information about package workrave
336
337 $ zypper info -t patch libzypp
338 Show information about patch libzypp
339
340 $ zypper info -t pattern lamp_server
341 Show information about pattern lamp_server
342
343 install (in) [options] name|capability|rpm_file_uri...
344 Install or update packages.
345
346 The packages can be selected by their name or by a capability they
347 provide.
348
349 A capability is formed by "NAME[.ARCH][ OP EDITION]", where ARCH is
350 an architecture code, OP is one of <, <=, =, >=, or > and EDITION
351 is "VERSION[-RELEASE]". For example: zypper=0.8.8-2.
352
353 The NAME component of a capability is not only a package name
354 but any symbol provided by packages: /bin/vi, libcurl.so.3,
355 perl(Time::ParseDate). Just remember to quote to protect the
356 special characters from the shell, for example: zypper\>0.8.10
357 or 'zypper>0.8.10'.
358
359 If EDITION is not specified, the newest installable version
360 will be installed. This also means that if the package is
361 already installed and newer versions are available, it will get
362 upgraded to the newest installable version.
363
364 If ARCH is not specified, or the last dot of the capability
365 name string is not followed by known architecture, the solver
366 will treat the whole string as a capability name. If the ARCH
367 is known, the solver will select a package matching that
368 architecture and complain if such package cannot be found.
369
370 Zypper is also able to install plain RPM files while trying to
371 satisfy their dependencies using packages from defined
372 repositories. You can install a plain RPM file by specifying its
373 location in the install command arguments either as a local path or
374 an URI. E.g.:
375
376 $ zypper install ~/rpms/foo.rpm http://some.site/bar.rpm
377
378 Zypper will report packages that it cannot find. Further, in
379 interactive mode, zypper proceeds with installation of the rest
380 of requested packages, and it will abort immediately in
381 non-interactive mode. In both cases zypper returns
382 ZYPPER_EXIT_INF_CAP_NOT_FOUND after finishing the operation.
383
384 Zypper will collect the files in a temporary plaindir
385 repository and mark the respective packages for installation.
386 If --download-only is used, the downloaded packages will be
387 available in /var/cache/zypper/RPMS until you actually install
388 them or call zypper clean to clear the package caches. They
389 will not become part of the global package cache at
390 /var/cache/zypp/packages (see also the global --pkg-cache-dir
391 option).
392
393 In the install command, you can also specify packages you wish to
394 remove by prepending their names by a - or ! character. For
395 example:
396
397 $ zypper install \!Firefox
398
399 In contrast to zypper remove Firefox which removes Firefox and
400 its dependent packages, the install command will try to keep
401 dependent packages installed by looking for Firefox
402 alternatives.
403
404 Note that if you choose to use - with the first package you
405 specify, you need to write -- before it to prevent its
406 interpretation as a command option:
407
408 $ zypper install -- -boring-game great-game great-game-manual
409
410 -r, --repo alias|name|#|URI
411 Work only with the repository specified by the alias, name,
412 number or URI. This option can be used multiple times.
413
414 Using --repo is discouraged as it currently hides unmentioned
415 repositories from the resolver, leading to inexpertly
416 decisions. In the future --repo will become an alias for
417 --from.
418
419 -t, --type type
420 Type of package to install (default: package). See section
421 Package Types for list of available package types. Use zypper
422 se -t type [name] to look for available items of this type and
423 zypper info -t type name to display more detailed information
424 about the item.
425
426 If patch is specified, zypper will install and/or remove
427 packages to satisfy specified patch. This is a way to ensure
428 that specific bug fix is installed. Use zypper list-patches to
429 look for applicable patches.
430
431 If product or pattern are specified, zypper ensures that all
432 required (and optionally recommended) packages are installed.
433
434 -n, --name
435 Select packages by their name, don’t try to select by
436 capabilities.
437
438 -f, --force
439 Install even if the item is already installed (reinstall),
440 downgraded or changes vendor or architecture.
441
442 --oldpackage
443 Allow to replace a newer item with an older one. Handy if you
444 are doing a rollback. Unlike --force it will not enforce a
445 reinstall, if the item is already installed with the requested
446 version.
447
448 --from alias|name|#|URI
449 Select packages from specified repository. If strings specified
450 as arguments to the install command match packages in
451 repositories specified in this option, they will be marked for
452 installation. This option currently implies --name, but allows
453 using wildcards for specifying packages.
454
455 -C, --capability
456 Select packages by capabilities.
457
458 -l, --auto-agree-with-licenses
459 Automatically say yes to third party license confirmation
460 prompt. By using this option, you choose to agree with licenses
461 of all third-party software this command will install. This
462 option is particularly useful for administrators installing the
463 same set of packages on multiple machines (by an automated
464 process) and have the licenses confirmed before.
465
466 --auto-agree-with-product-licenses
467 Automatically accept product licenses only. This is used by
468 tools like SUSEconnect, which ask for confirmation before the
469 product gets registered. So there’s no need to confirm the
470 product license again at install time.
471
472 --replacefiles
473 Install the packages even if they replace files from other,
474 already installed, packages. Default is to treat file conflicts
475 as an error. --download-as-needed disables the file conflict
476 check because access to all packages file lists is needed in
477 advance in order to perform the check.
478
479 -D, --dry-run
480 Test the installation, do not actually install any package. If
481 used together with --download-only a meaningful file conflict
482 check can be performed (see section Package File Conflicts).
483
484 --details
485 Show the detailed installation summary.
486
487 -y, --no-confirm
488 Don’t require user interaction. It’s recommended to use the
489 --non-interactive global option instead. Global options are
490 passed before the command (zypper --non-interactive COMMAND
491 ...). Unlike the no-confirm command option, the global option
492 can be used together with any zypper command.
493
494 --allow-unsigned-rpm
495 Silently install unsigned rpm packages given as commandline
496 parameters.
497
498 Solver related options:
499
500
501 --debug-solver
502 Create solver test case for debugging. Use this option if you
503 think the dependencies were not solved correctly. When using
504 this option no packages will be installed or removed. Instead a
505 solver test case is written to /var/log/zypper.solverTestCase.
506 You can pack the directory and attach it to your bug report.
507
508 --force-resolution
509 Force the solver to find a solution by allowing to remove
510 packages with unfulfilled requirements. This is the default
511 when removing packages (zypper remove). This option overrides
512 --no-force-resolution in case both are specified on the command
513 line.
514
515 -R, --no-force-resolution
516 Do not force the solver to find a solution. Instead, report
517 dependency problems and prompt the user to resolve them
518 manually. This is the default except when removing packages
519 (zypper remove).
520
521 --solver-focus MODE
522 Set the solvers general attitude when resolving a job. Valid
523 modes are Job, Installed or Update. See section Package
524 Dependencies for details.
525
526 --recommends
527 Install also recommended packages in addition to the required
528 ones. The default behavior is determined by
529 [zypp.conf:solver.onlyRequires].
530
531 --no-recommends
532 Do not install recommended packages, but only required ones.
533 The default behavior is determined by
534 [zypp.conf:solver.onlyRequires].
535
536 Download-and-install mode options:
537
538
539 -d, --download-only
540 Only download the packages for later installation (see also the
541 global --pkg-cache-dir option).
542
543 If used together with --dry-run a meaningful file conflict
544 check can be performed (see section Package File Conflicts).
545
546 --download-in-advance
547 First download all packages, then start installing. This is the
548 default.
549
550 --download-in-heaps
551 Download a minimal set of packages that can be installed
552 without leaving the system in broken state, and install them.
553 Then download and install another heap until all are installed.
554 This helps to keep the system in consistent state without the
555 need to download all packages in advance, which combines the
556 advantages of --download-in-advance and --download-as-needed.
557 This is the default mode.
558
559 Note
560 While the resolver is not capable of building heaps, this
561 behaves the same as --download-in-advance.
562
563 --download-as-needed
564 Download one package, install it immediately, and continue with
565 the rest until all are installed.
566
567 --download mode
568 Use the specified download-and-install mode. Available modes
569 are: only, in-advance, in-heaps, as-needed. See corresponding
570 --download-mode options for their description.
571
572 Expert Options:
573 Don’t use them unless you know you need them.
574
575 --allow-downgrade, --no-allow-downgrade
576 Whether to allow downgrading installed resolvables.
577
578 --allow-name-change, --no-allow-name-change
579 Whether to allow changing the names of installed resolvables.
580 Setting this to no will not replace packages which have been
581 renamed.
582
583 --allow-arch-change, --no-allow-arch-change
584 Whether to allow changing the architecture of installed
585 resolvables.
586
587 --allow-vendor-change, --no-allow-vendor-change
588 Whether to allow changing the vendor of installed resolvables.
589 Setting this to no might be useful if you do not want packages
590 from foreign repos being changed to the distributions version
591 (or vice versa).
592
593 Examples:
594
595
596 $ zypper install -t pattern lamp_server
597 Install lamp_server pattern.
598
599 $ zypper install --no-recommends gv
600 Install GhostScript viewer, but ignore recommended
601 packages.
602
603 $ zypper install virtualbox-ose-2.0.6
604
605
606 $ zypper install virtualbox-ose=2.0.6
607
608
609 $ zypper install virtualbox-ose = 2.0.6
610 Install version 2.0.6 of virtualbox-ose package.
611
612 source-install (si) name...
613 Install specified source packages and their build dependencies. If
614 the name of a binary package is given, the corresponding source
615 package is looked up and installed instead.
616
617 This command will try to find the newest available versions of the
618 source packages and uses rpm -i to install them, optionally
619 together with all the packages that are required to build the
620 source package. The default location where rpm installs source
621 packages to is /usr/src/packages/{SPECS,SOURCES}, but the values
622 can be changed in your local rpm configuration. In case of doubt
623 try executing rpm --eval "%{_specdir} and %{_sourcedir}".
624
625 Note that the source packages must be available in repositories you
626 are using. You can check whether a repository contains any source
627 packages using the following command:
628
629
630 $ zypper search -t srcpackage -r alias|name|#|URI
631
632
633 $ zypper search -t srcpackage -r alias|name|#|URI
634
635 -d, --build-deps-only
636 Install only build dependencies of specified packages.
637
638 -D, --no-build-deps
639 Don’t install build dependencies.
640
641 -r, --repo alias|name|#|URI
642 Work only with the repository specified by the alias, name,
643 number, or URI. This option can be used multiple times.
644
645 --download-only
646 Only download the packages, do not install.
647
648 Examples:
649
650
651 $ zypper si -d dbus-1
652 Install build dependencies of dbus-1 source package.
653
654 verify (ve) [options]
655 Check whether dependencies of installed packages are satisfied.
656
657 In case that any dependency problems are found, zypper suggests
658 packages to install or remove to fix them.
659
660 -D, --dry-run
661 Test the repair, do not actually do anything to the system. If
662 used together with --download-only a meaningful file conflict
663 check can be performed (see section Package File Conflicts).
664
665 --details
666 Show the detailed installation summary.
667
668 -r, --repo alias|name|#|URI
669 Work only with the repository specified by the alias, name,
670 number, or URI. This option can be used multiple times.
671
672 -y, --no-confirm
673 Don’t require user interaction. It’s recommended to use the
674 --non-interactive global option instead. Global options are
675 passed before the command (zypper --non-interactive COMMAND
676 ...). Unlike the no-confirm command option, the global option
677 can be used together with any zypper command.
678
679 Solver related options:
680
681
682 --debug-solver
683 Create solver test case for debugging. Use this option if you
684 think the dependencies were not solved correctly. When using
685 this option no packages will be installed or removed. Instead a
686 solver test case is written to /var/log/zypper.solverTestCase.
687 You can pack the directory and attach it to your bug report.
688
689 --force-resolution
690 Force the solver to find a solution by allowing to remove
691 packages with unfulfilled requirements. This is the default
692 when removing packages (zypper remove). This option overrides
693 --no-force-resolution in case both are specified on the command
694 line.
695
696 -R, --no-force-resolution
697 Do not force the solver to find a solution. Instead, report
698 dependency problems and prompt the user to resolve them
699 manually. This is the default except when removing packages
700 (zypper remove).
701
702 --solver-focus MODE
703 Set the solvers general attitude when resolving a job. Valid
704 modes are Job, Installed or Update. See section Package
705 Dependencies for details.
706
707 --recommends
708 Install also recommended packages in addition to the required
709 ones. The default behavior is determined by
710 [zypp.conf:solver.onlyRequires].
711
712 --no-recommends
713 Do not install recommended packages, but only required ones.
714 The default behavior is determined by
715 [zypp.conf:solver.onlyRequires].
716
717 Expert Options:
718 Don’t use them unless you know you need them.
719
720 --allow-downgrade, --no-allow-downgrade
721 Whether to allow downgrading installed resolvables.
722
723 --allow-name-change, --no-allow-name-change
724 Whether to allow changing the names of installed resolvables.
725 Setting this to no will not replace packages which have been
726 renamed.
727
728 --allow-arch-change, --no-allow-arch-change
729 Whether to allow changing the architecture of installed
730 resolvables.
731
732 --allow-vendor-change, --no-allow-vendor-change
733 Whether to allow changing the vendor of installed resolvables.
734 Setting this to no might be useful if you do not want packages
735 from foreign repos being changed to the distributions version
736 (or vice versa).
737
738 This command also accepts the Download-and-install mode options
739 described in the install command.
740
741
742 install-new-recommends (inr) [options]
743 Install newly added packages recommended by already installed ones.
744 This command basically re-evaluates the recommendations of all
745 installed packages and fills up the system accordingly. You don’t
746 want to call this unconditionally on small or minimal systems, as
747 it may easily add a large number of packages.
748
749 Called as zypper inr --no-recommends, it restricts the command to
750 just look for packages supporting available hardware, languages or
751 filesystems. Usefull after having added e.g. new hardware or driver
752 repos. This is also the default behavior if you have set
753 [zypp.conf:solver.onlyRequires].
754
755 -r, --repo alias|name|#|URI
756 Work only with the repository specified by the alias, name,
757 number, or URI. This option can be used multiple times.
758
759 -D, --dry-run
760 Test the installation, do not actually install anything. If
761 used together with --download-only a meaningful file conflict
762 check can be performed (see section Package File Conflicts).
763
764 --details
765 Show the detailed installation summary.
766
767 Solver related options:
768
769
770 --debug-solver
771 Create solver test case for debugging. Use this option if you
772 think the dependencies were not solved correctly. When using
773 this option no packages will be installed or removed. Instead a
774 solver test case is written to /var/log/zypper.solverTestCase.
775 You can pack the directory and attach it to your bug report.
776
777 --force-resolution
778 Force the solver to find a solution by allowing to remove
779 packages with unfulfilled requirements. This is the default
780 when removing packages (zypper remove). This option overrides
781 --no-force-resolution in case both are specified on the command
782 line.
783
784 -R, --no-force-resolution
785 Do not force the solver to find a solution. Instead, report
786 dependency problems and prompt the user to resolve them
787 manually. This is the default except when removing packages
788 (zypper remove).
789
790 --solver-focus MODE
791 Set the solvers general attitude when resolving a job. Valid
792 modes are Job, Installed or Update. See section Package
793 Dependencies for details.
794
795 --recommends
796 Install also recommended packages in addition to the required
797 ones. The default behavior is determined by
798 [zypp.conf:solver.onlyRequires].
799
800 --no-recommends
801 Do not install recommended packages, but only required ones.
802 The default behavior is determined by
803 [zypp.conf:solver.onlyRequires].
804
805 Expert Options:
806 Don’t use them unless you know you need them.
807
808 --allow-downgrade, --no-allow-downgrade
809 Whether to allow downgrading installed resolvables.
810
811 --allow-name-change, --no-allow-name-change
812 Whether to allow changing the names of installed resolvables.
813 Setting this to no will not replace packages which have been
814 renamed.
815
816 --allow-arch-change, --no-allow-arch-change
817 Whether to allow changing the architecture of installed
818 resolvables.
819
820 --allow-vendor-change, --no-allow-vendor-change
821 Whether to allow changing the vendor of installed resolvables.
822 Setting this to no might be useful if you do not want packages
823 from foreign repos being changed to the distributions version
824 (or vice versa).
825
826 This command also accepts the Download-and-install mode options
827 described in the install command.
828
829
830 remove (rm) [options] name...
831
832
833 remove (rm) [options] --capability capability...
834 Remove (uninstall) packages.
835
836 The remove command will uninstall the selected and their dependent
837 packages. It will not try to install alternatives in order to keep
838 dependent packages installed. If you want this, use zypper install
839 !name.
840
841 The packages can be selected by their name or by a capability they
842 provide. For details on package selection see the install command
843 description.
844
845 -r, --repo alias|name|#|URI
846 Work only with the repository specified by the alias, name,
847 number, or URI. This option can be used multiple times.
848
849 -t, --type type
850 Type of package (default: package). See section Package Types
851 for list of available package types.
852
853 Since patches are not installed in sense of copying files or
854 recording a database entry, they cannot be uninstalled, even
855 though zypper shows them as installed. The installed status is
856 determined solely based on the installed status of its required
857 dependencies. If these dependencies are satisfied, the patch is
858 rendered installed.
859
860 -n, --name
861 Select packages by their name (default).
862
863 -C, --capability
864 Select packages by capabilities.
865
866 -D, --dry-run
867 Test the removal of packages, do not actually remove anything.
868
869 --details
870 Show the detailed installation summary.
871
872 -y, --no-confirm
873 Don’t require user interaction. It’s recommended to use the
874 --non-interactive global option instead. Global options are
875 passed before the command (zypper --non-interactive COMMAND
876 ...). Unlike the no-confirm command option, the global option
877 can be used together with any zypper command.
878
879 Solver related options:
880
881
882 --debug-solver
883 Create solver test case for debugging. Use this option if you
884 think the dependencies were not solved correctly. When using
885 this option no packages will be installed or removed. Instead a
886 solver test case is written to /var/log/zypper.solverTestCase.
887 You can pack the directory and attach it to your bug report.
888
889 --force-resolution
890 Force the solver to find a solution by allowing to remove
891 packages with unfulfilled requirements. This is the default
892 when removing packages (zypper remove). This option overrides
893 --no-force-resolution in case both are specified on the command
894 line.
895
896 -R, --no-force-resolution
897 Do not force the solver to find a solution. Instead, report
898 dependency problems and prompt the user to resolve them
899 manually. This is the default except when removing packages
900 (zypper remove).
901
902 --solver-focus MODE
903 Set the solvers general attitude when resolving a job. Valid
904 modes are Job, Installed or Update. See section Package
905 Dependencies for details.
906
907 -u, --clean-deps
908 Automatically remove dependencies which become unneeded after
909 removal of requested packages.
910
911 -U, --no-clean-deps
912 No automatic removal of unneeded dependencies.
913
914 purge-kernels [options]
915 Autoremoves installed kernels.
916
917 Automatically cleans up installed kernels according to the rules
918 defined in [zypp.conf:multiversion.kernels] which can be given as
919 <version>, latest[-N], running, oldest[+N].
920
921 --details
922 Show the detailed installation summary.
923
924 -D, --dry-run
925 Test the removal of packages, do not actually remove anything.
926
927 Update Management Commands
928 list-updates (lu) [options]
929 List available updates.
930
931 This command will list only installable updates, i.e. updates which
932 have no dependency problems, or which do not change package vendor.
933 This list is what the update command will propose to install. To
934 list all packages for which newer version are available, use --all
935 option.
936
937 -t, --type type
938 Type of package (default: package). See section Package Types
939 for list of available package types.
940
941 If patch is specified, zypper acts as if the list-patches
942 command was executed.
943
944 -r, --repo alias|name|#|URI
945 Work only with the repository specified by the alias, name,
946 number, or URI. This option can be used multiple times.
947
948 -a, --all
949 List all packages for which newer versions are available,
950 regardless whether they are installable or not.
951
952 --best-effort
953 See the update command for description.
954
955 Expert Options:
956 Don’t use them unless you know you need them.
957
958 --allow-downgrade, --no-allow-downgrade
959 Whether to allow downgrading installed resolvables.
960
961 --allow-name-change, --no-allow-name-change
962 Whether to allow changing the names of installed resolvables.
963 Setting this to no will not replace packages which have been
964 renamed.
965
966 --allow-arch-change, --no-allow-arch-change
967 Whether to allow changing the architecture of installed
968 resolvables.
969
970 --allow-vendor-change, --no-allow-vendor-change
971 Whether to allow changing the vendor of installed resolvables.
972 Setting this to no might be useful if you do not want packages
973 from foreign repos being changed to the distributions version
974 (or vice versa).
975
976 update (up) [options] [packagename]...
977 Update installed packages with newer versions, where possible.
978
979 This command will not update packages which would require change of
980 package vendor unless the vendor is specified in
981 /etc/zypp/vendors.d, or which would require manual resolution of
982 problems with dependencies. Such non-installable updates will then
983 be listed in separate section of the summary as "The following
984 package updates will NOT be installed:".
985
986 To update individual packages, specify one or more package names.
987 You can use the * and ? wildcard characters in the package names to
988 specify multiple packages matching the pattern.
989
990 -t, --type type
991 Type of package (default: package). See section Package Types
992 for list of available package types.
993
994 If patch is specified, zypper acts as if the patches command
995 was executed.
996
997 -r, --repo alias|name|#|URI
998 Work only with the repository specified by the alias, name,
999 number, or URI. This option can be used multiple times.
1000
1001 --skip-interactive
1002 This will skip interactive patches, that is, those that need
1003 reboot, contain a message, or update a package whose license
1004 needs to be confirmed.
1005
1006 --with-interactive
1007 Avoid skipping of interactive patches when in non-interactive
1008 mode.
1009
1010 -l, --auto-agree-with-licenses
1011 Automatically say yes to third party license confirmation
1012 prompt. By using this option, you choose to agree with licenses
1013 of all third-party software this command will install. This
1014 option is particularly useful for administrators installing the
1015 same set of packages on multiple machines (by an automated
1016 process) and have the licenses confirmed before.
1017
1018 --auto-agree-with-product-licenses
1019 Automatically accept product licenses only. This is used by
1020 tools like SUSEconnect, which ask for confirmation before the
1021 product gets registered. So there’s no need to confirm the
1022 product license again at install time.
1023
1024 --replacefiles
1025 Install the packages even if they replace files from other,
1026 already installed, packages. Default is to treat file conflicts
1027 as an error. --download-as-needed disables the fileconflict
1028 check because access to all packages filelists is needed in
1029 advance in order to perform the check.
1030
1031 -D, --dry-run
1032 Test the update, do not actually install or update any package.
1033 If used together with --download-only a meaningful file
1034 conflict check can be performed (see section Package File
1035 Conflicts).
1036
1037 --details
1038 Show the detailed installation summary.
1039
1040 --best-effort
1041 Do a best effort approach to update. This method does not
1042 explicitly select packages with best version and architecture,
1043 but instead requests installation of a package with higher
1044 version than the installed one and leaves the rest on the
1045 dependency solver. This method is always used for packages, and
1046 is optional for products and patterns. It is not applicable to
1047 patches.
1048
1049 -y, --no-confirm
1050 Don’t require user interaction. It’s recommended to use the
1051 --non-interactive global option instead. Global options are
1052 passed before the command (zypper --non-interactive COMMAND
1053 ...). Unlike the no-confirm command option, the global option
1054 can be used together with any zypper command.
1055
1056 Solver related options:
1057
1058
1059 --debug-solver
1060 Create solver test case for debugging. Use this option if you
1061 think the dependencies were not solved correctly. When using
1062 this option no packages will be installed or removed. Instead a
1063 solver test case is written to /var/log/zypper.solverTestCase.
1064 You can pack the directory and attach it to your bug report.
1065
1066 --force-resolution
1067 Force the solver to find a solution by allowing to remove
1068 packages with unfulfilled requirements. This is the default
1069 when removing packages (zypper remove). This option overrides
1070 --no-force-resolution in case both are specified on the command
1071 line.
1072
1073 -R, --no-force-resolution
1074 Do not force the solver to find a solution. Instead, report
1075 dependency problems and prompt the user to resolve them
1076 manually. This is the default except when removing packages
1077 (zypper remove).
1078
1079 --solver-focus MODE
1080 Set the solvers general attitude when resolving a job. Valid
1081 modes are Job, Installed or Update. See section Package
1082 Dependencies for details.
1083
1084 --recommends
1085 Install also recommended packages in addition to the required
1086 ones. The default behavior is determined by
1087 [zypp.conf:solver.onlyRequires].
1088
1089 --no-recommends
1090 Do not install recommended packages, but only required ones.
1091 The default behavior is determined by
1092 [zypp.conf:solver.onlyRequires].
1093
1094 Expert Options:
1095 Don’t use them unless you know you need them.
1096
1097 --allow-downgrade, --no-allow-downgrade
1098 Whether to allow downgrading installed resolvables.
1099
1100 --allow-name-change, --no-allow-name-change
1101 Whether to allow changing the names of installed resolvables.
1102 Setting this to no will not replace packages which have been
1103 renamed.
1104
1105 --allow-arch-change, --no-allow-arch-change
1106 Whether to allow changing the architecture of installed
1107 resolvables.
1108
1109 --allow-vendor-change, --no-allow-vendor-change
1110 Whether to allow changing the vendor of installed resolvables.
1111 Setting this to no might be useful if you do not want packages
1112 from foreign repos being changed to the distributions version
1113 (or vice versa).
1114
1115 This command also accepts the Download-and-install mode options
1116 described in the install command description.
1117
1118
1119 list-patches (lp) [options]
1120 List all applicable patches.
1121
1122 This command is similar to zypper list-updates -t patch.
1123
1124 Note that optional arguments of some of the following options must
1125 be specified using = instead of a space.
1126
1127 -b, --bugzilla[=#[,...]]
1128 List applicable patches for all Bugzilla issues, or issues
1129 whose number matches the given string.
1130
1131 --cve[=#[,...]]
1132 List applicable patches for all CVE issues, or issues whose
1133 number matches the given string.
1134
1135 --date YYYY-MM-DD[,...]
1136 List only patches issued up to, but not including, the
1137 specified date.
1138
1139 -g, --category category[,...]
1140 List only patches with this category. See section Package Types
1141 for a list of commonly used category values.
1142
1143 --severity severity[,...]
1144 List only patches with this severity. See section Package Types
1145 for a list of commonly used severity values.
1146
1147 --issue[=string[,...]]
1148 Look for issues whose number, summary, or description matches
1149 the specified string. Issues found by number are displayed
1150 separately from those found by descriptions. In the latter
1151 case, use zypper patch-info patchname to get information about
1152 issues the patch fixes.
1153
1154 -a, *--all
1155 By default, only patches that are applicable on your system are
1156 listed. This option causes all available released patches to be
1157 listed. This option can be combined with all the rest of the
1158 list-updates command options.
1159
1160 --with-optional, --without-optional
1161 Whether applicable optional patches should be treated as needed
1162 or be excluded. The default is to exclude optional patches.
1163
1164 -r, --repo alias|name|#|URI
1165 Work only with the repository specified by the alias, name,
1166 number, or URI. This option can be used multiple times.
1167
1168 patch-check (pchk)
1169 Check for patches. Displays a count of applicable patches and how
1170 many of them have the security category.
1171
1172 See also the EXIT CODES section for details on exit status of 0,
1173 100, and 101 returned by this command.
1174
1175 --updatestack-only
1176 Check only for patches which affect the package management
1177 itself.
1178
1179 --with-optional, --without-optional
1180 Whether applicable optional patches should be treated as needed
1181 or be excluded. The default is to exclude optional patches.
1182
1183 -r, --repo alias|name|#|URI
1184 Check for patches only in the repository specified by the
1185 alias, name, number, or URI. This option can be used multiple
1186 times.
1187
1188 patch [options]
1189 Install all available needed patches.
1190
1191 When updating the affected/vulnerable packages described by a
1192 patch, zypper always aims for the latest available version. See
1193 section Package Types for more details about how patches operate.
1194
1195 If there are patches that affect the package management itself,
1196 those will be installed first and you will be asked to run the
1197 patch command again.
1198
1199 This command is similar to zypper update -t patch.
1200
1201 --updatestack-only
1202 Install only patches which affect the package management itself
1203 and exit.
1204
1205 --with-update
1206 Additionally try to update all packages not covered by patches.
1207 This is basically the same as running zypper update afterwards.
1208
1209 The option is ignored, if the patch command must update the
1210 update stack first, thus it can not be combined with the
1211 --updatestack-only option.
1212
1213 --with-optional, --without-optional
1214 Whether applicable optional patches should be treated as needed
1215 or be excluded. The default is to exclude optional patches.
1216
1217 -b, --bugzilla #[,...]
1218 Select applicable patches for a Bugzilla issue specified by
1219 number. Use list-patches --bugzilla command to get a list of
1220 applicable patches for specific issues.
1221
1222 --cve #[,...]
1223 Select applicable patches for a MITRE’s CVE issue specified by
1224 number. Use list-patches --cve command to get a list of
1225 applicable patches for specific issues.
1226
1227 --date YYYY-MM-DD[,...]
1228 Select only patches patches issued up to, but not including,
1229 the specified date.
1230
1231 -g, --category category[,...]
1232 Select only patches with this category. Use list-patches
1233 --category command to get a list of available patches with a
1234 specific category. See section Package Types for a list of
1235 commonly used category values.
1236
1237 --severity severity[,...]
1238 Select only patches with this severity. Use list-patches
1239 --severity command to get a list of available patches with a
1240 specific severity. See section Package Types for a list of
1241 commonly used severity values.
1242
1243 -r, --repo alias|name|#|URI
1244 Work only with the repository specified by the alias, name,
1245 number, or URI. This option can be used multiple times.
1246
1247 --skip-interactive
1248 This will skip interactive patches, that is, those that need
1249 reboot, contain a message, or update a package whose license
1250 needs to be confirmed.
1251
1252 --with-interactive
1253 Avoid skipping of interactive patches when in non-interactive
1254 mode.
1255
1256 -l, --auto-agree-with-licenses
1257 Automatically say yes to third party license confirmation
1258 prompt. By using this option, you choose to agree with licenses
1259 of all third-party software this command will install. This
1260 option is particularly useful for administrators installing the
1261 same set of packages on multiple machines (by an automated
1262 process) and have the licenses confirmed before.
1263
1264 --auto-agree-with-product-licenses
1265 Automatically accept product licenses only. This is used by
1266 tools like SUSEconnect, which ask for confirmation before the
1267 product gets registered. So there’s no need to confirm the
1268 product license again at install time.
1269
1270 --replacefiles
1271 Install the packages even if they replace files from other,
1272 already installed, packages. Default is to treat file conflicts
1273 as an error. --download-as-needed disables the fileconflict
1274 check because access to all packages filelists is needed in
1275 advance in order to perform the check.
1276
1277 -D, --dry-run
1278 Test the update, do not actually update. If used together with
1279 --download-only a meaningful file conflict check can be
1280 performed (see section Package File Conflicts).
1281
1282 --details
1283 Show the detailed installation summary.
1284
1285 -y, --no-confirm
1286 Don’t require user interaction. It’s recommended to use the
1287 --non-interactive global option instead. Global options are
1288 passed before the command (zypper --non-interactive COMMAND
1289 ...). Unlike the no-confirm command option, the global option
1290 can be used together with any zypper command.
1291
1292 Solver related options:
1293
1294
1295 --debug-solver
1296 Create solver test case for debugging. Use this option if you
1297 think the dependencies were not solved correctly. When using
1298 this option no packages will be installed or removed. Instead a
1299 solver test case is written to /var/log/zypper.solverTestCase.
1300 You can pack the directory and attach it to your bug report.
1301
1302 --force-resolution
1303 Force the solver to find a solution by allowing to remove
1304 packages with unfulfilled requirements. This is the default
1305 when removing packages (zypper remove). This option overrides
1306 --no-force-resolution in case both are specified on the command
1307 line.
1308
1309 -R, --no-force-resolution
1310 Do not force the solver to find a solution. Instead, report
1311 dependency problems and prompt the user to resolve them
1312 manually. This is the default except when removing packages
1313 (zypper remove).
1314
1315 --solver-focus MODE
1316 Set the solvers general attitude when resolving a job. Valid
1317 modes are Job, Installed or Update. See section Package
1318 Dependencies for details.
1319
1320 --recommends
1321 Install also recommended packages in addition to the required
1322 ones. The default behavior is determined by
1323 [zypp.conf:solver.onlyRequires].
1324
1325 --no-recommends
1326 Do not install recommended packages, but only required ones.
1327 The default behavior is determined by
1328 [zypp.conf:solver.onlyRequires].
1329
1330 Expert Options:
1331 Don’t use them unless you know you need them.
1332
1333 --allow-downgrade, --no-allow-downgrade
1334 Whether to allow downgrading installed resolvables.
1335
1336 --allow-name-change, --no-allow-name-change
1337 Whether to allow changing the names of installed resolvables.
1338 Setting this to no will not replace packages which have been
1339 renamed.
1340
1341 --allow-arch-change, --no-allow-arch-change
1342 Whether to allow changing the architecture of installed
1343 resolvables.
1344
1345 --allow-vendor-change, --no-allow-vendor-change
1346 Whether to allow changing the vendor of installed resolvables.
1347 Setting this to no might be useful if you do not want packages
1348 from foreign repos being changed to the distributions version
1349 (or vice versa).
1350
1351 This command also accepts the Download-and-install mode options
1352 described in the install command description.
1353
1354
1355 dist-upgrade (dup) [options]
1356 Perform a distribution upgrade. This command applies the state of
1357 (specified) repositories onto the system; upgrades (or even
1358 downgrades) installed packages to versions found in repositories,
1359 removes packages that are no longer in the repositories and pose a
1360 dependency problem for the upgrade, handles package splits and
1361 renames, etc.
1362
1363 If no repositories are specified via the --from option, zypper will
1364 do a global upgrade with all defined repositories. This global form
1365 of dup will also consider unchanged installed packages and
1366 re-evaluate their dependencies. This can be a problem if the system
1367 contains conflicting repositories, like repositories for two
1368 different distribution releases. This often happens if one forgets
1369 to remove an older release repository after adding a new one, say
1370 openSUSE 13.1 and openSUSE 13.2.
1371
1372 For all repositories which have the distribution version within
1373 their URL (like
1374 https://download.opensuse.org/distribution/13.1/repo/oss) using the
1375 $releasever variable instead may be helpful
1376 (https://download.opensuse.org/distribution/$releasever/repo/oss).
1377 The variable is per default substituted by the current
1378 distributions version (13.1).
1379
1380 This value can be temporarily overwritten in the current zypper
1381 command by using the --releasever global option. Calling zypper
1382 --releasever 13.2... will cause these repos to use the new location
1383 (https://download.opensuse.org/distribution/13.2/repo/oss) without
1384 the need to add/remove anything. But you’ll need to use
1385 --releasever 13.2 with every zypper command until the distribution
1386 upgrade was actually performed. Once the dup is done, $releasever
1387 will default to the new distribution version 13.2 and --releasever
1388 is no longer needed.
1389
1390 It might be less tedious to persistently set $releasever to the
1391 target distribution value, so --releasever is not needed at all.
1392 See section Repository Management for more info about variable
1393 substitution and the definition of custom variables.
1394
1395 Note: Performing a distribution upgrade will automatically create a
1396 solver test case at /var/log/updateTestcase-YYYY-MM-DD-hh-mm-ss
1397 (the date and time the command was executed).
1398
1399 Note: distribution upgrades in openSUSE are currently only
1400 supported between consecutive releases. To upgrade multiple
1401 releases, upgrade each consecutive release one at a time. For more
1402 details see http://en.opensuse.org/SDB:System_upgrade and the
1403 openSUSE release notes at http://doc.opensuse.org/release-notes/.
1404
1405 --from alias|name|#|URI
1406 The option can be used multiple times and restricts the upgrade
1407 to the specified repositories only. Nevertheless all enabled
1408 repositories are visible to the resolver and will be considered
1409 to satisfy dependency problems.
1410
1411 -r, --repo alias|name|#|URI
1412 Work only with the repository specified by the alias, name,
1413 number, or URI.
1414
1415 Using --repo is discouraged as it currently hides unmentioned
1416 repositories from the resolver, leading to inexpertly
1417 decisions. This is because packages originally installed from
1418 the hidden repos will now be treated as orphaned or dropped.
1419 They can be silently removed if involved in a dependency
1420 conflict. In the future --repo will become an alias for --from.
1421
1422 -l, --auto-agree-with-licenses
1423 Automatically say yes to third party license confirmation
1424 prompt. By using this option, you choose to agree with licenses
1425 of all third-party software this command will install. This
1426 option is particularly useful for administrators installing the
1427 same set of packages on multiple machines (by an automated
1428 process) and have the licenses confirmed before.
1429
1430 --auto-agree-with-product-licenses
1431 Automatically accept product licenses only. This is used by
1432 tools like SUSEconnect, which ask for confirmation before the
1433 product gets registered. So there’s no need to confirm the
1434 product license again at install time.
1435
1436 --replacefiles
1437 Install the packages even if they replace files from other,
1438 already installed, packages. Default is to treat file conflicts
1439 as an error. --download-as-needed disables the fileconflict
1440 check because access to all packages filelists is needed in
1441 advance in order to perform the check.
1442
1443 -D, --dry-run
1444 Test the upgrade, do not actually install or update any
1445 package. If used together with --download-only a meaningful
1446 file conflict check can be performed (see section Package File
1447 Conflicts).
1448
1449 -y, --no-confirm
1450 Don’t require user interaction. It’s recommended to use the
1451 --non-interactive global option instead. Global options are
1452 passed before the command (zypper --non-interactive COMMAND
1453 ...). Unlike the no-confirm command option, the global option
1454 can be used together with any zypper command.
1455
1456 --details
1457 Show the detailed installation summary.
1458
1459 Solver related options:
1460
1461
1462 --debug-solver
1463 Create solver test case for debugging. Use this option if you
1464 think the dependencies were not solved correctly. When using
1465 this option no packages will be installed or removed. Instead a
1466 solver test case is written to /var/log/zypper.solverTestCase.
1467 You can pack the directory and attach it to your bug report.
1468
1469 --force-resolution
1470 Force the solver to find a solution by allowing to remove
1471 packages with unfulfilled requirements. This is the default
1472 when removing packages (zypper remove). This option overrides
1473 --no-force-resolution in case both are specified on the command
1474 line.
1475
1476 -R, --no-force-resolution
1477 Do not force the solver to find a solution. Instead, report
1478 dependency problems and prompt the user to resolve them
1479 manually. This is the default except when removing packages
1480 (zypper remove).
1481
1482 --solver-focus MODE
1483 Set the solvers general attitude when resolving a job. Valid
1484 modes are Job, Installed or Update. See section Package
1485 Dependencies for details.
1486
1487 --recommends
1488 Install also recommended packages in addition to the required
1489 ones. The default behavior is determined by
1490 [zypp.conf:solver.onlyRequires].
1491
1492 --no-recommends
1493 Do not install recommended packages, but only required ones.
1494 The default behavior is determined by
1495 [zypp.conf:solver.onlyRequires].
1496
1497 Expert Options:
1498 Don’t use them unless you know you need them.
1499
1500 --allow-downgrade, --no-allow-downgrade
1501 Whether to allow downgrading installed resolvables.
1502
1503 --allow-name-change, --no-allow-name-change
1504 Whether to allow changing the names of installed resolvables.
1505 Setting this to no will not replace packages which have been
1506 renamed.
1507
1508 --allow-arch-change, --no-allow-arch-change
1509 Whether to allow changing the architecture of installed
1510 resolvables.
1511
1512 --allow-vendor-change, --no-allow-vendor-change
1513 Whether to allow changing the vendor of installed resolvables.
1514 Setting this to no might be useful if you do not want packages
1515 from foreign repos being changed to the distributions version
1516 (or vice versa).
1517
1518 This command also accepts the Download-and-install mode options
1519 described in the install command description.
1520
1521
1522 Examples:
1523
1524
1525 $ zypper dup --from factory --from packman
1526 Upgrade the system to the latest versions provided by the
1527 factory and packman repositories.
1528
1529 Query Commands
1530 search (se) [options] [querystring|capability]...
1531 Search for packages matching any of the given search strings. * and
1532 ? wildcard characters can be used within search strings. If the
1533 search string is enclosed in / (e.g. /^k.*e$/) it’s interpreted as
1534 a regular expression. See the install command for details about how
1535 to specify a capability.
1536
1537 Results of the search are printed in a table with columns Status,
1538 Name, Summary and Type of package.
1539
1540 In the detailed view (se -s) all available instances of matching
1541 packages are shown; each version in each repository on a separate
1542 line, with columns Status, Name, Type, Version, Architecture and
1543 Repository. For installed packages Repository shows either a
1544 repository that provides exactly the installed version of the
1545 package, or, if the exact version is not provided by any known
1546 repo, (System Packages) (or @System). Those installed packages not
1547 provided by any repo are often denoted as being unwanted, orphaned
1548 or dropped.
1549
1550 The Status column can contain the following values:
1551
1552 i+
1553 installed by user request
1554
1555 i
1556 installed automatically (by the resolver, see section
1557 Automatically installed packages)
1558
1559 v
1560 a different version is installed
1561
1562 empty
1563 neither of the above cases
1564
1565 !
1566 a patch in needed state
1567
1568
1569
1570
1571 .l
1572 is shown in the 2nd column if the item is locked (see
1573 section Package Locks Management)
1574
1575 .P
1576 is shown in the 2nd column if the item is part of a PTF (A
1577 program temporary fix which must be explicitly selected and
1578 will otherwise not be considered in dependency resolution).
1579
1580 .R
1581 is shown in the 2nd column if the item has been retracted
1582 (see patch in section Package Types)
1583
1584
1585 The v status is only shown if the version or the repository matters
1586 (see --details or --repo), and the installed instance differs from
1587 the one listed in version or repository.
1588
1589 This command accepts the following options:
1590
1591 --match-substrings
1592 Matches for search strings may be partial words (default).
1593
1594 --match-words
1595 Matches for search strings may only be whole words.
1596
1597 -x, --match-exact
1598 Searches for an exact name of the package.
1599
1600 --provides
1601 Search for packages which provide the search strings.
1602
1603 --requires
1604 Search for packages which require the search strings.
1605
1606 --recommends
1607 Search for packages which recommend the search strings.
1608
1609 --suggests
1610 Search for packages which suggest the search strings.
1611
1612 --conflicts
1613 Search for packages conflicting with the search strings.
1614
1615 --obsoletes
1616 Search for packages which obsolete the search strings.
1617
1618 --supplements
1619 Search for packages which supplement the search strings.
1620
1621 --provides-pkg
1622 Search for all packages that provide any of the provides of the
1623 package(s) matched by the input parameters.
1624
1625 --requires-pkg
1626 Search for all packages that require any of the provides of the
1627 package(s) matched by the input parameters.
1628
1629 --recommends-pkg
1630 Search for all packages that recommend any of the provides of
1631 the package(s) matched by the input parameters.
1632
1633 --supplements-pkg
1634 Search for all packages that supplement any of the provides of
1635 the package(s) matched by the input parameters.
1636
1637 --conflicts-pkg
1638 Search for all packages that conflict with any of the
1639 package(s) matched by the input parameters.
1640
1641 --obsoletes-pkg
1642 Search for all packages that obsolete any of the package(s)
1643 matched by the input parameters.
1644
1645 --suggests-pkg
1646 Search for all packages that suggest any of the provides of the
1647 package(s) matched by the input parameters.
1648
1649 -n, --name
1650 Useful together with dependency options, otherwise searching in
1651 package name is default.
1652
1653 -f, --file-list
1654 Search in the file list of packages. Note that the full file
1655 list is available for installed packages only. For remote
1656 packages only an abstract of their file list is available
1657 within the metadata (files containing /etc/, /bin/, or /sbin/).
1658
1659 -d, --search-descriptions
1660 Search also in summaries and descriptions.
1661
1662 -C, --case-sensitive
1663 Perform case-sensitive search.
1664
1665 -i, --installed-only
1666 Show only installed packages.
1667
1668 -u, --not-installed-only
1669 Show only packages which are not installed.
1670
1671 The old option name --uninstalled-only is still acceptable, but
1672 should be considered deprecated.
1673
1674 -t, --type type
1675 Search only for packages of specified type. See section Package
1676 Types for a list of available package types. Multiple --type
1677 options are allowed.
1678
1679 See also the type-specific query commands like packages,
1680 patterns, etc.
1681
1682 -r, --repo alias|name|#|URI
1683 Work only with the repository specified by the alias, name,
1684 number, or URI. This option can be used multiple times.
1685
1686 --sort-by-name
1687 Sort packages by name (default).
1688
1689 --sort-by-repo
1690 Sort packages by repository, not by name.
1691
1692 -s, --details
1693 Show all available versions of matching packages, each version
1694 in each repository on a separate line.
1695
1696 -v, --verbose
1697 Like --details with additional information where the search has
1698 matched (useful when searching for dependencies, e.g.
1699 --provides).
1700
1701 Examples:
1702
1703
1704 $ zypper se 'yast*'
1705 Search for YaST packages (quote the string to prevent the
1706 shell from expanding the wildcard).
1707
1708 $ zypper se -s --match-exact kernel-default
1709 Show all available versions of package kernel-default
1710
1711 $ zypper se -dC --match-words RSI
1712 Look for RSI acronym (case-sensitively), also in summaries
1713 and descriptions.
1714
1715 packages (pa) [options] [repository]...
1716 List all available packages or all packages from specified
1717 repositories. Similar to zypper search -s -t package.
1718
1719 -r, --repo alias|name|#|URI
1720 Just another means to specify repositories.
1721
1722 -i, --installed-only
1723 Show only installed packages.
1724
1725 -u, --not-installed-only
1726 Show only packages which are not installed.
1727
1728 The old option name --uninstalled-only is still acceptable, but
1729 should be considered deprecated.
1730
1731 --orphaned
1732 Show packages which are orphaned (without repository).
1733
1734 --suggested
1735 Show packages which are suggested.
1736
1737 --recommended
1738 Show packages which are recommended.
1739
1740 --unneeded
1741 Show packages which are unneeded.
1742
1743 patches (pch) [options] [repository]...
1744 List all available patches from specified repositories, including
1745 those not needed. Short for zypper lp -a.
1746
1747 -r, --repo alias|name_|#|URI
1748 Just another means to specify repositories.
1749
1750 patterns (pt) [options] [repository]...
1751 List all available patterns or all patterns from specified
1752 repositories. Similar to zypper search -s -t pattern.
1753
1754 -r, --repo alias|name|#|URI
1755 Just another means to specify repositories.
1756
1757 -i, --installed-only
1758 Show only installed patterns.
1759
1760 -u, --not-installed-only
1761 Show only patterns which are not installed.
1762
1763 The old option name --uninstalled-only is still acceptable, but
1764 should be considered deprecated.
1765
1766 products (pd) [options] [repository]...
1767 List all available products or all products from specified
1768 repositories. Similar to zypper search -s -t product, but shows
1769 also the type of the product (base, add-on).
1770
1771 -r, --repo alias|name|#|URI
1772 Just another means to specify repositories.
1773
1774 -i, --installed-only
1775 Show only installed products.
1776
1777 -u, --not-installed-only
1778 Show only products which are not installed.
1779
1780 The old option name --uninstalled-only is still acceptable, but
1781 should be considered deprecated.
1782
1783 --xmlfwd tag
1784 XML output only: Literally forward the XML tag, if it is found
1785 in an installed products .prod-file (in /etc/products.d).
1786
1787 Using this option, for each installed product an <xmlfwd> node
1788 will be created inside the <product> output node of the
1789 product.
1790
1791 Tag defines the name (or /-separated path) of a xml-tag inside
1792 an installed products .prod-file. If the tag is present inside
1793 the products .prod-file, the tag and it’s content is literally
1794 forwarded into the products <xmlfwd> output node.
1795
1796 The option may be specified multiple times.
1797
1798 Examples:
1799
1800
1801 $ zypper -x pd --xmlfwd name --xmlfwd register/target
1802
1803
1804 what-provides (wp) capability
1805 List all packages providing the specified capability
1806 (case-insensitive search). See also the install command for info
1807 about specifying capabilities.
1808
1809 The command line is automatically transformed into the
1810 corresponding search command:
1811
1812
1813 $ zypper what-provides 'zypper>1.6'
1814 $ zypper search --provides --match-exact 'zypper>1.6'
1815
1816 For a case-sensitive search call
1817 $ zypper search --provides --match-exact --case-sensitive
1818 'zypper>1.6'
1819
1820 Repository Management
1821 Zypper is able to work with YaST, RPM-MD (yum) software repositories,
1822 and plain directories containing .rpm files (no symlinks).
1823
1824 Repositories are primarily identified using their URI or alias. Alias
1825 serves as a shorthand for the long URI or name of the repository. The
1826 name of the repository should briefly describe the repository and is
1827 shown to the user in tables and messages. The name is not required, and
1828 if not known, the alias is shown instead. The alias is required and
1829 uniquely identifies the repository on the system.
1830
1831 The alias, name, URI, or the number from zypper repos list can be used
1832 to specify a repository as an argument of various zypper commands and
1833 options like refresh, --repo, or --from.
1834
1835 Apart from the above, repositories have several other properties which
1836 can be set using the commands described in this section below, or by
1837 manually editing the repository definition files (.repo files, see
1838 section FILES).
1839
1840 Variable substitution:
1841 You can use the following variables within a .repo or .service files
1842 name and URI values:
1843
1844 $arch
1845 Use this variable to refer to the system’s CPU architecture.
1846
1847 $basearch
1848 Use this variable to refer to the base architecture of the system.
1849 For example, iX86 machines have a base architecture of i386, while
1850 AMD64 and Intel64 have x86_64.
1851
1852 $releasever, $releasever_major, $releasever_minor
1853 Use this variable to refer to the version of your openSUSE or SUSE
1854 Linux. The value is obtained from the /product/version XML-node in
1855 /etc/products.d/baseproduct.
1856
1857 This is useful for related repositories like packman
1858 (http://ftp.gwdg.de/pub/linux/packman/suse/$releasever), which
1859 shall always fit the installed distribution, even after a
1860 distribution upgrade.
1861
1862 To help performing a distribution upgrade, the value of $releasever
1863 can be persistently set to a user defined value by creating a
1864 custom variable with that name (see below). This way you can easily
1865 switch all repositories using $releasever to the new version
1866 (provided the server layouts did not change and new repos are
1867 already available).
1868
1869 For a single zypper command the value of $releasever can be
1870 temporarily overwritten by using the --releasever global option.
1871
1872 In addition $releasever_major will be set to the leading portion up
1873 to (but not including) the 1st dot; $releasever_minor to the
1874 trailing portion after the 1st dot. If there’s no dot in
1875 $releasever, $releasever_major is the same as $releasever and
1876 $releasever_minor is empty.
1877
1878 Custom Variables
1879 A custom repository variable is defined by creating a file in
1880 /etc/zypp/vars.d. The variable name equals the file name. The files
1881 first line (up to but not including the newline character) defines
1882 the variables value. Valid variable(file) names consist of
1883 alphanumeric chars and underscore only.
1884
1885 This is how you can set a custom variable, e.g. $releasever to a value
1886 of 99.0:
1887 echo "99.0" >/etc/zypp/vars.d/releasever
1888
1889 To remove the custom variable, simply delete its file in
1890 /etc/zypp/vars.d:
1891 rm /etc/zypp/vars.d/releasever
1892
1893 To check where you already use $releasever call:
1894 zypper --releasever @--HERE--@ lr -u
1895
1896 Remember to protect the $ when using these variables on a shell command
1897 line:
1898 zypper ar -f http://ftp.gwdg.de/pub/linux/packman/suse/\$releasever
1899 packman
1900
1901 If a variable is followed by an alphanumeric character or underscore it
1902 needs to be enclosed in {}:
1903 zypper ar -f
1904 http://ftp.gwdg.de/pub/linux/packman/suse/\${releasever}_packman
1905
1906 Bash style definition of default ${variable:-word} and alternate
1907 ${variable:+word} values:
1908 SLE-${releasever_major}${releasever_minor:+-SP-$releasever_minor}
1909
1910 NOTE:
1911 Variable substitution within an URIs authority is limited to host
1912 and port. Bash style definition of default and alternate values is
1913 not supported. No variables can be used in an URIs scheme, user and
1914 password.
1915
1916 Supported URI formats:
1917 scheme:@]host[:port]]/path[?query][#fragment]
1918 Special characters occurring in URI components (like a '@' in a
1919 password) must be %-encoded ('%40').
1920
1921 CD or DVD drive
1922 Optionally with devices list for probing.
1923
1924 • cd:///
1925 dvd:/subdir?devices=/dev/sr0,/dev/sr1
1926
1927 FTP/HTTP/HTTPS directory tree
1928 The ftp URL scheme supports absolute and relative paths to the
1929 default ftp server directory (RFC1738, Section 3.2.2). To use an
1930 absolute path, you have to prepend the path with an additional
1931 slash, what results in a /%2f combination (second / encoded to %2f)
1932 at the begin of the URL path. This is important, especially in user
1933 authenticated ftp, where the users home is usually the default
1934 directory of the server (except when the server chroots into the
1935 users home directory).
1936
1937 Explicit proxy settings may be passed via optional parameters
1938 proxy, proxyport, proxyuser and proxypass.
1939
1940 HTTP authentication methods to use can be defined as comma
1941 separated list via optional parameter auth. Valid methods are e.g.
1942 basic, digest, ntlm, negotiate. Note, that this list depends on the
1943 list of methods supported by the curl library.
1944
1945 SSL verification behavior can be changed using the ssl_verify
1946 option (this should be used with care). Valid values are yes (the
1947 secure default), host, peer or no. Host just checks that the
1948 "Common Name" field or a "Subject Alternate Name" field in the
1949 servers certificate matches the host name in the URL. Peer just
1950 verifies whether the certificate provided by the server is
1951 authentic against the chain of digital signatures found in
1952 ssl_capath. No performs no checks at all. Yes is the secure
1953 default, performing host and peer check.
1954
1955 For SSL client certificate authentication use the options
1956 ssl_clientcert to define the path to the ssl client certificate and
1957 ssl_clientkey to define the path to the SSL client key. Use
1958 ssl_capath to change the directory holding the CA certificates
1959 (default is /etc/ssl/certs).
1960
1961 • ftp://user:pass@server/path/to/media/dir
1962 ftp://user:pass@server/%2fhome/user/path/to/media/dir
1963 http://user:pass@server/path
1964 https://user:pass@server/path?proxy=foo&proxyuser=me&proxypass=pw
1965 https://server/path?ssl_clientcert=/entitlement/1234.pem&ssl_clientkey=/entitlement/1234-key.pem
1966
1967 Disk volume (partition)
1968 Mandatory device parameter specifying the name of the block device
1969 to mount. The name of the optional filesystem defaults to "auto".
1970
1971 • hd:/subdir?device=/dev/sda1&filesystem=reiserfs
1972
1973 Local directory tree
1974
1975 • dir:/directory/name
1976
1977 Media in an ISO image (loopback mounted)
1978 Mandatory iso parameter specifying the name of the iso file.
1979 Optional url parameter specifying the URL to the directory
1980 containing the iso file. Optional mnt parameter specifying the
1981 preferred attach point for the source media url. Optional
1982 filesystem name of the filesystem used in the iso file. Defaults to
1983 "auto".
1984
1985 • iso:/?iso=CD1.iso&url=nfs://server/path/to/media
1986 iso:/?iso=CD1.iso&url=hd:/?device=/dev/hda
1987 iso:/subdir?iso=DVD1.iso&url=nfs://nfs-server/directory&mnt=/nfs/attach/point&filesystem=udf
1988
1989 NFS exported directory tree
1990 To use NFSv4 either use schema tnfsv4:// or pass an optional
1991 parameter type=nfs4. Additional mountoptions can be passed as comma
1992 separated list. Defaults to "ro".
1993
1994 • nfs://nfs-server/exported/path
1995 nfs://nfs-server/exported/path?mountoptions=ro&type=nfs4
1996 nfs4://nfs-server/exported/path?mountoptions=ro
1997
1998 CIFS/SMB directory tree
1999 There is no difference between cifs and smb scheme (any more). In
2000 both cases the cifs filesystem is used. Additional mountoptions can
2001 be passed as comma separated list. Defaults to "ro,guest". Specify
2002 "noguest" to turn off "guest". This is necessary if Samba is
2003 configured to reject guest connections.
2004
2005 Optional workgroup or domain parameter set the name of the
2006 workgroup. As alternative to passing username:password in the URI
2007 authority the parameters user and pass can be used.
2008
2009 • smb://servername/share/path/on/the/share
2010 cifs://usern:passw@servername/share/path/on/the/share?mountoptions=ro,noguest
2011 cifs://usern:passw@servername/share/path/on/the/share?workgroup=mygroup
2012 cifs://servername/share/path/on/the/share?user=usern&pass=passw
2013
2014 OpenSUSE Build Build Service (OBS) repositories
2015 Zypper also accepts special URIs identifying openSUSE Build Service
2016 (OBS) repositories in the addrepo command. These URIs have the form
2017 of obs://project/[platform], where project is the name of the OBS
2018 project and platform is the target platform (OS) for which the
2019 repository is intended.
2020
2021 If platform is omitted, openSUSE_$releasever is used unless a value
2022 for obs.platform is defined in zypper.conf. If you are following
2023 openSUSE_Factory or openSUSE_Tumbleweed you may need to set these
2024 as your default platform. But we can only guess, how the directory
2025 containing the repository that fits your distribution is named on
2026 the server. In case of doubt you need to look up the right URL in a
2027 browser.
2028
2029 • obs://zypp:Head/
2030 obs://zypp:Head/openSUSE_Factory
2031 obs://zypp:Head/openSUSE_Factory_Staging_Gcc49_standard
2032
2033 Commands:
2034 addrepo (ar) [options] URI alias
2035
2036
2037 addrepo (ar) [options] FILE*.repo*
2038 Add a new repository specified by URI and assign specified alias to
2039 it or specify URI to a .repo file.
2040
2041 Newly added repositories have auto-refresh disabled by default
2042 (except for repositories imported from a .repo, having the
2043 auto-refresh enabled). To enable auto-refresh use addrepo -f, or
2044 the --refresh option of the modifyrepo command.
2045
2046 Also, this command does not automatically refresh the newly added
2047 repositories. The repositories will get refreshed when used for the
2048 first time, or you can use the refresh command after finishing your
2049 modifications with *repo commands.
2050
2051 -r, --repo file.repo
2052 Read URI and alias from specified .repo file
2053
2054 -c, --check
2055 Probe given URI.
2056
2057 -C, --no-check
2058 Don’t probe URI, probe later during refresh.
2059
2060 -n, --name name
2061 Specify descriptive name for the repository.
2062
2063 -e, --enable
2064 Enable the repository (the default).
2065
2066 -d, --disable
2067 Add the repository as disabled. Repositories are added as
2068 enabled by default.
2069
2070 -f, --refresh
2071 Enable autorefresh of the repository. The autorefresh is
2072 disabled by default when adding new repositories.
2073
2074 -F, --no-refresh
2075 Disable auto-refresh for the repository.
2076
2077 -p, --priority positive-integer
2078 Set the priority of the repository. Priority of 1 is the
2079 highest, the higher the number the lower the priority. -p 0
2080 will set the priority back to the default (99). Packages from
2081 repositories with higher priority will be preferred even in
2082 case there is a higher installable version available in the
2083 repository with a lower priority.
2084
2085 -k, --keep-packages
2086 Enable RPM files caching for the repository.
2087
2088 -K, --no-keep-packages
2089 Disable RPM files caching.
2090
2091 -g, --gpgcheck
2092 Enable GPG check for this repository. The behavior as described
2093 in section GPG checks.
2094
2095 --gpgcheck-strict
2096 Enable strict GPG check for this repository. Even packages from
2097 signed repositories need a valid GPG signature and using
2098 unsigned packages must be confirmed.
2099
2100 --gpgcheck-allow-unsigned
2101 Short hand for --gpgcheck-allow-unsigned-repo
2102 --gpgcheck-allow-unsigned-package
2103
2104 --gpgcheck-allow-unsigned-repo
2105 Enable GPG check but allow the repository metadata to be
2106 unsigned.
2107
2108 --gpgcheck-allow-unsigned-package
2109 Enable GPG check but allow installing unsigned packages from
2110 this repository.
2111
2112 -G, --no-gpgcheck
2113 Disable GPG check for this repository.
2114
2115 Disabling GPG checks is not recommended. Signing data enables
2116 the recipient to verify that no modifications occurred after
2117 the data were signed. Accepting data with no, wrong or unknown
2118 signature can lead to a corrupted system and in extreme cases
2119 even to a system compromise.
2120
2121 --default-gpgcheck
2122 Use the global GPG check settings defined in
2123 /etc/zypp/zypp.conf. This is the default.
2124
2125 Unless you have modified your zypp.conf settings, this is the
2126 same as --gpgcheck, the behavior as described in section GPG
2127 checks.
2128
2129 Examples:
2130
2131
2132 $ zypper ar -c -n 'Packman 11.1 repo'
2133 http://packman.iu-bremen.de/suse/11.1 packman
2134 Add a HTTP repository, probe it, name it Packman 11.1 repo,
2135 and use packman as alias.
2136
2137 $ zypper ar
2138 https://download.opensuse.org/repositories/zypp:/svn/openSUSE_Factory/zypp:svn.repo
2139
2140
2141 $ zypper ar myreposbackup.repo
2142 Add repositories from a .repo file.
2143
2144 removerepo (rr) [options] alias|name|#|URI...
2145 Delete repositories specified by aliases, names, numbers, URIs or
2146 one of the aggregate options.
2147
2148 --loose-auth
2149 Ignore user authentication data in the URI
2150
2151 --loose-query
2152 Ignore query string in the URI
2153
2154 -a, --all
2155 Apply changes to all repositories.
2156
2157 -l, --local
2158 Apply changes to all local repositories.
2159
2160 -t, --remote
2161 Apply changes to all remote repositories (http/https/ftp).
2162
2163 -m, --medium-type type
2164 Apply changes to repositories of specified type. The type
2165 corresponds to the repository URI scheme identifier like http,
2166 dvd, etc. You can find complete list of valid types at
2167 http://en.opensuse.org/openSUSE:Libzypp_URIs.
2168
2169 repos (lr) [options] [repo]...
2170 List all defined repositories or show detailed information about
2171 those specified as arguments
2172
2173 The following data can be printed for each repository found on the
2174 system: # (repository number), Alias (unique identifier), Name,
2175 Enabled (whether the repository is enabled), GPG Check (whether GPG
2176 check for repository metadata (r) and/or downloaded rpm packages
2177 (p) is enabled), Refresh (whether auto-refresh is enabled for the
2178 repository), Priority, Type (repository meta-data type: rpm-md,
2179 yast2, plaindir). Which of the data is shown is determined by
2180 command line options listed below and the main.repoListColumns
2181 setting from zypper.conf. By default, #, Alias, Name, Enabled, GPG
2182 Check and Refresh is shown.
2183
2184 Repository number is a unique identifier of the repository in
2185 current set of repositories. If you add, remove or change a
2186 repository, the numbers may change. Keep that in mind when using
2187 the numbers with the repository handling commands. On the other
2188 hand, using the alias instead of the number is always safe.
2189
2190 To show detailed information about specific repositories, specify
2191 them as arguments, either by alias, name, number from simple zypper
2192 lr, or by URI; e.g. fB zypper lr factory, or zypper lr 2.
2193
2194 -e, --export FILE.repo|-
2195 This option causes zypper to write repository definition of all
2196 defined repositories into a single file in repo file format. If
2197 - is specified instead of a file name, the repositories will be
2198 written to the standard output.
2199
2200 -a, --alias
2201 Add alias column to the output.
2202
2203 -n, --name
2204 Add name column to the output.
2205
2206 -u, --uri
2207 Add base URI column to the output.
2208
2209 -p, --priority
2210 Add repository priority column to the output.
2211
2212 -r, --refresh
2213 Add the autorefresh column to the output.
2214
2215 -d, --details
2216 Show more information like URI, priority, type, etc.
2217
2218 -E, --show-enabled-only
2219 Show enabled repositories only.
2220
2221 -U, --sort-by-uri
2222 Add base URI column and sort the list it.
2223
2224 -P, --sort-by-priority
2225 Add repository priority column and sort the list by it.
2226
2227 -A, --sort-by-alias
2228 Sort the list by alias.
2229
2230 -N, --sort-by-name
2231 Sort the list by name.
2232
2233 Examples:
2234
2235
2236 $ zypper repos -e myreposbackup.repo
2237 Backup your repository setup:
2238
2239 $ zypper lr -pu
2240 List repositories with their URIs and priorities:
2241
2242 renamerepo (nr) alias|name|#|URI new-alias
2243 Assign new alias to the repository specified by alias, name,
2244 number, or URI.
2245
2246 Examples:
2247
2248
2249 $ zypper nr 8 myrepo
2250 Rename repository number 8 to myrepo (useful if the repo
2251 has some dreadful alias which is not usable on the command
2252 line).
2253
2254 modifyrepo (mr) options alias|name|#|URI...
2255
2256
2257 modifyrepo (mr) options --all|--remote|--local|--medium-type
2258 Modify properties of repositories specified by alias, name, number,
2259 or URI or one of the aggregate options.
2260
2261 -n, --name name
2262 Set a descriptive name for the repository.
2263
2264 -e, --enable
2265 Enable the repository.
2266
2267 -d, --disable
2268 Disable the repository.
2269
2270 -f, --refresh (legacy: -r)
2271 Enable auto-refresh for the repository.
2272
2273 -F, --no-refresh (legacy: -R)
2274 Disable auto-refresh for the repository.
2275
2276 -p, --priority positive-integer
2277 Set the priority of the repository. Priority of 1 is the
2278 highest, the higher the number the lower the priority. -p 0
2279 will set the priority back to the default (99). Packages from
2280 repositories with higher priority will be preferred even in
2281 case there is a higher installable version available in the
2282 repository with a lower priority.
2283
2284 -k, --keep-packages
2285 Enable RPM files caching.
2286
2287 -K, --no-keep-packages
2288 Disable RPM files caching.
2289
2290 -g, --gpgcheck
2291 Enable GPG check for this repository. The behavior as described
2292 in section GPG checks.
2293
2294 --gpgcheck-strict
2295 Enable strict GPG check for this repository. Even packages from
2296 signed repositories need a valid GPG signature and using
2297 unsigned packages must be confirmed.
2298
2299 --gpgcheck-allow-unsigned
2300 Short hand for --gpgcheck-allow-unsigned-repo
2301 --gpgcheck-allow-unsigned-package
2302
2303 --gpgcheck-allow-unsigned-repo
2304 Enable GPG check but allow the repository metadata to be
2305 unsigned.
2306
2307 --gpgcheck-allow-unsigned-package
2308 Enable GPG check but allow installing unsigned packages from
2309 this repository.
2310
2311 -G, --no-gpgcheck
2312 Disable GPG check for this repository.
2313
2314 Disabling GPG checks is not recommended. Signing data enables
2315 the recipient to verify that no modifications occurred after
2316 the data were signed. Accepting data with no, wrong or unknown
2317 signature can lead to a corrupted system and in extreme cases
2318 even to a system compromise.
2319
2320 --default-gpgcheck
2321 Use the global GPG check settings defined in
2322 /etc/zypp/zypp.conf. This is the default.
2323
2324 Unless you have modified your zypp.conf settings, this is the
2325 same as --gpgcheck, the behavior as described in section GPG
2326 checks.
2327
2328 -a, --all
2329 Apply changes to all repositories.
2330
2331 -l, --local
2332 Apply changes to all local repositories.
2333
2334 -t, --remote
2335 Apply changes to all remote repositories (http/https/ftp).
2336
2337 -m, --medium-type type
2338 Apply changes to repositories of specified type. The type
2339 corresponds to the repository URI scheme identifier like http,
2340 dvd, etc. You can find complete list of valid types at
2341 http://en.opensuse.org/openSUSE:Libzypp_URIs.
2342
2343 Examples:
2344
2345
2346 $ zypper mr -kt
2347 Enable keeping of packages for all remote repositories.
2348
2349 $ zypper mr -er updates
2350 Enable repository updates and switch on autorefresh for the
2351 repo.
2352
2353 $ zypper mr -da
2354 Disable all repositories.
2355
2356 refresh (ref) [alias|name|#|URI]...
2357 Refresh repositories specified by their alias, name, number, or
2358 URI. If no repositories are specified, all enabled repositories
2359 will be refreshed.
2360
2361 -f, --force
2362 Force a complete refresh of specified repositories. This option
2363 will cause both the download of raw metadata and parsing of the
2364 metadata to be forced even if everything indicates a refresh is
2365 not needed.
2366
2367 -b, --force-build
2368 Force only reparsing of cached metadata and rebuilding of the
2369 database. Raw metadata download will not be forced.
2370
2371 -d, --force-download
2372 Force only download of current copy of repository metadata.
2373 Parsing and rebuild of the database will not be forced.
2374
2375 -B, --build-only
2376 Only parse the metadata and build the database, don’t download
2377 raw metadata into the cache. This will enable you to repair
2378 damaged database from cached data without accessing network at
2379 all.
2380
2381 -D, --download-only
2382 Only download the raw metadata, don’t parse it or build the
2383 database.
2384
2385 -s, --services
2386 Refresh also services before refreshing repositories.
2387
2388 clean (cc) [options] [alias|name|#|URI]...
2389 Clean the local caches for all known or specified repositories. By
2390 default, only caches of downloaded packages are cleaned.
2391
2392 -m, --metadata
2393 Clean repository metadata cache instead of package cache.
2394
2395 -M, --raw-metadata
2396 Clean repository raw metadata cache instead of package cache.
2397
2398 -a, --all
2399 Clean both repository metadata and package caches.
2400
2401 Service Management
2402 The services, addservice, removeservice, modifyservice, and
2403 refresh-services commands serve for manipulating services. A service is
2404 specified by its URI and needs to have a unique alias defined (among
2405 both services and repositories).
2406
2407 Standalone repositories (not belonging to any service) are treated like
2408 services, too. The ls command will list them, ms command will modify
2409 them, etc. Repository specific options, like --keep-packages are not
2410 available here, though. You can use repository handling commands to
2411 manipulate them.
2412
2413 addservice (as) [options] URI alias
2414 Adds a service specified by URI to the system. The alias must be
2415 unique and serves to identify the service.
2416
2417 Newly added services are not refreshed automatically. Use the
2418 refresh-services command to refresh them. Zypper does not access
2419 the service URI when adding the service, so the type of the
2420 services is unknown until it is refreshed.
2421
2422 -n, --name name
2423 Specify descriptive name for the service.
2424
2425 -e, --enable
2426 Enable the service (this is the default).
2427
2428 -d, --disable
2429 Add the service as disabled.
2430
2431 -f, --refresh
2432 Enable auto-refresh of the service.
2433
2434 -F, --no-refresh
2435 Disable auto-refresh of the service.
2436
2437 removeservice (rs) [options] alias|name|#|URI...
2438 Remove specified service from the system. Removing a service will
2439 also remove of all of its repositories.
2440
2441 --loose-auth
2442 Ignore user authentication data in the URI.
2443
2444 --loose-query
2445 Ignore query string in the URI.
2446
2447 modifyservice (ms) options alias|name|#|URI
2448
2449
2450 modifyservice (ms) options --all|--remote|--local|--medium-type
2451 Modify properties of specified services.
2452
2453 Common Options
2454 These options are common to all types of services and
2455 repositories.
2456
2457 -n, --name name
2458 Set a descriptive name for the service.
2459
2460 -e, --enable
2461 Enable a disabled service.
2462
2463 -d, --disable
2464 Disable the service (but don’t remove it).
2465
2466 -f, --refresh (legacy: -r)
2467 Enable auto-refresh of the service.
2468
2469 -F, --no-refresh (legacy: -R)
2470 Disable auto-refresh of the service.
2471
2472 -a, --all
2473 Apply changes to all services.
2474
2475 -l, --local
2476 Apply changes to all local services.
2477
2478 -t, --remote
2479 Apply changes to all remote services.
2480
2481 -m, --medium-type type
2482 Apply changes to services of specified type.
2483
2484 RIS Service Specific Options
2485 These options are ignored by services other than Repository
2486 Index Services.
2487
2488 -i, --ar-to-enable alias
2489 Schedule an RIS service repository to be enabled at next
2490 service refresh.
2491
2492 -I, --ar-to-disable alias
2493 Schedule an RIS service repository to be disabled at next
2494 service refresh.
2495
2496 -j, --rr-to-enable alias
2497 Remove a RIS service repository to enable.
2498
2499 -J, --rr-to-disable alias
2500 Remove a RIS service repository to disable.
2501
2502 -k, --cl-to-enable
2503 Clear the list of RIS repositories to enable.
2504
2505 -K, --cl-to-disable
2506 Clear the list of RIS repositories to disable.
2507
2508 services (ls) [options]
2509 List services defined on the system.
2510
2511 -u, --uri
2512 Show also base URI of repositories.
2513
2514 -p, --priority
2515 Show also repository priority.
2516
2517 -d, --details
2518 Show more information like URI, priority, type.
2519
2520 -r, --with-repos
2521 Show also repositories belonging to the services.
2522
2523 -P, --sort-by-priority
2524 Sort the list by repository priority.
2525
2526 -E, --show-enabled-only
2527 Show enabled services only. If used together with --with-repos
2528 a disabled services owning (manually) enabled repositories are
2529 shown as well.
2530
2531 -U, --sort-by-uri
2532 Sort the list by URI.
2533
2534 -N, --sort-by-name
2535 Sort the list by name.
2536
2537 refresh-services (refs) [options] alias|name|#|URI...
2538 Refreshing a service means executing the service’s special task.
2539
2540 RIS services add, remove, or modify repositories on your system
2541 based on current content of the repository index. A differing
2542 enabled/disabled state caused by manually calling modify-repo on a
2543 service repository however will not be reverted unless the
2544 --restore-status option is used, or the repository index explicitly
2545 requests the change.
2546
2547 Services only manage defined repositories, they do not refresh
2548 them. To refresh also repositories, use --with-repos option or the
2549 refresh command.
2550
2551 -f, --force
2552 Force a complete refresh of specified services. This option
2553 will cause both the download of raw metadata and parsing of the
2554 metadata to be forced even if everything indicates a refresh is
2555 not needed.
2556
2557 -r, --with-repos
2558 Refresh also the service repositories.
2559
2560 -R, --restore-status
2561 Also restore service repositories enabled/disabled state to the
2562 repository index default. Useful after you manually changed
2563 some service repositories enabled state.
2564
2565 Package Locks Management
2566 Package locks serve the purpose of preventing changes to the set of
2567 installed packages on the system. Locks are stored as queries in
2568 /etc/zypp/locks file (see also locks(5)). Packages matching a query are
2569 then forbidden to change their installed status; an installed package
2570 can’t be removed or upgraded, not installed package can’t be installed.
2571 When requesting to install, upgrade or remove such locked package, you
2572 will get a dependency problem dialog.
2573
2574 A lock-spec is formed by "NAME [OP EDITION]", where NAME may also be a
2575 glob pattern using * and ? wildcard characters. Non-package types may
2576 to have their kind-string prepended (e.g. patch:foo or product:baa) or
2577 use the commands --type option.
2578
2579 The basic form will lock all editions of the matching items. You can
2580 optionally restrict the lock to match a specific edition or edition
2581 range using =, <, <=, >, >= or != followed by the edition.
2582
2583 Note
2584 If you use blanks around the operator you need to quote the string
2585 or escape the blanks according to the rules of the shell you are
2586 using.
2587
2588 locks (ll)
2589 List currently active package locks.
2590
2591 -m, --matches
2592 Show the number of resolvables matched by each lock. This
2593 option requires loading the repositories.
2594
2595 -s, --solvables
2596 List the resolvables matched by each lock. This option requires
2597 loading the repositories.
2598
2599 addlock (al) [options] lock-spec...
2600 Add a package lock. Specify packages to lock as explained above.
2601
2602 -r, --repo alias|name|#|URI
2603 Restrict the lock to the specified repository.
2604
2605 -t, --type type
2606 Lock only packages of specified type (default: package). See
2607 section Package Types for list of available package types.
2608
2609 -m, --comment comment
2610 Add a comment for package lock.
2611
2612 removelock (rl) [options] lock-number|lock-spec...
2613 Remove a package lock. Specify the lock to remove by its number
2614 obtained with zypper locks or by the lock-spec.
2615
2616 -r, --repo alias|name|#|URI
2617 Restrict the lock to the specified repository.
2618
2619 -t, --type type
2620 Restrict the lock to packages of specified type (default:
2621 package). See section Package Types for list of available
2622 package types.
2623
2624 cleanlocks (cl)
2625 Remove unused locks.
2626
2627 This command looks for locks that do not currently (with regard to
2628 repositories used) lock any package and for each such lock it asks
2629 user whether to remove it.
2630
2631 Locale Management
2632 These commands give information about requested locales and the
2633 possibilty to manage those. A locale is defined by a language code. For
2634 many packages there are locale dependent packages available which
2635 provide translations or dictionaries. To get these installed, the
2636 locale for the desired language must be marked as requested by the
2637 package manager library.
2638
2639 locales (lloc) [OPTIONS] [LOCALE] ...
2640 List requested locales. Called without argument, lists the locales
2641 which are already marked as requested. Specifying certain locale(s)
2642 prints information only for this(these).
2643
2644 -a, --all
2645 List all available locales.
2646
2647 -p, --packages
2648 Show corresponding packages.
2649
2650 addlocale (aloc) [OPTIONS] <LOCALE> ...
2651 Add specified locale(s) to the list of requested locales..
2652
2653 -n, --no-packages
2654 Do not install corresponding packages.
2655
2656 removelocale (rloc) [OPTIONS] <LOCALE> ...
2657 Remove specified locale(s) from the list of requested locales..
2658
2659 -n, --no-packages
2660 Do not remove corresponding packages.
2661
2662 Examples:
2663
2664
2665 $ zypper locales
2666 List requested locales.
2667
2668 $ zypper locales --packages de en
2669 Get the lists of packages which are available for de and en
2670 (exact match).
2671
2672 $ zypper locales en_
2673 Get all locales with lang code en that have their own country
2674 code, excluding the fallback en.
2675
2676 $ zypper locales en*
2677 Get all locales with lang code en with or without country code.
2678
2679 $ zypper aloc --packages de_CH
2680 Request de_CH and install language dependent packages.
2681
2682 Other Commands
2683 versioncmp (vcmp) version1 version2
2684 Compare the versions supplied as arguments and tell whether
2685 version1 is older or newer than version2 or the two version strings
2686 match.
2687
2688 The default output is in human-friendly form. If --terse global
2689 option is used, the result is an integer number, negative/positive
2690 if version1 is older/newer than version2, zero if they match.
2691
2692 -m, --match
2693 Takes missing release number as any release.
2694
2695 For example:
2696
2697 $ zypper vcmp -m 0.15.3 0.15.3-2
2698 0.15.3 matches 0.15.3-2
2699
2700 $ zypper vcmp 0.15.3 0.15.3-2
2701 0.15.3 is older than 0.15.3-2
2702
2703 targetos (tos)
2704 Shows the ID string of the target operating system. The string has
2705 a form of distroname-architecture. The string is determined by
2706 libzypp, the distroname is read from
2707 (current-rootdir)/etc/products.d/baseproduct and the architecture
2708 is determined from uname and CPU flags.
2709
2710 licenses
2711 Prints a report about licenses and EULA's of installed packages to
2712 standard output.
2713
2714 First, a list of all packages and their licenses and/or EULAs is
2715 shown. This is followed by a summary, including the total number of
2716 installed packages, the number of installed packages with EULAs
2717 that required a confirmation from the user. Since the EULAs are not
2718 stored on the system and can only be read from repository metadata,
2719 the summary includes also the number of installed packages that
2720 have their counterpart in repositories. The report ends with a list
2721 of all licenses uses by the installed packages.
2722
2723 This command can be useful for companies redistributing a custom
2724 distribution (like appliances) to figure out what licenses they are
2725 bound by.
2726
2727 download [OPTIONS]
2728 Download rpms specified on the commandline to a local directory.
2729
2730 Per default packages are downloaded to the libzypp package cache
2731 (/var/cache/zypp/packages; for non-root users
2732 $XDG_CACHE_HOME/zypp/packages), but this can be changed by using
2733 the global --pkg-cache-dir option.
2734
2735 Parsable XML-output produced by zypper --xmlout will include a
2736 <download-result> node for each package zypper tried to download.
2737 Upon success the location of the downloaded package is found in the
2738 path attribute of the <localfile> subnode (xpath:
2739 download-result/localpath@path):
2740
2741 <download-result>
2742 <solvable>
2743 <kind>package</kind>
2744 <name>zypper</name>
2745 <edition epoch="0" version="1.9.17" release="26.1"/>
2746 <arch>x86_64</arch>
2747 <repository name="repo-oss-update (13.1)" alias="openSUSE:repo-oss-update"/>
2748 </solvable>
2749 <localfile path="/var/cache/zypp/pac.../zypper-1.9.17-26.1.x86_64.rpm"/>
2750 </download-result>
2751
2752 --all-matches
2753 Download all versions matching the commandline arguments.
2754 Otherwise only the best version of each matching package is
2755 downloaded.
2756
2757 --dry-run
2758 Don’t download any package, just report what would be done.
2759
2760 -r, --repo alias|name|#|URI
2761 Work only with the repository specified by the alias, name,
2762 number or URI. This option can be used multiple times.
2763
2764 --from alias|name|#|URI
2765 Select packages from the specified repository only. This option
2766 can be used multiple times.
2767
2768 source-download [OPTIONS]
2769 Download source rpms for all installed packages to a local
2770 directory.
2771
2772 -d, --directory dir
2773 Download all source rpms to this directory. Default is
2774 /var/cache/zypper/source-download.
2775
2776 --delete
2777 Delete extraneous source rpms in the local directory. This is
2778 the default.
2779
2780 --no-delete
2781 Do not delete extraneous source rpms.
2782
2783 --status
2784 Don’t download any source rpms, but show which source rpms are
2785 missing or extraneous.
2786
2787 ps [OPTIONS]
2788 After each upgrade or removal of packages, there may be running
2789 processes on the system which continue to use meanwhile deleted
2790 files. zypper ps lists all processes using deleted files, together
2791 with the corresponding files, and a service name hint, in case it’s
2792 a known service. This gives a hint which services may need to be
2793 restarted after an update. Usually programs which continue to use
2794 deleted shared libraries. The list contains the following
2795 information:
2796
2797 PID
2798 ID of the process
2799
2800 PPID
2801 ID of the parent process
2802
2803 UID
2804 ID of the user running the process
2805
2806 Login
2807 Login name of the user running the process
2808
2809 Command
2810 Command used to execute the process
2811
2812 Service
2813 Service name, if command is associated with a system service
2814
2815 Files
2816 The list of the deleted files
2817
2818 -s, --short
2819 Create a short table not showing the deleted files. Given
2820 twice, show only processes which are associated with a system
2821 service. Given three times, list the associated system service
2822 names only.
2823
2824 --print format
2825 For each associated system service print format on the standard
2826 output, followed by a newline. Any %s directive in format is
2827 replaced by the system service name.
2828
2829 -d, --debugFile filename
2830 Output a file with all proc entries that make it into the final
2831 set of used open files. This can be submitted as additional
2832 information in a bug report.
2833
2834 Examples:
2835
2836
2837 $ zypper ps -ss
2838 Show only processes associated with a system service.
2839
2840 $ zypper ps -sss
2841 Short for zypper ps --print "%s"; list services which might
2842 need a restart.
2843
2844 $ zypper ps --print "systemctl status %s"
2845 Let zypper print the commands to retrieve status
2846 information for services which might need a restart.
2847
2848 needs-rebooting
2849 Checks if the reboot-needed flag was set by a previous update or
2850 install of a core library or service.
2851
2852 The reboot-needed flag is set if a package that provides
2853 installhint(reboot-needed) is updated or installed. Additionally
2854 there is a predefined list (/etc/zypp/needreboot) of well-known
2855 packages which cause the reboot-needed flag being set
2856 unconditionally. The exit code ZYPPER_EXIT_INF_REBOOT_NEEDED
2857 indicates that a reboot is suggested, otherwise the exit code is
2858 set to ZYPPER_EXIT_OK.
2859
2860 It is recommended for scripts to use this command to test whether a
2861 system reboot is suggested. Use --quiet to suppress the normal
2862 output.
2863
2864 Subcommands
2865 subcommand
2866 Lists available subcommands in /usr/libexec/zypper/commands and
2867 from elsewhere on your $PATH. See section SUBCOMMANDS for details.
2868
2870 -h, --help
2871 Help. If a command is specified together with --help option,
2872 command specific help is displayed.
2873
2874 -V, --version
2875 Print zypper version number and exit.
2876
2877 -c, --config file
2878 Use the specified zypper config file instead of the default
2879 zypper.conf. Other command line options specified together with
2880 --config and having their counterpart in the zypper config file are
2881 still preferred.
2882
2883 The order of preference with --config is as follows:
2884
2885 1. Command line options
2886
2887 2. --config file
2888
2889 3. [/etc/zypp/zypp.conf] (system-wide defaults for all libzypp
2890 based applications)
2891
2892 Note
2893 Use and location of the system-wide /etc/zypp/zypp.conf can not
2894 be changed this way. It’s mentioned here just because some
2895 zypper command line options allow to overwrite system-wide
2896 defaults defined in zypp.conf.
2897
2898 See also FILES section for more information.
2899
2900 -v, --verbose
2901 Increase verbosity. For debugging output specify this option twice.
2902
2903 -q, --quiet
2904 Suppress normal output. Brief (esp. result notification) messages
2905 and error messages will still be printed, though. If used together
2906 with conflicting --verbose option, the --verbose option takes
2907 preference.
2908
2909 --color, --no-color
2910 Whether to use colors in output if tty supports it. For details see
2911 the [color] section in zypper.conf.
2912
2913 -A, --no-abbrev
2914 Do not abbreviate text in tables. By default zypper will try to
2915 abbreviate texts in some columns so that the table fits the width
2916 of the screen. If you need to see the whole text, use this option.
2917
2918 -t, --terse
2919 Terse output for machine consumption. Implies --no-abbrev and
2920 --no-color.
2921
2922 -s, --table-style integer
2923 Choose among different predefined line drawing character sets to
2924 use when drawing a table. The table style is identified by an
2925 integer number. Style 0 is the default, styles 1-9 use combinations
2926 of different box drawing characters whose shape may depend on the
2927 font the terminal is using. Style 10 separates columns by a colon
2928 and style 11 draws no lines at all.
2929
2930 -n, --non-interactive
2931 Switches to non-interactive mode. In this mode zypper doesn’t ask
2932 user to type answers to various prompts, but uses default answers
2933 automatically. Those default answers also depend on other options
2934 like --no-gpg-checks or --ignore-unknown.
2935
2936 --non-interactive-include-reboot-patches
2937 In non-interactive mode do not skip patches which have the
2938 rebootSuggested-flag set. Otherwise these patches are considered to
2939 be interactive, like patches including a licenses or some message
2940 to confirm. NOTE: This option does not turn on non-interactive
2941 mode.
2942
2943 -x, --xmlout
2944 Switches to XML output. This option is useful for scripts or
2945 graphical frontends using zypper.
2946
2947 -i, --ignore-unknown
2948 Ignore unknown packages. This option is useful for scripts, because
2949 when installing in --non-interactive mode zypper expects each
2950 command line argument to match at least one known package. Unknown
2951 names or globbing expressions with no match are treated as an error
2952 unless this option is used.
2953
2954 -D, --reposd-dir dir
2955 Use the specified directory to look for the repository definition
2956 (.repo) files. The default value is /etc/zypp/repos.d.
2957
2958 -C, --cache-dir dir
2959 Use an alternative root directory for all caches. The default value
2960 is /var/cache/zypp.
2961
2962 --raw-cache-dir dir
2963 Use the specified directory for storing raw copies of repository
2964 metadata files. The default value is /var/cache/zypp/raw.
2965
2966 --solv-cache-dir dir
2967 Use the specified directory to store the repository metadata cache
2968 database files (solv files). The default value is
2969 /var/cache/zypp/solv.
2970
2971 --pkg-cache-dir dir
2972 Use the specified directory for storing rpm packages
2973 downloaded from repositories (see addrepo --keep-packages). The
2974 default value is /var/cache/zypp/packages. + Packages are stored in
2975 subdirectories named after the repositories alias and using the
2976 same path as on the repositories medium.
2977
2978 --userdata string
2979 User data is expected to be a simple string without special chars
2980 or embedded newlines and may serve as transaction id. It will be
2981 written to all install history log entries created throughout this
2982 specific zypper call. It will also be passed on to zypp plugins
2983 executed during commit. This will enable e.g. a btrfs plugin to tag
2984 created snapshots with this string. For zypper itself this string
2985 has no special meaning.
2986
2987 Repository Options:
2988
2989
2990 --no-gpg-checks
2991 Ignore GPG check failures and continue. If a GPG issue occurs when
2992 using this option zypper prints and logs a warning and
2993 automatically continues without interrupting the operation. Use
2994 this option with caution, as you can easily overlook security
2995 problems by using it. (see section GPG checks)
2996
2997 --gpg-auto-import-keys
2998 If new repository signing key is found, do not ask what to do;
2999 trust and import it automatically. This option causes that the new
3000 key is imported also in non-interactive mode, where it would
3001 otherwise got rejected.
3002
3003 -p, --plus-repo URI
3004 Use an additional repository for this operation. The repository
3005 aliased tmp# and named by the specified URI will be added for this
3006 operation and removed at the end. You can specify this option
3007 multiple times.
3008
3009 --plus-content tag
3010 Additionally use disabled repositories denoted by tag for this
3011 operation. If tag matches a repositories alias, name or URL, or is
3012 a keyword defined in the repositories metadata, the repository will
3013 be temporarily enabled for this operation. The repository will then
3014 be refreshed and used according to the commands rules. You can
3015 specify this option multiple times.
3016
3017 If a disabled repositories metadata are not available in the local
3018 cache, they will be downloaded to scan for matching keywords.
3019 Otherwise the keyword scan will use the metadata available in the
3020 local cache. Only if used together with the refresh command, a
3021 keyword scan will refresh all disabled repositories.
3022
3023 To refresh all disabled repositories metadata:
3024 zypper --plus-content '' ref
3025
3026 To include a disabled repository repo-debug in a search:
3027 zypper --plus-content repo-debug search ...
3028
3029 To search only in a disabled repository repo-debug:
3030 zypper --plus-content repo-debug search -r repo-debug ...
3031
3032 To enable all repos providing the debug keyword:
3033 zypper in --plus-content debug some -debuginfo or -debugsource
3034 package
3035
3036 --disable-repositories
3037 Do not read metadata from repositories. This option will prevent
3038 loading of packages from repositories, thus making zypper work only
3039 with the installed packages (if --disable-system-resolvables was
3040 not specified).
3041
3042 --no-refresh
3043 Do not auto-refresh repositories (ignore the auto-refresh setting).
3044 Useful to save time when doing operations like search, if there is
3045 not a need to have a completely up to date metadata.
3046
3047 --no-cd
3048 Ignore CD/DVD repositories. When this option is specified, zypper
3049 acts as if the CD/DVD repositories were not defined at all.
3050
3051 --no-remote
3052 Ignore remote repositories like http, ftp, smb and similar. This
3053 makes using zypper easier when being offline. When this option is
3054 specified, zypper acts as if the remote repositories were not
3055 defined at all.
3056
3057 --releasever version
3058 For the current command set the value of the $releasever repository
3059 variable to version. This can be used to switch to new distribution
3060 repositories when performing a distribution upgrade. See the
3061 dist-upgrade (dup) command and section Repository Management for
3062 more details about using the $releasever repository variable.
3063
3064 To check where you already use $releasever call:
3065 zypper --releasever @--HERE--@ lr -u
3066
3067 Target Options:
3068
3069
3070 -R, --root dir
3071 Operates on a different root directory. This option influences the
3072 location of the repos.d directory and the metadata cache directory
3073 and also causes rpm to be run with the --root option to do the
3074 actual installation or removal of packages. See also the FILES
3075 section.
3076
3077 --installroot dir
3078 Behaves like --root but shares the repositories with the host
3079 system.
3080
3081 --disable-system-resolvables
3082 This option serves mainly for testing purposes. It will cause
3083 zypper to act as if there were no packages installed in the system.
3084 Use with caution as you can damage your system using this option.
3085
3087 Zypper subcommands are inspired by git(1). Subcommands are standalone
3088 executables that live in the zypper_execdir
3089 (/usr/libexec/zypper/commands). For subcommands zypper provides a
3090 wrapper that knows where the subcommands live, and runs them by passing
3091 command options and arguments to them. If a subcommand is not found in
3092 the zypper_execdir, the wrapper will look in the rest of your $PATH for
3093 it. Thus, it’s possible to write local zypper extensions that don’t
3094 live in system space. This can be disabled by setting
3095 "subcommand.seachSubcommandInPath" to "no" in the zypper.conf.
3096
3097 This is how to add your own subcommand zypper mytask:
3098
3099 • The executable must be named zypper-mytask.
3100
3101 • The executable must be located your $PATH.
3102
3103 • A manpage for zypper-mytask should be provided and explaining the
3104 commands options and return values. It will be shown when calling
3105 zypper help mytask.
3106
3107 • Zypper built-in commands take precedence over subcommands with the
3108 same name.
3109
3110 • It’s fine to call zypper or use libzypp from within your
3111 subcommand.
3112
3113 You can use the built-in zypper subcommand command to get a list of all
3114 subcommands in zypper_execdir and from elsewhere on your $PATH.
3115
3116 Using zypper global-options together with subcommands, as well as
3117 executing subcommands in zypper shell is currently not supported.
3118
3120 /etc/zypp/zypper.conf, $HOME/.zypper.conf
3121 Global (system-wide) and user’s configuration file for zypper.
3122 These files are read when zypper starts up and --config option is
3123 not used.
3124
3125 User’s settings are preferred over global settings. Similarly,
3126 command line options override the settings in either of these
3127 files. To sum it up, the order of preference is as follows (from
3128 highest to lowest):
3129
3130 1. Command line options
3131
3132 2. $HOME/.zypper.conf
3133
3134 3. /etc/zypp/zypper.conf
3135
3136 4. [/etc/zypp/zypp.conf] (system-wide defaults for all libzypp
3137 based applications)
3138
3139 See the comments in /etc/zypp/zypper.conf for a list and
3140 description of available options.
3141
3142 Note
3143 The system-wide /etc/zypp/zypp.conf is mentioned here just
3144 because some zypper command line options allow to overwrite
3145 system-wide defaults defined there. zypp.conf and zypper.conf
3146 have different content and serve different purpose.
3147
3148 /etc/zypp/zypp.conf
3149 ZYpp configuration file affecting all libzypp based applications.
3150 See the comments in the file for description of configurable
3151 properties. Many locations of files and directories listed in this
3152 section are configurable via zypp.conf. The location for this file
3153 itself can be redefined only by setting $ZYPP_CONF in the
3154 environment.
3155
3156 /etc/zypp/locks
3157 File with package lock definitions. The package lock commands
3158 (locks, addlock, removelock, etc.) should be used to manipulate
3159 this file.
3160
3161 This file is used by all ZYpp-based applications.
3162
3163 /etc/zypp/repos.d
3164 Directory containing repository definition (*.repo) files. You can
3165 use the Repository Management commands to manipulate these files,
3166 or you can edit them yourself. In either case, after doing the
3167 modifications, executing *zypper refresh* is strongly recommended.
3168
3169 You can use the --reposd-dir global option to use an alternative
3170 directory for this purpose or the --root option to make this
3171 directory relative to the specified root directory.
3172
3173 This directory is used by all ZYpp-based applications.
3174
3175 /etc/zypp/services.d
3176 Directory containing service definition (*.service) files. You can
3177 use the Service Management Commands to manipulate these files, or
3178 you can edit them yourself. Running *zypper refs* is recommended
3179 after modifications have been done.
3180
3181 This directory is used by all ZYpp-based applications.
3182
3183 /usr/libexec/zypper/commands
3184 System directory containing zypper extensions (see section
3185 SUBCOMMANDS)
3186
3187 /var/cache/zypp/raw
3188 Directory for storing raw metadata contained in repositories. Use
3189 the --raw-cache-dir global option to use an alternative directory
3190 for this purpose or the --root option to make this directory
3191 relative to the specified root directory.
3192
3193 This directory is used by all ZYpp-based applications.
3194
3195 /var/cache/zypp/solv
3196 Directory containing preparsed metadata in form of solv files.
3197
3198 This directory is used by all ZYpp-based applications.
3199
3200 /var/cache/zypp/packages
3201 If keeppackages property is set for a repository (see the
3202 modifyrepo command), all the RPM file downloaded during
3203 installation will be kept here. See also the clean command for
3204 cleaning these cache directories.
3205
3206 This directory is used by all ZYpp-based applications.
3207
3208 /var/log/zypper.log
3209 Zypper log file. It should be attached to all bugreports. (see also
3210 zypper-log(8)).
3211
3212 /var/log/zypper.solverTestCase
3213 Solver testcase created by using the --debug-solver option.
3214
3215 /var/log/updateTestcase-YYYY-MM-DD-hh-mm-ss
3216 Solver testcase auto created when performing a zypper dup.
3217
3218 /var/log/zypp/history
3219 Installation history log.
3220
3221 ~/.zypper_history
3222 Command history for the zypper shell (see the shell command).
3223
3224 /etc/zypp/needreboot
3225 File with a list of packages that will set the reboot-needed flag
3226 when installed or upgraded.
3227
3228 /etc/zypp/needreboot.d
3229 Directory that can be used to define packages that trigger the
3230 reboot-needed flag by adding additional files containing the
3231 required package names.
3232
3234 There are several exit codes defined for zypper built-in commands for
3235 use e.g. within scripts. These codes are defined in header file
3236 src/zypper-main.h found in zypper source package. Codes below 100
3237 denote an error, codes above 100 provide a specific information, 0
3238 represents a normal successful run. Following is a list of these codes
3239 with descriptions:
3240
3241 0 - ZYPPER_EXIT_OK
3242 Successful run of zypper with no special info.
3243
3244 1 - ZYPPER_EXIT_ERR_BUG
3245 Unexpected situation occurred, probably caused by a bug.
3246
3247 2 - ZYPPER_EXIT_ERR_SYNTAX
3248 zypper was invoked with an invalid command or option, or a bad
3249 syntax.
3250
3251 3 - ZYPPER_EXIT_ERR_INVALID_ARGS
3252 Some of provided arguments were invalid. E.g. an invalid URI was
3253 provided to the addrepo command.
3254
3255 4 - ZYPPER_EXIT_ERR_ZYPP
3256 A problem is reported by ZYPP library.
3257
3258 5 - ZYPPER_EXIT_ERR_PRIVILEGES
3259 User invoking zypper has insufficient privileges for specified
3260 operation.
3261
3262 6 - ZYPPER_EXIT_NO_REPOS
3263 No repositories are defined.
3264
3265 7 - ZYPPER_EXIT_ZYPP_LOCKED
3266 The ZYPP library is locked, e.g. packagekit is running.
3267
3268 8 - ZYPPER_EXIT_ERR_COMMIT
3269 An error occurred during installation or removal of packages. You
3270 may run zypper verify to repair any dependency problems.
3271
3272 100 - ZYPPER_EXIT_INF_UPDATE_NEEDED
3273 Returned by the patch-check command if there are patches available
3274 for installation.
3275
3276 101 - ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED
3277 Returned by the patch-check command if there are security patches
3278 available for installation.
3279
3280 102 - ZYPPER_EXIT_INF_REBOOT_NEEDED
3281 Returned by the needs-rebooting command, if a system reboot is
3282 suggested.
3283
3284 Legacy: Returned after the successful installation of a patch which
3285 requires reboot of computer. This legacy behavior is kept, but it’s
3286 drawback is that it covers patches only, no packages. The new
3287 needs-rebooting command is the recommended way to test whether a
3288 system reboot is suggested.
3289
3290 103 - ZYPPER_EXIT_INF_RESTART_NEEDED
3291 Returned after a successful installation of a patch which requires
3292 restart of the package manager itself. This means that one of
3293 patches to be installed affects the package manager itself and the
3294 command used (e.g. zypper update) needs to be executed once again
3295 to install any remaining patches.
3296
3297 104 - ZYPPER_EXIT_INF_CAP_NOT_FOUND
3298 Returned by the install and the remove command in case any of the
3299 arguments does not match any of the available (or installed)
3300 package names or other capabilities.
3301
3302 105 - ZYPPER_EXIT_ON_SIGNAL
3303 Returned upon exiting after receiving a SIGINT or SIGTERM.
3304
3305 106 - ZYPPER_EXIT_INF_REPOS_SKIPPED
3306 Some repository had to be disabled temporarily because it failed to
3307 refresh. You should check your repository configuration (e.g.
3308 zypper ref -f).
3309
3310 107 - ZYPPER_EXIT_INF_RPM_SCRIPT_FAILED
3311 Installation basically succeeded, but some of the packages %post
3312 install scripts returned an error. These packages were successfully
3313 unpacked to disk and are registered in the rpm database, but due to
3314 the failed install script they may not work as expected. The failed
3315 scripts output might reveal what actually went wrong. Any scripts
3316 output is also logged to /var/log/zypp/history.
3317
3318 Zypper subcommands (see section SUBCOMMANDS) may return different codes
3319 which should be described in the commands man page. Call zypper help
3320 subcommand to see the subcommands man page if one is provided.
3321
3323 https://github.com/openSUSE/zypper
3324
3326 The zypper project was started by Martin Vidner, Jan Kupec, Michael
3327 Andres, Duncan Mac-Vicar Prett, Josef Reidinger and Stanislav
3328 Visnovsky. Many people have later contributed to it.
3329
3331 locks(5), zypper-log(8), YaST2(8)
3332
3333
3334
3335SUSE Linux 2022-09-02 ZYPPER(8)