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