> Linux Man Page: "yum"


Search with Google


The Linux Documentation Project maintains an archive of snaphots of the (English language) core Linux manual pages that are maintained by Michael Kerrisk. Corrections and additions are welcome, but review the "Help Wanted" list, first.

Man pages belonging to programs are usually distributed together with those programs. Therefore, the core Linux man-pages mainly contains the pages for system calls and library routines, special devices, and file formats. However, it also contains documentation for a few programs, in cases where the authors or maintainers of the program do not distribute man pages themselves.

This page is part of release 3.11 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at


man page(1) manual page Table of Contents


yum - Yellowdog Updater Modified


yum [options] [command] [package ...]


yum is an interactive, automated update program which can be used for maintaining systems using rpm

command is one of:
* install package1 [package2] [...]
* update [package1] [package2] [...]
* check-update
* upgrade [package1] [package2] [...]
* remove | erase package1 [package2] [...] * list [...]
* info [...]
* provides | whatprovides feature1 [feature2] [...] * clean [ packages | headers | metadata | dbcache | all ] * makecache
* groupinstall group1 [group2] [...]
* groupupdate group1 [group2] [...]
* grouplist [hidden]
* groupremove group1 [group2] [...]
* groupinfo group1 [...]
* search string1 [string2] [...]
* shell [filename]
* resolvedep dep1 [dep2] [...]
* localinstall rpmfile1 [rpmfile2] [...] * localupdate rpmfile1 [rpmfile2] [...] * deplist package1 [package2] [...]
* repolist [all|enabled|disabled]

Unless the --help or -h option is given, one of the above commands must be present.

Repository configuration is honored in all operations.

Is used to install the latest version of a package or group of packages while ensuring that all dependencies are satisfied. If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed.

update If run without any packages, update will update every currently installed package. If one or more packages are specified, Yum will only update the listed packages. While updating packages, yum will ensure that all dependencies are satisfied. If no package matches the given package name(s), they are assumed to be a shell glob and any matches are then installed.

If the --obsoletes flag is present yum will include package obsoletes in its calculations - this makes it better for distro-version changes, for example: upgrading from somelinux 8.0 to somelinux 9.

Implemented so you could know if your machine had any updates that needed to be applied without running it interactively. Returns exit value of 100 if there are packages available for an update. Also returns a list of the pkgs to be updated in list format. Returns 0 and no packages are available for update.

Is the same as the update command with the --obsoletes flag set. See update for more details.

remove or erase
Are used to remove the specified packages from the system as well as removing any packages which depend on the package being removed.

list Is used to list various information about available packages; more complete details are available in the List Options section below.

provides or whatprovides
Is used to find out which package provides some feature or file. Just use a specific name or a file-glob-syntax wildcards to list the packages available or installed that provide that feature or file.

search Is used to find any packages matching a string in the description, summary, packager and package name fields of an rpm. Useful for finding a package you do not know by name but know by some word related to it.

info Is used to list a description and summary information about available packages; takes the same arguments as in the List Options section below.

clean Is used to clean up various things which accumulate in the yum cache directory over time. More complete details can be found in the Clean Options section below.

shell Is used to enter the ’yum shell’, when a filename is specified the contents of that file is executed in yum shell mode. See yum-shell(8) for more info

Is used to list packages providing the specified dependencies, at most one package is listed per dependency.

Is used to install a set of local rpm files. If required the enabled repositories will be used to resolve dependencies.

Is used to update the system by specifying local rpm files. Only the specified rpm files of which an older version is already installed will be installed, the remaining specified packages will be ignored. If required the enabled repositories will be used to resolve dependencies.

Produces a list of all dependencies and what packages provide those dependencies for the given packages.

Produces a list of configured repositories. The default is to list all enabled repositories.

General Options

Most command line options can be set using the configuration file as well and the descriptions indicate the necessary configuration option to set.

-h, --help
Help; display a help message and then quit.

Assume yes; assume that the answer to any question which would be asked is yes. Configuration Option: assume-yes

-c [config file]
Specifies the config file location - can take http, ftp urls and local file paths.

-q, --quiet
Run without output. Note that you likely also want to use -y.

-v, --verbose
Run with a lot of debugging output.

