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 * check-update
28 * upgrade [package1] [package2] [...]
29 * distribution-synchronization [package1] [package2] [...]
30 * remove | erase package1 [package2] [...]
31 * list [...]
32 * info [...]
33 * provides | whatprovides feature1 [feature2] [...]
34 * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
35 * makecache
36 * groupinstall group1 [group2] [...]
37 * groupupdate group1 [group2] [...]
38 * grouplist [hidden] [groupwildcard] [...]
39 * groupremove group1 [group2] [...]
40 * groupinfo group1 [...]
41 * search string1 [string2] [...]
42 * shell [filename]
43 * resolvedep dep1 [dep2] [...]
44 * localinstall rpmfile1 [rpmfile2] [...]
45 (maintained for legacy reasons only - use install)
46 * localupdate rpmfile1 [rpmfile2] [...]
47 (maintained for legacy reasons only - use update)
48 * reinstall package1 [package2] [...]
49 * downgrade package1 [package2] [...]
50 * deplist package1 [package2] [...]
51 * repolist [all|enabled|disabled]
52 * version [ all | installed | available | group-* | nogroups* | grou‐
53 plist | groupinfo ]
54 * history [info|list|summary|redo|undo|new|addon-info]
55 * check
56 * help [command]
57
58 Unless the --help or -h option is given, one of the above commands must
59 be present.
60
61 Repository configuration is honored in all operations.
62
63 install
64 Is used to install the latest version of a package or group of
65 packages while ensuring that all dependencies are satisfied.
66 (See Specifying package names for more information) If no pack‐
67 age matches the given package name(s), they are assumed to be a
68 shell glob and any matches are then installed. If the name
69 starts with an @ character the rest of the name is used as
70 though passed to the groupinstall command. If the name starts
71 with a - character, then a search is done within the transaction
72 and any matches are removed. If the name is a file, then install
73 works like localinstall. If the name doesn't match a package,
74 then package "provides" are searched (Eg. "_sqlite‐
75 cache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum"). Also
76 note that for filelists, wildcards will match multiple packages.
77
78 update If run without any packages, update will update every currently
79 installed package. If one or more packages or package globs are
80 specified, Yum will only update the listed packages. While
81 updating packages, yum will ensure that all dependencies are
82 satisfied. (See Specifying package names for more information)
83 If the packages or globs specified match to packages which are
84 not currently installed then update will not install them.
85 update operates on groups, files, provides and filelists just
86 like the "install" command.
87
88 If the main obsoletes configure option is true (default) or the
89 --obsoletes flag is present yum will include package obsoletes
90 in its calculations - this makes it better for distro-version
91 changes, for example: upgrading from somelinux 8.0 to somelinux
92 9.
93
94 check-update
95 Implemented so you could know if your machine had any updates
96 that needed to be applied without running it interactively.
97 Returns exit value of 100 if there are packages available for an
98 update. Also returns a list of the packages to be updated in
99 list format. Returns 0 if no packages are available for update.
100 Returns 1 if an error occurred. Running in verbose mode also
101 shows obsoletes.
102
103 upgrade
104 Is the same as the update command with the --obsoletes flag set.
105 See update for more details.
106
107 distribution-synchronization or distro-sync
108 Synchronizes the installed package set with the latest packages
109 available, this is done by either obsoleting, upgrading or down‐
110 grading as appropriate. This will "normally" do the same thing
111 as the upgrade command however if you have the package FOO
112 installed at version 4, and the latest available is only version
113 3, then this command will downgrade FOO to version 3.
114
115 This command does not perform operations on groups, local pack‐
116 ages or negative selections.
117
118 remove or erase
119 Are used to remove the specified packages from the system as
120 well as removing any packages which depend on the package being
121 removed. remove operates on groups, files, provides and
122 filelists just like the "install" command.(See Specifying pack‐
123 age names for more information)
124
125 Note that "yum" is included in the protected_packages configura‐
126 tion, by default. So you can't accidentally remove yum itself.
127
128 list Is used to list various information about available packages;
129 more complete details are available in the List Options section
130 below.
131
132 provides or whatprovides
133 Is used to find out which package provides some feature or file.
134 Just use a specific name or a file-glob-syntax wildcards to list
135 the packages available or installed that provide that feature or
136 file.
137
138 search Is used to find any packages matching a string in the descrip‐
139 tion, summary and package name fields of an rpm. Useful for
140 finding a package you do not know by name but know by some word
141 related to it.
142
143 info Is used to list a description and summary information about
144 available packages; takes the same arguments as in the List
145 Options section below.
146
147 clean Is used to clean up various things which accumulate in the yum
148 cache directory over time. More complete details can be found
149 in the Clean Options section below.
150
151 makecache
152 Is used to download and make usable all the metadata for the
153 currently enabled yum repos.
154
155 groupinstall
156 Is used to install all of the individual packages in a group, of
157 the specified types (this works as if you'd taken each of those
158 package names and put them on the command line for a "yum
159 install" command).
160 The group_package_types configuration option specifies which
161 types will be installed.
162
163 groupupdate
164 Is just an alias for groupinstall, which will do the right thing
165 because "yum install X" and "yum update X" do the same thing,
166 when X is already installed.
167
168 grouplist
169 Is used to list the available groups from all yum repos. Groups
170 are marked as "installed" if all mandatory packages are
171 installed, or if a group doesn't have any mandatory packages
172 then it is installed if any of the optional or default package
173 are installed. The optional "hidden" argument will also list
174 groups marked as not being "user visible". If you pass the -v
175 option, to enable verbose mode, then the groupids are displayed.
176
177 groupremove
178 Is used to remove all of the packages in a group, unlike
179 "groupinstall" this will remove everything regardless of
180 group_package_types. It is worth pointing out that packages can
181 be in more than one group, so "groupinstall X Y" followed by
182 "groupremove Y" does not do give you the same result as
183 "groupinstall X".
184
185 The groupremove_leaf_only configuration changes the behaviour of
186 this command to only remove packages which aren't required by
187 something else.
188
189 groupinfo
190 Is used to give the description and package list of a group (and
191 which type those packages are marked as). Note that you can use
192 the yum-filter-data and yum-list-data plugins to get/use the
193 data the other way around (Ie. what groups own packages need
194 updating). If you pass the -v option, to enable verbose mode,
195 then the package names are matched against installed/available
196 packages similar to the list command.
197
198 shell Is used to enter the 'yum shell', when a filename is specified
199 the contents of that file is executed in yum shell mode. See
200 yum-shell(8) for more info
201
202 resolvedep
203 Is used to list packages providing the specified dependencies,
204 at most one package is listed per dependency.
205
206 localinstall
207 Is used to install a set of local rpm files. If required the
208 enabled repositories will be used to resolve dependencies. Note
209 that the install command will do a local install, if given a
210 filename. This option is maintained for legacy reasons only.
211
212 localupdate
213 Is used to update the system by specifying local rpm files. Only
214 the specified rpm files of which an older version is already
215 installed will be installed, the remaining specified packages
216 will be ignored. If required the enabled repositories will be
217 used to resolve dependencies. Note that the update command will
218 do a local update, if given a filename. This option is main‐
219 tained for legacy reasons only.
220
221 reinstall
222 Will reinstall the identically versioned package as is currently
223 installed. This does not work for "installonly" packages, like
224 Kernels. reinstall operates on groups, files, provides and
225 filelists just like the "install" command.
226
227 downgrade
228 Will try and downgrade a package from the version currently
229 installed to the previously highest version (or the specified
230 version). The depsolver will not necessarily work, but if you
231 specify all the packages it should work (and thus. all the sim‐
232 ple cases will work). Also this does not work for "installonly"
233 packages, like Kernels. downgrade operates on groups, files,
234 provides, filelists and rpm files just like the "install" com‐
235 mand.
236
237 deplist
238 Produces a list of all dependencies and what packages provide
239 those dependencies for the given packages.
240
241 repolist
242 Produces a list of configured repositories. The default is to
243 list all enabled repositories. If you pass -v, for verbose mode,
244 more information is listed. If the first argument is 'enabled',
245 'disabled' or 'all' then the command will list those types of
246 repos.
247
248 You can pass repo id or name arguments, or wildcards which to
249 match against both of those. However if the ir or name matches
250 exactly then the repo will be listed even if you are listing
251 enabled repos. and it is disabled.
252
253 In non-verbose mode the first column will start with a '*' if
254 the repo. has metalink data and the latest metadata is not
255 local. For non-verbose mode the last column will also display
256 the number of packages in the repo. and (if there are any user
257 specified excludes) the number of packages excluded.
258
259 One last special feature of repolist, is that if you are in non-
260 verbose mode then yum will ignore any repo errors and output the
261 information it can get (Eg. "yum clean all; yum -C repolist"
262 will output something, although the package counts/etc. will be
263 zeroed out).
264
265 version
266 Produces a "version" of the rpmdb, and of the enabled reposito‐
267 ries if "all" is given as the first argument. You can also spec‐
268 ify version groups in the version-groups config. file. If you
269 pass -v, for verbose mode, more information is listed. The ver‐
270 sion is calculated by taking a sha1 hash of the packages (in
271 sorted order), and the checksum_type/checksum_data entries from
272 the yumdb. Note that this rpmdb version is now also used signif‐
273 icantly within yum (esp. in yum history).
274
275 The version command will now show "groups" of packages as a sep‐
276 arate version, and so takes sub-commands:
277
278 "version grouplist" - List the defined version groups.
279
280 "version groupinfo" - Get the complete list of packages within
281 one or more version groups.
282
283 "version installed" - This is the default, only show the version
284 information for installed packages.
285
286 "version available" - Only show the version information for
287 available packages.
288
289 "version all" - Show the version information for installed and
290 available packages.
291
292 "version nogroups | nogroups-*" - Just show the main version
293 information.
294
295 "version group-*" - Just show the grouped version information,
296 if more arguments are given then only show the data for those
297 groups.
298
299
300 history
301 The history command allows the user to view what has happened in
302 past transactions (assuming the history_record config. option is
303 set). You can use info/list/summary to view what happened,
304 undo/redo to act on that information and new to start a new his‐
305 tory file.
306
307 The info/list/summary commands take either a transaction id or a
308 package (with wildcards, as in Specifying package names), all
309 three can also be passed no arguments. list can be passed the
310 keyword "all" to list all the transactions.
311
312 The undo/redo commands take either a transaction id or the key‐
313 word last and an offset from the last transaction (Eg. if you've
314 done 250 transactions, "last" refers to transaction 250, and
315 "last-4" refers to transaction 246).
316
317 In "history list" output the Altered column also gives some
318 extra information if there was something not good with the
319 transaction.
320
321 > - The rpmdb was changed, outside yum, after the transaction.
322 < - The rpmdb was changed, outside yum, before the transaction.
323 * - The transaction aborted before completion.
324 # - The transaction completed, but with a non-zero status.
325 E - The transaction completed fine, but had warning/error output
326 during the transaction.
327 P - The transaction completed fine, but problems already existed
328 in the rpmdb.
329 s - The transaction completed fine, but --skip-broken was
330 enabled and had to skip some packages.
331
332
333 check Checks the local rpmdb and produces information on any problems
334 it finds. You can pass the check command the arguments "depen‐
335 dencies" or "duplicates", to limit the checking that is per‐
336 formed (the default is "all" which does both).
337
338 help Produces help, either for all commands or if given a command
339 name then the help for that particular command.
340
342 Most command line options can be set using the configuration file as
343 well and the descriptions indicate the necessary configuration option
344 to set.
345
346 -h, --help
347 Help; display a help message and then quit.
348
349 -y, --assumeyes
350 Assume yes; assume that the answer to any question which would
351 be asked is yes.
352 Configuration Option: assumeyes
353
354 -c, --config=[config file]
355 Specifies the config file location - can take HTTP and FTP URLs
356 and local file paths.
357
358 -q, --quiet
359 Run without output. Note that you likely also want to use -y.
360
361 -v, --verbose
362 Run with a lot of debugging output.
363
364 -d, --debuglevel=[number]
365 Sets the debugging level to [number] - turns up or down the
366 amount of things that are printed. Practical range: 0 - 10
367 Configuration Option: debuglevel
368
369 -e, --errorlevel=[number]
370 Sets the error level to [number] Practical range 0 - 10. 0 means
371 print only critical errors about which you must be told. 1 means
372 print all errors, even ones that are not overly important. 1+
373 means print more errors (if any) -e 0 is good for cron jobs.
374 Configuration Option: errorlevel
375
376 --rpmverbosity=[name]
377 Sets the debug level to [name] for rpm scriplets. 'info' is the
378 default, other options are: 'critical', 'emergency', 'error',
379 'warn' and 'debug'.
380 Configuration Option: rpmverbosity
381
382 -R, --randomwait=[time in minutes]
383 Sets the maximum amount of time yum will wait before performing
384 a command - it randomizes over the time.
385
386 -C, --cacheonly
387 Tells yum to run entirely from system cache - does not download
388 or update any headers unless it has to to perform the requested
389 action.
390
391 --version
392 Reports the yum version number and installed package versions
393 for everything in history_record_packages (can be added to by
394 plugins).
395
396 --showduplicates
397 Doesn't limit packages to their latest versions in the info,
398 list and search commands (will also affect plugins which use the
399 doPackageLists() API).
400
401 --installroot=root
402 Specifies an alternative installroot, relative to which all
403 packages will be installed.
404 Configuration Option: installroot
405
406 --enablerepo=repoidglob
407 Enables specific repositories by id or glob that have been dis‐
408 abled in the configuration file using the enabled=0 option.
409 Configuration Option: enabled
410
411 --disablerepo=repoidglob
412 Disables specific repositories by id or glob.
413 Configuration Option: enabled
414
415 --obsoletes
416 This option only has affect for an update, it enables yum´s
417 obsoletes processing logic. For more information see the update
418 command above.
419 Configuration Option: obsoletes
420
421 -x, --exclude=package
422 Exclude a specific package by name or glob from updates on all
423 repositories. Configuration Option: exclude
424
425 --color=[always|auto|never]
426 Display colorized output automatically, depending on the output
427 terminal, always (using ANSI codes) or never. Note that some
428 commands (Eg. list and info) will do a little extra work when
429 color is enabled. Configuration Option: color
430
431 --disableexcludes=[all|main|repoid]
432 Disable the excludes defined in your config files. Takes one of
433 three options:
434 all == disable all excludes
435 main == disable excludes defined in [main] in yum.conf
436 repoid == disable excludes defined for that repo
437
438 --disableplugin=plugin
439 Run with one or more plugins disabled, the argument is a comma
440 separated list of wildcards to match against plugin names.
441
442 --noplugins
443 Run with all plugins disabled.
444 Configuration Option: plugins
445
446 --nogpgcheck
447 Run with GPG signature checking disabled.
448 Configuration Option: gpgcheck
449
450 --skip-broken
451 Resolve depsolve problems by removing packages that are causing
452 problems from the transaction.
453 Configuration Option: skip_broken
454
455 --releasever=version
456 Pretend the current release version is the given string. This is
457 very useful when combined with --installroot. Note that with the
458 default upstream cachedir, of /var/cache/yum, using this option
459 will corrupt your cache (and you can use $releasever in your
460 cachedir configuration to stop this).
461
462 -t, --tolerant
463 This option currently does nothing.
464
465 --setopt=option=value
466 Set any config option in yum config or repo files. For options
467 in the global config just use: --setopt=option=value for repo
468 options use: --setopt=repoid.option=value
469
471 The following are the ways which you can invoke yum in list mode. Note
472 that all list commands include information on the version of the pack‐
473 age.
474
475 OUTPUT
476
477
478 The format of the output of yum list is:
479
480 name.arch [epoch:]version-release repo or @installed-from-repo
481
482
483 yum list [all | glob_exp1] [glob_exp2] [...]
484 List all available and installed packages.
485
486 yum list available [glob_exp1] [...]
487 List all packages in the yum repositories available to be
488 installed.
489
490 yum list updates [glob_exp1] [...]
491 List all packages with updates available in the yum reposito‐
492 ries.
493
494 yum list installed [glob_exp1] [...]
495 List the packages specified by args. If an argument does not
496 match the name of an available package, it is assumed to be a
497 shell-style glob and any matches are printed.
498
499 yum list extras [glob_exp1] [...]
500 List the packages installed on the system that are not available
501 in any yum repository listed in the config file.
502
503 yum list obsoletes [glob_exp1] [...]
504 List the packages installed on the system that are obsoleted by
505 packages in any yum repository listed in the config file.
506
507 yum list recent
508 List packages recently added into the repositories. This is
509 often not helpful, but what you may really want to use is "yum
510 list-updateinfo new" from the security yum plugin.
511
513 A package can be referred to for install, update, remove, list, info
514 etc with any of the following as well as globs of any of the following:
515
516 name
517 name.arch
518 name-ver
519 name-ver-rel
520 name-ver-rel.arch
521 name-epoch:ver-rel.arch
522 epoch:name-ver-rel.arch
523
524 For example: yum remove kernel-2.4.1-10.i686
525 this will remove this specific kernel-ver-rel.arch.
526
527 Or: yum list available 'foo*'
528 will list all available packages that match 'foo*'. (The
529 single quotes will keep your shell from expanding the globs.)
530
532 The following are the ways which you can invoke yum in clean mode. Note
533 that "all files" in the commands below means "all files in currently
534 enabled repositories". If you want to also clean any (temporarily)
535 disabled repositories you need to use --enablerepo='*' option.
536
537
538 yum clean expire-cache
539 Eliminate the local data saying when the metadata and mir‐
540 rorlists were downloaded for each repo. This means yum will
541 revalidate the cache for each repo. next time it is used. How‐
542 ever if the cache is still valid, nothing significant was
543 deleted.
544
545
546 yum clean packages
547 Eliminate any cached packages from the system. Note that pack‐
548 ages are not automatically deleted after they are downloaded.
549
550
551 yum clean headers
552 Eliminate all of the header files, which old versions of yum
553 used for dependency resolution.
554
555
556 yum clean metadata
557 Eliminate all of the files which yum uses to determine the
558 remote availability of packages. Using this option will force
559 yum to download all the metadata the next time it is run.
560
561
562 yum clean dbcache
563 Eliminate the sqlite cache used for faster access to metadata.
564 Using this option will force yum to download the sqlite metadata
565 the next time it is run, or recreate the sqlite metadata if
566 using an older repo.
567
568
569 yum clean dbcache
570 Eliminate the sqlite cache used for faster access to metadata.
571 Using this option will force yum to download the sqlite metadata
572 the next time it is run, or recreate the sqlite metadata if
573 using an older repo.
574
575
576 yum clean rpmdb
577 Eliminate any cached data from the local rpmdb.
578
579
580 yum clean plugins
581 Tell any enabled plugins to eliminate their cached data.
582
583
584 yum clean all
585 Does all of the above.
586
587
589 Yum can be extended through the use of plugins. A plugin is a Python
590 ".py" file which is installed in one of the directories specified by
591 the pluginpath option in yum.conf. For a plugin to work, the following
592 conditions must be met:
593
594 1. The plugin module file must be installed in the plugin path as just
595 described.
596
597 2. The global plugins option in /etc/yum.conf must be set to `1'.
598
599 3. A configuration file for the plugin must exist in /etc/yum/plugin‐
600 conf.d/<plugin_name>.conf and the enabled setting in this file must set
601 to `1'. The minimal content for such a configuration file is:
602
603 [main]
604 enabled = 1
605
606 See the yum.conf(5) man page for more information on plugin related
607 configuration options.
608
609
611 /etc/yum.conf
612 /etc/yum/version-groups.conf
613 /etc/yum.repos.d/
614 /etc/yum/pluginconf.d/
615 /var/cache/yum/
616
617
619 pkcon [4m(1)
620 yum.conf [4m(5)
621 yum-updatesd [4m(8)
622 package-cleanup [4m(1)
623 repoquery [4m(1)
624 yum-complete-transaction [4m(1)
625 yumdownloader [4m(1)
626 yum-utils [4m(1)
627 yum-security [4m(8)
628 http://yum.baseurl.org/
629 http://yum.baseurl.org/wiki/Faq
630 yum search yum
631
632
634 See the Authors file included with this program.
635
636
638 There of course aren't any bugs, but if you find any, you should first
639 consult the FAQ mentioned above and then email the mailing list:
640 yum@lists.baseurl.org or filed in bugzilla.
641
642
643
644Seth Vidal yum(8)