1yum(8) yum(8)
2
3
4
6 yum - Yellowdog Updater Modified
7
9 yum [options] [command] [package ...]
10
12 yum is an interactive, rpm based, package manager. It can automatically
13 perform system updates, including dependency analysis and obsolete pro‐
14 cessing based on "repository" metadata. It can also perform installa‐
15 tion of new packages, removal of old packages and perform queries on
16 the installed and/or available packages among many other commands/ser‐
17 vices (see below). yum is similar to other high level package managers
18 like apt-get and smart.
19
20 While there are some graphical interfaces directly to the yum code,
21 more recent graphical interface development is happening with Pack‐
22 ageKit and the gnome-packagekit application.
23
24 command is one of:
25 * install package1 [package2] [...]
26 * update [package1] [package2] [...]
27 * update-to [package1] [package2] [...]
28 * update-minimal [package1] [package2] [...]
29 * check-update
30 * upgrade [package1] [package2] [...]
31 * upgrade-to [package1] [package2] [...]
32 * distribution-synchronization [package1] [package2] [...]
33 * remove | erase package1 [package2] [...]
34 * autoremove [package1] [...]
35 * list [...]
36 * info [...]
37 * provides | whatprovides feature1 [feature2] [...]
38 * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
39 * makecache [fast]
40 * groups [...]
41 * search string1 [string2] [...]
42 * shell [filename]
43 * resolvedep dep1 [dep2] [...]
44 (maintained for legacy reasons only - use repoquery or yum pro‐
45 vides)
46 * localinstall rpmfile1 [rpmfile2] [...]
47 (maintained for legacy reasons only - use install)
48 * localupdate rpmfile1 [rpmfile2] [...]
49 (maintained for legacy reasons only - use update)
50 * reinstall package1 [package2] [...]
51 * downgrade package1 [package2] [...]
52 * deplist package1 [package2] [...]
53 * repolist [all|enabled|disabled]
54 * repoinfo [all|enabled|disabled]
55 * repository-packages <enabled-repoid> <install|remove|remove-or-rein‐
56 stall|remove-or-distribution-synchronization> [package2] [...]
57 * version [ all | installed | available | group-* | nogroups* | grou‐
58 plist | groupinfo ]
59 * history [info|list|packages-list|packages-info|summary|addon-
60 info|redo|undo|rollback|new|sync|stats]
61 * load-transaction [txfile]
62 * updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates
63 | exclude-all | check-running-kernel]
64 * fssnapshot [summary | list | have-space | create | delete]
65 * fs [filters | refilter | refilter-cleanup | du]
66 * check
67 * help [command]
68
69 Unless the --help or -h option is given, one of the above commands must
70 be present.
71
72 Repository configuration is honored in all operations.
73
74 install
75 Is used to install the latest version of a package or group of
76 packages while ensuring that all dependencies are satisfied.
77 (See Specifying package names for more information) If no pack‐
78 age matches the given package name(s), they are assumed to be a
79 shell glob and any matches are then installed. If the name
80 starts with @^ then it is treated as an environment group (group
81 install @^foo), an @ character and it's treated as a group
82 (plain group install).
83
84 If the name starts with a "-" character, then a search is done
85 within the transaction and any matches are removed. Note that
86 Yum options use the same syntax and it may be necessary to use
87 "--" to resolve any possible conflicts.
88
89 If the name is a file, then install works like localinstall. If
90 the name doesn't match a package, then package "provides" are
91 searched (e.g. "_sqlitecache.so()(64bit)") as are filelists (Eg.
92 "/usr/bin/yum"). Also note that for filelists, wildcards will
93 match multiple packages.
94
95 Because install does a lot of work to make it as easy as possi‐
96 ble to use, there are also a few specific install commands
97 "install-n", "install-na" and "install-nevra". These only work
98 on package names, and do not process wildcards etc.
99
100 update If run without any packages, update will update every currently
101 installed package. If one or more packages or package globs are
102 specified, Yum will only update the listed packages. While
103 updating packages, yum will ensure that all dependencies are
104 satisfied. (See Specifying package names for more information)
105 If the packages or globs specified match to packages which are
106 not currently installed then update will not install them.
107 update operates on groups, files, provides and filelists just
108 like the "install" command.
109
110 If the main obsoletes configure option is true (default) or the
111 --obsoletes flag is present yum will include package obsoletes
112 in its calculations - this makes it better for distro-version
113 changes, for example: upgrading from somelinux 8.0 to somelinux
114 9.
115
116 Note that "update" works on installed packages first, and only
117 if there are no matches does it look for available packages. The
118 difference is most noticeable when you do "update foo-1-2" which
119 will act exactly as "update foo" if foo-1-2 is installed. You
120 can use the "update-to" if you'd prefer that nothing happen in
121 the above case.
122
123 update-to
124 This command works like "update" but always specifies the ver‐
125 sion of the package we want to update to.
126
127 update-minimal
128 This works like the update command, but if you have the package
129 foo-1 installed and have foo-2 (bugfix) and foo-3 (enhancement)
130 available with updateinfo.xml then update-minimal --bugfix will
131 update you to foo-2.
132
133 check-update
134 Implemented so you could know if your machine had any updates
135 that needed to be applied without running it interactively.
136 Returns exit value of 100 if there are packages available for an
137 update. Also returns a list of the packages to be updated in
138 list format. Returns 0 if no packages are available for update.
139 Returns 1 if an error occurred. Running in verbose mode also
140 shows obsoletes.
141
142 upgrade
143 Is the same as the update command with the --obsoletes flag set.
144 See update for more details.
145
146 upgrade-to
147 This command works like "upgrade" but always specifies the ver‐
148 sion of the package we want to update to.
149
150 distribution-synchronization or distro-sync
151 Synchronizes the installed package set with the latest packages
152 available, this is done by either obsoleting, upgrading or down‐
153 grading as appropriate. This will "normally" do the same thing
154 as the upgrade command however if you have the package FOO
155 installed at version 4, and the latest available is only version
156 3, then this command will downgrade FOO to version 3.
157
158 If you give the optional argument "full", then the command will
159 also reinstall packages where the install checksum and the
160 available checksum do not match. And remove old packages (can be
161 used to sync. rpmdb versions). The optional argument "different"
162 can be used to specify the default operation.
163
164 This command does not perform operations on groups, local pack‐
165 ages or negative selections.
166
167 remove or erase
168 Are used to remove the specified packages from the system as
169 well as removing any packages which depend on the package being
170 removed. remove operates on groups, files, provides and
171 filelists just like the "install" command.(See Specifying pack‐
172 age names for more information)
173
174 Note that "yum" is included in the protected_packages configura‐
175 tion, by default. So you can't accidentally remove yum itself.
176
177 The remove_leaf_only configuration changes the behaviour of this
178 command to only remove packages which aren't required by some‐
179 thing else.
180
181 The clean_requirements_on_remove configuration changes the be‐
182 haviour of this command to also remove packages that are only
183 dependencies of this package.
184
185 Because remove does a lot of work to make it as easy as possible
186 to use, there are also a few specific remove commands "remove-
187 n", "remove-na" and "remove-nevra". These only work on package
188 names, and do not process wildcards etc.
189
190 autoremove
191
192 With one or more arguments this command works like running the
193 "remove" command with the clean_requirements_on_remove turned
194 on. However you can also specify no arguments, at which point it
195 tries to remove any packages that weren't installed explicitly
196 by the user and which aren't required by anything (so called
197 leaf packages).
198
199 Because autoremove does a lot of work to make it as easy as pos‐
200 sible to use, there are also a few specific autoremove commands
201 "autoremove-n", "autoremove-na" and "autoremove-nevra". These
202 only work on package names, and do not process wildcards etc.
203
204 list Is used to list various information about available packages;
205 more complete details are available in the List Options section
206 below.
207
208 provides or whatprovides
209 Is used to find out which package provides some feature or file.
210 Just use a specific name or a file-glob-syntax wildcards to list
211 the packages available or installed that provide that feature or
212 file.
213
214 search This is used to find packages when you know something about the
215 package but aren't sure of it's name. By default search will try
216 searching just package names and summaries, but if that "fails"
217 it will then try descriptions and url.
218
219 Yum search orders the results so that those packages matching
220 more terms will appear first.
221
222 You can force searching everything by specifying "all" as the
223 first argument.
224
225 info Is used to list a description and summary information about
226 available packages; takes the same arguments as in the List
227 Options section below.
228
229 clean Is used to clean up various things which accumulate in the yum
230 cache directory over time. More complete details can be found
231 in the Clean Options section below.
232
233 makecache
234 Is used to download and make usable all the metadata for the
235 currently enabled yum repos. If the argument "fast" is passed,
236 then we just try to make sure the repos are current (much like
237 "yum clean expire-cache").
238
239 groups A command, new in 3.4.2, that collects all the subcommands that
240 act on groups together. Note that recent yum using distributions
241 (Fedora-19+, RHEL-7+) have configured group_command=objects
242 which changes how group commands act in some important ways.
243
244 "group install" is used to install all of the individual pack‐
245 ages in a group, of the specified types (this works as if you'd
246 taken each of those package names and put them on the command
247 line for a "yum install" command).
248 The group_package_types configuration option specifies which
249 types will be installed.
250 If you wish to "reinstall" a group so that you get a package
251 that is currently blacklisted the easiest way to do that cur‐
252 rently is to install the package manually and then run "groups
253 mark packages-sync mygroup mypackagename" (or use yumdb to set
254 the group_member of the package(s)).
255
256 "group update" is just an alias for group install, when using
257 group_command=compat. This will install packages in the group
258 not already installed and upgrade existing packages. With
259 group_command=simple it will just upgrade already installed
260 packages. With group_command=objects it will try to upgrade the
261 group object, installing any available packages not blacklisted
262 (marked '-' in group info) and will upgrade the installed pack‐
263 ages.
264
265 "group list" is used to list the available groups from all yum
266 repos. When group_command=objects the group is installed if the
267 user explicitly installed it (or used the group mark* commands
268 to mark it installed). It does not need to have any packages
269 installed. When not using group_command=objects groups are
270 shown as "installed" if all mandatory packages are installed, or
271 if a group doesn't have any mandatory packages then it is
272 installed if any of the optional or default package are
273 installed (when not in group_command=objects mode). You can
274 pass optional arguments to the list/summary commands: installed,
275 available, environment, language, packages, hidden and ids (or
276 any of those prefixed by "no" to turn them off again). Note
277 that groups that are available but hidden will not be listed
278 unless ´hidden´ keyword is passed to the command. If you pass
279 the -v option, to enable verbose mode, then the groupids are
280 displayed by default (but "yum group list ids" is often easier
281 to read).
282
283 "group remove" is used to remove all of the packages in a group,
284 unlike "groupinstall" this will remove everything regardless of
285 group_package_types. It is worth pointing out that packages can
286 be in more than one group, so "group install X Y" followed by
287 "group remove Y" does not do give you the same result as "group
288 install X".
289
290 The groupremove_leaf_only configuration changes the behaviour of
291 this command to only remove packages which aren't required by
292 something else.
293
294 "group info" is used to give the description and package list of
295 a group (and which type those packages are marked as). Note that
296 you can use the yum-filter-data and yum-list-data plugins to
297 get/use the data the other way around (i.e. what groups own
298 packages need updating). If you pass the -v option, to enable
299 verbose mode, then the package names are matched against
300 installed/available packages similar to the list command.
301
302 When using group_command=objects, the info command will display
303 markers next to each package saying how that package relates to
304 the group object. The meaning of these markers is:
305
306 "-" = Package isn't installed, and won't be installed as part of
307 the group (Eg. "yum group install foo -pkgA" or "yum group
308 install foo; yum remove pkgA" … this will have pkgA marked as
309 '-')
310 "+" = Package isn't installed, but will be the next time you run
311 "yum upgrade" or "yum group upgrade foo"
312 " " = Package is installed, but wasn't installed via the group
313 (so "group remove foo" won't remove it).
314 "=" = Package is installed, and was installed via the group.
315
316 you can move an installed package into an installed group using
317 either "group mark package-sync/package-sync-forced" or "yumdb
318 set group_member".
319
320 "group summary" is used to give a quick summary of how many
321 groups are installed and available.
322
323 "group mark" and "group unmark" are used when groups are config‐
324 ured in group_command=objects mode. These commands then allow
325 you to alter yum's idea of which groups are installed, and the
326 packages that belong to them.
327
328 "group mark install" mark the group as installed. When installed
329 "yum upgrade" and "yum group upgrade" will install new packages
330 for the group (only those packages already installed will be
331 marked as members of the installed group to start with).
332
333 "group mark remove" the opposite of mark install.
334
335 "group mark packages" takes a group id (which must be installed)
336 and marks any given installed packages (which aren't members of
337 a group) as members of the group. Note that the data from the
338 repositories does not need to specify the packages as a member
339 of the group.
340
341 "group mark packages-force" works like mark packages, but
342 doesn't care if the packages are already members of another
343 group.
344
345 "group mark blacklist" will blacklist all packages marked to be
346 installed for a group. After this command a "yum group upgrade"
347 will not install any new packages as part of the group.
348
349 "group mark convert-blacklist"
350
351 "group mark convert-whitelist"
352
353 "group mark convert" converts the automatic data you get without
354 using groups as objects into groups as objects data, in other
355 words this will make "yum --setopt=group_command=objects groups
356 list" look as similar as possible to the current output of "yum
357 --setopt=group_command=simple groups list". This makes it much
358 easier to convert to groups as objects without having to rein‐
359 stall. For groups that are installed the whitelist variant will
360 mark all uninstalled packages for the group as to be installed
361 on the next "yum group upgrade", the blacklist variant (current
362 default) will mark them all as blacklisted.
363
364 "group unmark packages" remove a package as a member from any
365 groups.
366
367 shell Is used to enter the 'yum shell', when a filename is specified
368 the contents of that file is executed in yum shell mode. See
369 yum-shell(8) for more info.
370
371 resolvedep
372 Is used to list packages providing the specified dependencies,
373 at most one package is listed per dependency. This command is
374 maintained for legacy reasons only, use repoquery instead.
375
376 localinstall
377 Is used to install a set of local rpm files. If required the
378 enabled repositories will be used to resolve dependencies. Note
379 that the install command will do a local install, if given a
380 filename. This command is maintained for legacy reasons only.
381
382 localupdate
383 Is used to update the system by specifying local rpm files. Only
384 the specified rpm files of which an older version is already
385 installed will be installed, the remaining specified packages
386 will be ignored. If required the enabled repositories will be
387 used to resolve dependencies. Note that the update command will
388 do a local update, if given a filename. This command is main‐
389 tained for legacy reasons only.
390
391 reinstall
392 Will reinstall the identically versioned package as is currently
393 installed. This does not work for "installonly" packages, like
394 Kernels. reinstall operates on groups, files, provides and
395 filelists just like the "install" command.
396
397 downgrade
398 Will try and downgrade a package from the version currently
399 installed to the previously highest version (or the specified
400 version). The depsolver will not necessarily work, but if you
401 specify all the packages it should work (thus, all the simple
402 cases will work). Also this does not work for "installonly"
403 packages, like Kernels. downgrade operates on groups, files,
404 provides, filelists and rpm files just like the "install" com‐
405 mand.
406
407 swap At it's simplest this is just a simpler way to remove one set of
408 package(s) and install another set of package(s) without having
409 to use the "shell" command. However you can specify different
410 commands to call than just remove or install, and you can list
411 multiple packages (it splits using the "--" marker). Note that
412 option parsing will remove the first "--" in an argument list on
413 the command line.
414
415
416 Examples:
417
418 swap foo bar
419 swap -- remove foo -- install bar
420 swap foo group install bar-grp
421 swap -- group remove foo-grp -- group install bar-grp
422
423 deplist
424 Produces a list of all dependencies and what packages provide
425 those dependencies for the given packages. As of 3.2.30 it now
426 just shows the latest version of each package that matches (this
427 can be changed by using --showduplicates) and it only shows the
428 newest providers (which can be changed by using --verbose).
429
430 repolist
431 Produces a list of configured repositories. The default is to
432 list all enabled repositories. If you pass -v, for verbose mode,
433 or use repoinfo then more information is listed. If the first
434 argument is ´enabled´, ´disabled´ or ´all´ then the command will
435 list those types of repos.
436
437 You can pass repo id or name arguments, or wildcards which to
438 match against both of those. However if the id or name matches
439 exactly then the repo will be listed even if you are listing
440 enabled repos and it is disabled.
441
442 In non-verbose mode the first column will start with a ´*´ if
443 the repo. has metalink data and the latest metadata is not local
444 and will start with a ´!´ if the repo. has metadata that is
445 expired. For non-verbose mode the last column will also display
446 the number of packages in the repo. and (if there are any user
447 specified excludes) the number of packages excluded.
448
449 One last special feature of repolist, is that if you are in non-
450 verbose mode then yum will ignore any repo errors and output the
451 information it can get (Eg. "yum clean all; yum -C repolist"
452 will output something, although the package counts/etc. will be
453 zeroed out).
454
455 repoinfo
456
457 This command works exactly like repolist -v.
458
459 repository-packages
460 Treat a repo. as a collection of packages (like "yum groups")
461 allowing the user to install or remove them as a single entity.
462
463 "repository-packages <repo> list" - Works like the "yum list"
464 command, but only shows packages from the given repository.
465
466 "repository-packages <repo> info" - Works like the "yum info"
467 command, but only shows packages from the given repository.
468
469 "repository-packages <repo> check-update" - Works like the "yum
470 check-update" command, but only shows packages from the given
471 repository.
472
473 "repository-packages <repo> install" - Install all of the pack‐
474 ages in the repository, basically the same as: yum install
475 $(repoquery --repoid=<repo> -a). Specific packages/wildcards
476 can be specified.
477
478 "repository-packages <repo> upgrade" - Update all of the pack‐
479 ages in the repository, basically the same as: yum upgrade
480 $(repoquery --repoid=<repo> -a). Specific packages/wildcards
481 can be specified.
482
483 "repository-packages <repo> upgrade-to" - Update all of the
484 packages in the repository, basically the same as: yum upgrade
485 $(repoquery --repoid=<repo> -a). Without arguments it works the
486 same as upgrade, with arguments it just interprets them as the
487 versions you want to move to.
488
489 "repository-packages <repo> reinstall-old" - ReInstall all of
490 the packages that are installed from the repository and avail‐
491 able in the repository, similar to: yum reinstall $(yumdb
492 search-quiet from_repo <repo>).
493
494 "repository-packages <repo> move-to" - ReInstall all of the
495 packages that are available in the repository, basically the
496 same as: yum reinstall $(repoquery --repoid=<repo> -a).
497
498 "repository-packages <repo> reinstall" - Tries to do reinstall-
499 old, but if that produces no packages then tries move-to.
500
501 "repo-pkgs <repo> remove" - Remove all of the packages in the
502 repository, very similar to: yum remove $(repoquery
503 --repoid=<repo> -a). However the repopkgsremove_leaf_only option
504 is obeyed.
505
506 "repo-pkgs <repo> remove-or-reinstall" - Works like remove for
507 any package that doesn't have the exact same version in another
508 repository. For any package that does have the exact NEVRA in
509 another repository then that version will be reinstalled.
510
511 "repo-pkgs <repo> remove-or-distro-sync" - Works like remove for
512 any package that doesn't exist in another repository. For any
513 package that does exist it tries to work as if distro-sync was
514 called (with the repo. disabled).
515
516
517 version
518 Produces a "version" of the rpmdb, and of the enabled reposito‐
519 ries if "all" is given as the first argument. You can also spec‐
520 ify version groups in the version-groups configuration file. If
521 you pass -v, for verbose mode, more information is listed. The
522 version is calculated by taking an SHA1 hash of the packages (in
523 sorted order), and the checksum_type/checksum_data entries from
524 the yumdb. Note that this rpmdb version is now also used signif‐
525 icantly within yum (esp. in yum history).
526
527 The version command will now show "groups" of packages as a sep‐
528 arate version, and so takes sub-commands:
529
530 "version grouplist" - List the defined version groups.
531
532 "version groupinfo" - Get the complete list of packages within
533 one or more version groups.
534
535 "version installed" - This is the default, only show the version
536 information for installed packages.
537
538 "version available" - Only show the version information for
539 available packages.
540
541 "version all" - Show the version information for installed and
542 available packages.
543
544 "version nogroups | nogroups-*" - Just show the main version
545 information.
546
547 "version group-*" - Just show the grouped version information,
548 if more arguments are given then only show the data for those
549 groups.
550
551
552 history
553 The history command allows the user to view what has happened in
554 past transactions (assuming the history_record config. option is
555 set). You can use info/list/packages-list/packages-info/summary
556 to view what happened, undo/redo/rollback to act on that infor‐
557 mation and new to start a new history file.
558
559 The info/list/summary commands take either a transaction id or a
560 package (with wildcards, as in Specifying package names), all
561 three can also be passed no arguments. list can be passed the
562 keyword "all" to list all the transactions.
563
564 The info command can also take ranges of transaction ids, of the
565 form start..end, which will then display a merged history as if
566 all the transactions in the range had happened at once.
567 Eg. "history info 1..4" will merge the first four transactions
568 and display them as a single transaction.
569
570 The packages-list/packages-info commands takes a package (with
571 wildcards, as in Specifying package names). And show data from
572 the point of view of that package.
573
574 The undo/redo/rollback commands take either a single transaction
575 id or the keyword last and an offset from the last transaction
576 (Eg. if you've done 250 transactions, "last" refers to transac‐
577 tion 250, and "last-4" refers to transaction 246). The redo
578 command can also take some optional arguments before you specify
579 the transaction. "force-reinstall" tells it reinstall any pack‐
580 ages that were installed in that transaction (via install,
581 upgrade or downgrade). "force-remove" tells it to forcibly
582 remove any packages that were updated or downgraded.
583
584 The undo/redo commands act on the specified transaction,
585 undo'ing or repeating the work of that transaction. While the
586 rollback command will undo all transactions up to the point of
587 the specified transaction. For example, if you have 3 transac‐
588 tions, where package A; B and C where installed respectively.
589 Then "undo 1" will try to remove package A, "redo 1" will try to
590 install package A (if it is not still installed), and "rollback
591 1" will try to remove packages B and C. Note that after a "roll‐
592 back 1" you will have a fourth transaction, although the ending
593 rpmdb version (see: yum version) should be the same in transac‐
594 tions 1 and 4.
595
596 The addon-info command takes a transaction ID, and the packages-
597 list command takes a package (with wildcards).
598
599 The stats command shows some statistics about the current his‐
600 tory DB.
601
602 The sync commands allows you to change the rpmdb/yumdb data
603 stored for any installed packages, to whatever is in the current
604 rpmdb/yumdb (this is mostly useful when this data was not stored
605 when the package went into the history DB).
606
607 In "history list" you can change the behaviour of the 2nd column
608 via the configuration option history_list_view.
609
610 In "history list" output the Altered column also gives some
611 extra information if there was something not good with the
612 transaction (this is also shown at the end of the package column
613 in the packages-list command).
614
615 > - The rpmdb was changed, outside yum, after the transaction.
616 < - The rpmdb was changed, outside yum, before the transaction.
617 * - The transaction aborted before completion.
618 # - The transaction completed, but with a non-zero status.
619 E - The transaction completed fine, but had warning/error output
620 during the transaction.
621 P - The transaction completed fine, but problems already existed
622 in the rpmdb.
623 s - The transaction completed fine, but --skip-broken was
624 enabled and had to skip some packages.
625
626
627
628 load-transaction
629 This command will re-load a saved yum transaction file, this
630 allows you to run a transaction on one machine and then use it
631 on another. The two common ways to get a saved yum transaction
632 file are from "yum -q history addon-info last saved_tx" or via
633 the automatic saves in $TMPDIR/yum_save_tx.* when a transaction
634 is solved but not run.
635
636 Running the command without an argument, or a directory as an
637 argument will try and list the possible files available to load.
638 Showing if the packages are still available, if the rpmdb
639 matches the current rpmdb, how many transaction install/removes
640 members are in the saved transaction and what the filename is.
641
642
643 updateinfo
644 This command has a bunch of sub-commands to act on the update‐
645 info in the repositories. The simplest commands are:
646
647 yum updateinfo info [all | available | installed | updates]
648 yum updateinfo list [all | available | installed | updates]
649 yum updateinfo [summary] [all | available | installed |
650 updates]
651
652 which all display information about the available update infor‐
653 mation relevant to your machine (including anything installed,
654 if you supply "all").
655
656 * updates Is used to display information about advisories for
657 packages that can be updated. This is the default.
658 * installed Is used to display information only about installed
659 advisories.
660 * available Is used to display information about advisories for
661 packages available for updating or installation.
662 * all Is used to display information about both installed and
663 available advisories.
664
665 They all take as arguments:
666
667 * <advisory> [advisory...] Is used to display information
668 about one or more advisories.
669
670 * <package> [package...] Is used to display information about
671 one or more packages.
672
673 * bugzillas / bzs Is the subset of the updateinfo information,
674 pertaining to the bugzillas.
675
676 * cves Is the subset of the updateinfo information, pertaining
677 to the CVEs.
678
679 * enhancement Is the subset of the updateinfo information, per‐
680 taining to enhancements.
681
682 * bugfix Is the subset of the updateinfo information, pertain‐
683 ing to bugfixes.
684
685 * security / sec Is the subset of the updateinfo information,
686 pertaining to security.
687
688 * severity / sev Include security relevant packages of this
689 severity.
690
691 * recommended Is the subset of the updateinfo information, per‐
692 taining to recommended updates.
693
694 * new-packages Is the subset of the updateinfo information,
695 pertaining to new packages. These are packages which weren't
696 available at the initial release of your distribution.
697
698 There are also three sub-commands to remove packages when using
699 "yum shell", they are:
700
701 yum updateinfo remove-pkgs-ts
702
703 yum updateinfo exclude-updates
704
705 yum updateinfo exclude-all
706
707 they all take the following arguments:
708
709 * [bzs=foo] [advisories=foo] [cves=foo] [security-severity=foo]
710 [security] [bugfix]
711
712 and finally there is a command to manually check the running
713 kernel against updateinfo data:
714
715 yum updateinfo check-running-kernel
716
717
718 fssnapshot or fssnap
719 This command has a few sub-commands to act on the LVM data of
720 the host, to list snapshots and to create and remove them. The
721 simplest commands, to display information about the configured
722 LVM snapshotable devices, are:
723
724 yum fssnapshot [summary]
725 yum fssnapshot list
726 yum fssnapshot have-space
727
728 then you can create and delete snapshots using:
729
730 yum fssnapshot create
731 yum fssnapshot delete <device(s)>
732
733 Configuration Options: fssnap_automatic_pre, fssnap_auto‐
734 matic_post, fssnap_automatic_keep, fssnap_percentage, fss‐
735 nap_devices, fssnap_abort_on_errors
736
737
738 fs This command has a few sub-commands to act on the filesystem
739 data of the host, mainly for removing languages/documentation
740 for minimal installs:
741
742 yum fs filters
743
744 yum fs filter languages en:es
745
746 yum fs filter documentation
747
748 yum fs refilter [package(s)]
749
750 yum fs refilter-cleanup [package(s)]
751
752 yum fs du [path]
753
754 yum fs status [path]
755
756 yum fs diff [path]
757
758
759 the first 3 being a simple interface to change yum.conf altering
760 the tsflags and override_install_langs configurations. The
761 refilter command is an optimized way of calling "yum reinstall"
762 to reinstall the packages with the new filters applied. The
763 refilter-cleanup command is needed because rpm doesn't actually
764 remove the files on reinstall, as it should. And the du/sta‐
765 tus/diff commands are included so you can easily see the space
766 used/saved and any other changes.
767
768
769 check Checks the local rpmdb and produces information on any problems
770 it finds. You can pass the check command the arguments "depen‐
771 dencies", "duplicates", "obsoleted" or "provides", to limit the
772 checking that is performed (the default is "all" which does
773 all).
774
775
776 help Produces help, either for all commands or if given a command
777 name then the help for that particular command.
778
780 Most command line options can be set using the configuration file as
781 well and the descriptions indicate the necessary configuration option
782 to set.
783
784 -h, --help
785 Help; display a help message and then quit.
786
787 -y, --assumeyes
788 Assume yes; assume that the answer to any question which would
789 be asked is yes.
790 Configuration Option: assumeyes
791
792 --assumeno
793 Assume no; assume that the answer to any question which would be
794 asked is no. This option overrides assumeyes, but is still sub‐
795 ject to alwaysprompt.
796 Configuration Option: assumeno
797
798 -c, --config=[config file]
799 Specifies the config file location - can take HTTP and FTP URLs
800 and local file paths.
801
802 -q, --quiet
803 Run without output. Note that you likely also want to use -y.
804
805 -v, --verbose
806 Run with a lot of debugging output.
807
808 -d, --debuglevel=[number]
809 Sets the debugging level to [number] - turns up or down the
810 amount of things that are printed. Practical range: 0 - 10
811 Configuration Option: debuglevel
812
813 -e, --errorlevel=[number]
814 Sets the error level to [number] Practical range 0 - 10. 0 means
815 print only critical errors about which you must be told. 1 means
816 print all errors, even ones that are not overly important. 1+
817 means print more errors (if any) -e 0 is good for cron jobs.
818 Configuration Option: errorlevel
819
820 --rpmverbosity=[name]
821 Sets the debug level to [name] for rpm scriptlets. 'info' is the
822 default, other options are: 'critical', 'emergency', 'error',
823 'warn' and 'debug'.
824 Configuration Option: rpmverbosity
825
826 -R, --randomwait=[time in minutes]
827 Sets the maximum amount of time yum will wait before performing
828 a command - it randomizes over the time.
829
830 -C, --cacheonly
831 Tells yum to run entirely from system cache; does not download
832 or update metadata. When this is used by a non-root user, yum
833 will run entirely from user cache in $TMPDIR. This option
834 doesn't stop yum from updating user cache from system cache
835 locally if the latter is newer (this is always done when running
836 as a user).
837
838 --version
839 Reports the yum version number and installed package versions
840 for everything in history_record_packages (can be added to by
841 plugins).
842
843 --showduplicates
844 Doesn't limit packages to their latest versions in the info,
845 list and search commands (will also affect plugins which use the
846 doPackageLists() API).
847
848 --installroot=root
849 Specifies an alternative installroot, relative to which all
850 packages will be installed. Think of this like doing "chroot
851 <root> yum" except using --installroot allows yum to work before
852 the chroot is created. Note: You may also want to use the
853 option --releasever=/ when creating the installroot as otherwise
854 the $releasever value is taken from the rpmdb within the
855 installroot (and thus. will be empty, before creation).
856 Configuration Option: installroot
857
858 --enablerepo=repoidglob
859 Enables specific repositories by id or glob that have been dis‐
860 abled in the configuration file using the enabled=0 option.
861 Configuration Option: enabled
862
863 --disablerepo=repoidglob
864 Disables specific repositories by id or glob.
865 Configuration Option: enabled
866
867 --obsoletes
868 This option only has affect for an update, it enables yum´s
869 obsoletes processing logic. For more information see the update
870 command above.
871 Configuration Option: obsoletes
872
873 -x, --exclude=package
874 Exclude a specific package by name or glob from all reposito‐
875 ries, so yum works as if that package was never in the reposito‐
876 ries. This is commonly used so a package isn't upgraded or
877 installed accidentally, but can be used to remove packages in
878 any way that "yum list" will show packages.
879
880 Can be disabled using --disableexcludes. Configuration Option:
881 exclude, includepkgs
882
883 --color=[always|auto|never]
884 Display colorized output automatically, depending on the output
885 terminal, always (using ANSI codes) or never. Note that some
886 commands (Eg. list and info) will do a little extra work when
887 color is enabled. Configuration Option: color
888
889 --disableexcludes=[all|main|repoid]
890 Disable the excludes defined in your config files. Takes one of
891 three options:
892 all == disable all excludes
893 main == disable excludes defined in [main] in yum.conf
894 repoid == disable excludes defined for that repo
895
896 --disableincludes=[all|repoid]
897 Disable the includes defined in your config files. Takes one of
898 two options:
899 all == disable all includes
900 repoid == disable includes defined for that repo
901
902 --disableplugin=plugin
903 Run with one or more plugins disabled, the argument is a comma
904 separated list of wildcards to match against plugin names.
905
906 --noplugins
907 Run with all plugins disabled.
908 Configuration Option: plugins
909
910 --nogpgcheck
911 Run with GPG signature checking disabled.
912 Configuration Option: gpgcheck
913
914 --skip-broken
915 Resolve depsolve problems by removing packages that are causing
916 problems from the transaction.
917 Configuration Option: skip_broken
918
919 --releasever=version
920 Pretend the current release version is the given string. This is
921 very useful when combined with --installroot. You can also use
922 --releasever=/ to take the releasever information from outside
923 the installroot. Note that with the default upstream cachedir,
924 of /var/cache/yum, using this option will corrupt your cache
925 (and you can use $releasever in your cachedir configuration to
926 stop this).
927
928 -t, --tolerant
929 This option makes yum go slower, checking for things that
930 shouldn't be possible making it more tolerant of external
931 errors.
932
933 --downloadonly
934 Don't update, just download. This is done in the background, so
935 the yum lock is released for other operations. This can also be
936 chosen by typing 'd'ownloadonly at the transaction confirmation
937 prompt.
938
939 --downloaddir=directory
940 Specifies an alternate directory to store packages.
941
942 --setopt=option=value
943 Set any config option in yum config or repo files. For options
944 in the global config just use: --setopt=option=value for repo
945 options use: --setopt=repoid.option=value
946
947 --security
948 This option includes packages that say they fix a security
949 issue, in updates.
950
951 --advisory=ADVS, --advisories=ADVS
952 This option includes in updates packages corresponding to the
953 advisory ID, Eg. FEDORA-2201-123.
954
955 --bz=BZS
956 This option includes in updates packages that say they fix a
957 Bugzilla ID, Eg. 123.
958
959 --cve=CVES
960 This option includes in updates packages that say they fix a CVE
961 - Common Vulnerabilities and Exposures ID
962 (http://cve.mitre.org/about/), Eg. CVE-2201-0123.
963
964 --bugfix
965 This option includes in updates packages that say they fix a
966 bugfix issue.
967
968 --sec-severity=SEVS, --secseverity=SEVS
969 This option includes in updates security relevant packages of
970 the specified severity.
971
972
973
975 The following are the ways which you can invoke yum in list mode. Note
976 that all list commands include information on the version of the pack‐
977 age.
978
979 OUTPUT
980
981
982 The format of the output of yum list is:
983
984 name.arch [epoch:]version-release repo or @installed-from-repo
985
986 Note that if the repo cannot be determined, "installed" is
987 printed instead.
988
989
990 yum list [all | glob_exp1] [glob_exp2] [...]
991 List all available and installed packages.
992
993 yum list available [glob_exp1] [...]
994 List all packages in the yum repositories available to be
995 installed.
996
997 yum list updates [glob_exp1] [...]
998 List all packages with updates available in the yum reposito‐
999 ries.
1000
1001 yum list installed [glob_exp1] [...]
1002 List the packages specified by args. If an argument does not
1003 match the name of an available package, it is assumed to be a
1004 shell-style glob and any matches are printed.
1005
1006 yum list extras [glob_exp1] [...]
1007 List the packages installed on the system that are not available
1008 in any yum repository listed in the config file.
1009
1010 yum list distro-extras [glob_exp1] [...]
1011 List the packages installed on the system that are not avail‐
1012 able, by name, in any yum repository listed in the config file.
1013
1014 yum list obsoletes [glob_exp1] [...]
1015 List the packages installed on the system that are obsoleted by
1016 packages in any yum repository listed in the config file.
1017
1018 yum list recent
1019 List packages recently added into the repositories. This is
1020 often not helpful, but what you may really want to use is "yum
1021 list-updateinfo new" from the security yum plugin.
1022
1024 A package can be referred to for install, update, remove, list, info
1025 etc with any of the following as well as globs of any of the following:
1026
1027 name
1028 name.arch
1029 name-ver
1030 name-ver-rel
1031 name-ver-rel.arch
1032 name-epoch:ver-rel.arch
1033 epoch:name-ver-rel.arch
1034
1035 For example: yum remove kernel-2.4.1-10.i686
1036 this will remove this specific kernel-ver-rel.arch.
1037
1038 Or: yum list available 'foo*'
1039 will list all available packages that match 'foo*'. (The
1040 single quotes will keep your shell from expanding the globs.)
1041
1043 The following are the ways which you can invoke yum in clean mode.
1044
1045 Note that these commands only operate on files in currently enabled
1046 repositories. If you use substitution variables (such as $releasever)
1047 in your cachedir configuration, the operation is further restricted to
1048 the current values of those variables.
1049
1050 For fine-grained control over what is being cleaned, you can use
1051 --enablerepo, --disablerepo and --releasever as desired. Note, how‐
1052 ever, that you cannot use --releasever='*' to do the cleaning for all
1053 values previously used. Also note that untracked (no longer config‐
1054 ured) repositories will not be automatically cleaned.
1055
1056 To purge the entire cache in one go, the easiest way is to delete the
1057 files manually. Depending on your cachedir configuration, this usually
1058 means treating any variables as shell wildcards and recursively remov‐
1059 ing matching directories. For example, if your cachedir is
1060 /var/cache/yum/$basearch/$releasever, then the whole /var/cache/yum
1061 directory has to be removed. If you do this, yum will rebuild the
1062 cache as required the next time it is run (this may take a while).
1063
1064 As a convenience, when you run yum clean all, a recursive lookup will
1065 be done to detect any repositories not cleaned due to the above
1066 restrictions. If some are found, a message will be printed stating how
1067 much disk space they occupy and thus how much you can reclaim by clean‐
1068 ing them. If you also supply --verbose, a more detailed breakdown will
1069 be printed.
1070
1071
1072 yum clean expire-cache
1073 Eliminate the local data saying when the metadata and mir‐
1074 rorlists were downloaded for each repo. This means yum will
1075 revalidate the cache for each repo. next time it is used. How‐
1076 ever if the cache is still valid, nothing significant was
1077 deleted.
1078
1079
1080 yum clean packages
1081 Eliminate any cached packages from the system. Note that pack‐
1082 ages are not automatically deleted after they are downloaded.
1083
1084
1085 yum clean headers
1086 Eliminate all of the header files, which old versions of yum
1087 used for dependency resolution.
1088
1089
1090 yum clean metadata
1091 Eliminate all of the files which yum uses to determine the
1092 remote availability of packages. Using this option will force
1093 yum to download all the metadata the next time it is run.
1094
1095
1096 yum clean dbcache
1097 Eliminate the sqlite cache used for faster access to metadata.
1098 Using this option will force yum to download the sqlite metadata
1099 the next time it is run, or recreate the sqlite metadata if
1100 using an older repo.
1101
1102
1103 yum clean rpmdb
1104 Eliminate any cached data from the local rpmdb.
1105
1106
1107 yum clean plugins
1108 Tell any enabled plugins to eliminate their cached data.
1109
1110
1111 yum clean all
1112 Does all of the above.
1113
1114
1116 To list all updates that are security relevant, and get a return code
1117 on whether there are security updates use:
1118
1119 yum --security check-update
1120
1121 To upgrade packages that have security errata (upgrades to the latest
1122 available package) use:
1123
1124 yum --security update
1125
1126 To upgrade packages that have security errata (upgrades to the last
1127 security errata package) use:
1128
1129 yum --security update-minimal
1130
1131 To get a list of all BZs that are fixed for packages you have installed
1132 use:
1133
1134 yum updateinfo list bugzillas
1135
1136 To get a list of all security advisories, including the ones you have
1137 already installed use:
1138
1139 yum updateinfo list all security
1140
1141 To get the information on advisory FEDORA-2707-4567 use:
1142
1143 yum updateinfo info FEDORA-2707-4567
1144
1145 For Red Hat advisories, respin suffixes are also accepted in the ID,
1146 although they won't have any effect on the actual respin selected by
1147 yum, as it will always select the latest one available. For example,
1148 if you use:
1149
1150 yum updateinfo info RHSA-2016:1234-2
1151
1152 while RHSA-2016:1234-3 has been shipped already, yum will select the
1153 latter (provided your updateinfo.xml is current). The same would hap‐
1154 pen if you just specified RHSA-2016:1234. That said, there's no need
1155 for you to specify or care about the suffix at all.
1156
1157 To update packages to the latest version which contain fixes for
1158 Bugzillas 123, 456 and 789; and all security updates use:
1159
1160 yum --bz 123 --bz 456 --bz 789 --security update
1161
1162 To update to the packages which just update Bugzillas 123, 456 and 789;
1163 and all security updates use:
1164
1165 yum --bz 123 --bz 456 --bz 789 --security update-minimal
1166
1167 To get an info list of the latest packages which contain fixes for
1168 Bugzilla 123; CVEs CVE-2207-0123 and CVE-2207-3210; and Fedora advi‐
1169 sories FEDORA-2707-4567 and FEDORA-2707-7654 use:
1170
1171 yum --bz 123 --cve CVE-2207-0123 --cve CVE-2207-3210 --advisory
1172 FEDORA-2707-4567 --advisory FEDORA-2707-7654 info updates
1173
1174 To get a list of packages which are "new".
1175
1176 yum updateinfo list new
1177
1178 To get a summary of advisories you haven't installed yet use:
1179
1180 yum updateinfo summary
1181
1182
1183
1185 Yum can be extended through the use of plugins. A plugin is a Python
1186 ".py" file which is installed in one of the directories specified by
1187 the pluginpath option in yum.conf. For a plugin to work, the following
1188 conditions must be met:
1189
1190 1. The plugin module file must be installed in the plugin path as just
1191 described.
1192
1193 2. The global plugins option in /etc/yum.conf must be set to `1'.
1194
1195 3. A configuration file for the plugin must exist in /etc/yum/plugin‐
1196 conf.d/<plugin_name>.conf and the enabled setting in this file must set
1197 to `1'. The minimal content for such a configuration file is:
1198
1199 [main]
1200 enabled = 1
1201
1202 See the yum.conf(5) man page for more information on plugin related
1203 configuration options.
1204
1205
1207 /etc/yum.conf
1208 /etc/yum/version-groups.conf
1209 /etc/yum.repos.d/
1210 /etc/yum/pluginconf.d/
1211 /var/cache/yum/
1212
1213
1215 pkcon [4m(1)
1216 yum.conf [4m(5)
1217 yum-updatesd [4m(8)
1218 package-cleanup [4m(1)
1219 repoquery [4m(1)
1220 yum-complete-transaction [4m(1)
1221 yumdownloader [4m(1)
1222 yum-utils [4m(1)
1223 yum-langpacks [4m(1)
1224 http://yum.baseurl.org/
1225 http://yum.baseurl.org/wiki/Faq
1226 yum search yum
1227
1228
1230 See the Authors file included with this program.
1231
1232
1234 There of course aren't any bugs, but if you find any, you should first
1235 consult the FAQ mentioned above and then email the mailing list:
1236 yum@lists.baseurl.org or filed in bugzilla.
1237
1238
1239
1240Seth Vidal yum(8)