-d [number]
Sets the debugging level to [number] - turns up or down the amount of things that are printed. Practical range: 0 - 10 Configuration Option: debuglevel

-e [number]
Sets the error level to [number] Practical range 0 - 10. 0 means print only critical errors about which you must be told. 1 means print all errors, even ones that are not overly important. 1+ means print more errors (if any) -e 0 is good for cron jobs. Configuration Option: errorlevel

-R [time in minutes]
Sets the maximum amount of time yum will wait before performing a command - it randomizes over the time.

Tells yum to run entirely from cache - does not download or update any headers unless it has to to perform the requested action.

Reports the yum version number and exits.

Specifies an alternative installroot, relative to which all packages will be installed. Configuration Option: installroot

Enables specific repositories by id or glob that have been disabled in the configuration file using the enabled=0 option. Configuration Option: enabled

Disables specific repositories by id or glob. Configuration Option: enabled

This option only has affect for an update, it enables yum´s obsoletes processing logic. For more information see the update command above. Configuration Option: obsoletes

Exclude a specific package by name or glob from updates on all repositories. Configuration Option: exclude

Disable the excludes defined in your config files. Takes one of three options: all == disable all excludes main == disable excludes defined in [main] in yum.conf repoid == disable excludes defined for that repo

Run with all plugins disabled. Configuration Option: plugins

Run with gpg signature checking disabled. Configuration Option: gpgcheck

List Options

The following are the ways which you can invoke yum in list mode. Note that all list commands include information on the version of the package.

yum list [all | glob_exp1] [glob_exp2] [...] List all available and installed packages.

yum list available [glob_exp1] [...]
List all packages in the yum repositories available to be installed.

yum list updates [glob_exp1] [...]
List all packages with updates available in the yum repositories.

yum list installed [glob_exp1] [...]
List the packages specified by args. If an argument does not match the name of an available package, it is assumed to be a shell-style glob and any matches are printed.

yum list extras [glob_exp1] [...]
List the packages installed on the system that are not available in any yum repository listed in the config file.

yum list obsoletes [glob_exp1] [...]
List the packages installed on the system that are obsoleted by packages in any yum repository listed in the config file.

yum list recent
List packages recently added into the repositories.

Specifying package names
All the list options mentioned above take file-glob-syntax wildcards or package names as arguments, for example yum list available ’’foo*’’ will list all available packages that match ’foo*’. (The single quotes will keep your shell from expanding the globs.)

Clean Options

The following are the ways which you can invoke yum in clean mode. Note that “all files” in the commands below means “all files in currently enabled repositories". If you want to also clean any (temporarily) disabled repositories you need to use --enablerepo=’’*’’ option.

yum clean packages
Eliminate any cached packages from the system. Note that packages are not automatically deleted after they are downloaded.

yum clean headers
Eliminate all of the header files which yum uses for dependency resolution.

yum clean metadata
Eliminate all of the files which yum uses to determine the remote availability of packages. Using this option will force yum to download all the metadata the next time it is run.

yum clean dbcache
Eliminate the sqlite cache used for faster access to metadata. Using this option will force yum to recreate the cache the next time it is run.

yum clean all
Runs yum clean packages and yum clean headers as above.


Specifying package names
A package can be referred to for install,update,list,remove etc with any of the following:


For example: yum remove kernel-2.4.1-10.i686


Yum can be extended through the use of plugins. A plugin is a Python “.py” file which is installed in one of the directories specified by the pluginpath option in yum.conf. For a plugin to work, the following conditions must be met:

1. The plugin module file must be installed in the plugin path as just described.

2. The global plugins option in /etc/yum/yum.conf must be set to ‘1’.

3. A configuration file for the plugin must exist in /etc/yum/pluginconf.d/<plugin_name>.conf and the enabled setting in this file must set to ‘1’. The minimal content for such a configuration file is:

enabled = 1

See the yum.conf(5) man page for more information on plugin related configuration options.



See Also

yum.conf (5)


See the Authors file included with this program.


There of course aren’t any bugs, but if you find any, you should first consult the Faq mentioned above and then email the mailing list: or filed in bugzilla.

Table of Contents

use open software!