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