yum(8) yum(8)
NAME
yum - Yellowdog Updater Modified
SYNOPSIS
yum [options] command [package ...]
DESCRIPTION
yum is an interactive, rpm based, package manager. It can automatically
perform system updates, including dependency analysis and obsolete pro-
cessing based on "repository" metadata. It can also perform installa-
tion of new packages, removal of old packages and perform queries on
the installed and/or available packages among many other commands/ser-
vices (see below). yum is similar to other high level package managers
like apt-get and smart.
While there are some graphical interfaces directly to the yum code,
more recent graphical interface development is happening with Pack-
ageKit and the gnome-packagekit application.
command is one of:
* install package1 [package2] [...]
* update [package1] [package2] [...]
* update-to [package1] [package2] [...]
* update-minimal [package1] [package2] [...]
* check-update
* upgrade [package1] [package2] [...]
* upgrade-to [package1] [package2] [...]
* distribution-synchronization [package1] [package2] [...]
* remove | erase package1 [package2] [...]
* autoremove [package1] [...]
* list [...]
* info [...]
* provides | whatprovides feature1 [feature2] [...]
* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
* makecache [fast]
* groups [...]
* search string1 [string2] [...]
* shell [filename]
* resolvedep dep1 [dep2] [...]
(maintained for legacy reasons only - use repoquery or yum pro-
vides)
* localinstall rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use install)
* localupdate rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use update)
* reinstall package1 [package2] [...]
* downgrade package1 [package2] [...]
* deplist package1 [package2] [...]
* repolist [all|enabled|disabled]
* repoinfo [all|enabled|disabled]
* repository-packages <enabled-repoid> <install|remove|remove-or-rein-
stall|remove-or-distribution-synchronization> [package2] [...]
* version [ all | installed | available | group-* | nogroups* | grou-
plist | groupinfo ]
* history [info|list|packages-list|packages-info|summary|addon-
info|redo|undo|rollback|new|sync|stats]
* load-transaction [txfile]
* updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates
| exclude-all | check-running-kernel]
* fssnapshot [summary | list | have-space | create | delete]
* fs [filters | refilter | refilter-cleanup | du]
* check
* help [command]
Unless the --help or -h option is given, one of the above commands must
be present.
Repository configuration is honored in all operations.
install
Is used to install the latest version of a package or group of
packages while ensuring that all dependencies are satisfied.
(See Specifying package names for more information) If no pack-
age matches the given package name(s), they are assumed to be a
shell glob and any matches are then installed. If the name
starts with @^ then it is treated as an environment group (group
install @^foo), an @ character and it's treated as a group
(plain group install).
If the name starts with a "-" character, then a search is done
within the transaction and any matches are removed. Note that
Yum options use the same syntax and it may be necessary to use
"--" to resolve any possible conflicts.
If the name is a file, then install works like localinstall. If
the name doesn't match a package, then package "provides" are
searched (e.g. "_sqlitecache.so()(64bit)") as are filelists (Eg.
"/usr/bin/yum"). Also note that for filelists, wildcards will
match multiple packages.
Because install does a lot of work to make it as easy as possi-
ble to use, there are also a few specific install commands
"install-n", "install-na" and "install-nevra". These only work
on package names, and do not process wildcards etc.
update If run without any packages, update will update every currently
installed package. If one or more packages or package globs are
specified, Yum will only update the listed packages. While
updating packages, yum will ensure that all dependencies are
satisfied. (See Specifying package names for more information)
If the packages or globs specified match to packages which are
not currently installed then update will not install them.
update operates on groups, files, provides and filelists just
like the "install" command.
If the main obsoletes configure option is true (default) or 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.
Note that "update" works on installed packages first, and only
if there are no matches does it look for available packages. The
difference is most noticeable when you do "update foo-1-2" which
will act exactly as "update foo" if foo-1-2 is installed. You
can use the "update-to" if you'd prefer that nothing happen in
the above case.
update-to
This command works like "update" but always specifies the ver-
sion of the package we want to update to.
update-minimal
This works like the update command, but if you have the package
foo-1 installed and have foo-2 (bugfix) and foo-3 (enhancement)
available with updateinfo.xml then update-minimal --bugfix will
update you to foo-2.
check-update
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 packages to be updated in
list format. Returns 0 if no packages are available for update.
Returns 1 if an error occurred. Running in verbose mode also
shows obsoletes.
upgrade
Is the same as the update command with the --obsoletes flag set.
See update for more details.
upgrade-to
This command works like "upgrade" but always specifies the ver-
sion of the package we want to update to.
distribution-synchronization or distro-sync
Synchronizes the installed package set with the latest packages
available, this is done by either obsoleting, upgrading or down-
grading as appropriate. This will "normally" do the same thing
as the upgrade command however if you have the package FOO
installed at version 4, and the latest available is only version
3, then this command will downgrade FOO to version 3.
If you give the optional argument "full", then the command will
also reinstall packages where the install checksum and the
available checksum do not match. And remove old packages (can be
used to sync. rpmdb versions). The optional argument "different"
can be used to specify the default operation.
This command does not perform operations on groups, local pack-
ages or negative selections.
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. remove operates on groups, files, provides and
filelists just like the "install" command.(See Specifying pack-
age names for more information)
Note that "yum" is included in the protected_packages configura-
tion, by default. So you can't accidentally remove yum itself.
The remove_leaf_only configuration changes the behaviour of this
command to only remove packages which aren't required by some-
thing else.
The clean_requirements_on_remove configuration changes the be-
haviour of this command to also remove packages that are only
dependencies of this package.
Because remove does a lot of work to make it as easy as possible
to use, there are also a few specific remove commands "remove-
n", "remove-na" and "remove-nevra". These only work on package
names, and do not process wildcards etc.
autoremove
With one or more arguments this command works like running the
"remove" command with the clean_requirements_on_remove turned
on. However you can also specify no arguments, at which point it
tries to remove any packages that weren't installed explicitly
by the user and which aren't required by anything (so called
leaf packages).
Because autoremove does a lot of work to make it as easy as pos-
sible to use, there are also a few specific autoremove commands
"autoremove-n", "autoremove-na" and "autoremove-nevra". These
only work on package names, and do not process wildcards etc.
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 This is used to find packages when you know something about the
package but aren't sure of it's name. By default search will try
searching just package names and summaries, but if that "fails"
it will then try descriptions and url.
Yum search orders the results so that those packages matching
more terms will appear first.
You can force searching everything by specifying "all" as the
first argument.
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.
makecache
Is used to download and make usable all the metadata for the
currently enabled yum repos. If the argument "fast" is passed,
then we just try to make sure the repos are current (much like
"yum clean expire-cache").
groups A command, new in 3.4.2, that collects all the subcommands that
act on groups together. Note that recent yum using distributions
(Fedora-19+, RHEL-7+) have configured group_command=objects
which changes how group commands act in some important ways.
"group install" is used to install all of the individual pack-
ages in a group, of the specified types (this works as if you'd
taken each of those package names and put them on the command
line for a "yum install" command).
The group_package_types configuration option specifies which
types will be installed.
If you wish to "reinstall" a group so that you get a package
that is currently blacklisted the easiest way to do that cur-
rently is to install the package manually and then run "groups
mark packages-sync mygroup mypackagename" (or use yumdb to set
the group_member of the package(s)).
"group update" is just an alias for group install, when using
group_command=compat. This will install packages in the group
not already installed and upgrade existing packages. With
group_command=simple it will just upgrade already installed
packages. With group_command=objects it will try to upgrade the
group object, installing any available packages not blacklisted
(marked '-' in group info) and will upgrade the installed pack-
ages.
"group list" is used to list the available groups from all yum
repos. When group_command=objects the group is installed if the
user explicitly installed it (or used the group mark* commands
to mark it installed). It does not need to have any packages
installed. When not using group_command=objects groups are
shown as "installed" if all mandatory packages are installed, or
if a group doesn't have any mandatory packages then it is
installed if any of the optional or default package are
installed (when not in group_command=objects mode). You can
pass optional arguments to the list/summary commands: installed,
available, environment, language, packages, hidden and ids (or
any of those prefixed by "no" to turn them off again). Note
that groups that are available but hidden will not be listed
unless 'hidden' keyword is passed to the command. If you pass
the -v option, to enable verbose mode, then the groupids are
displayed by default (but "yum group list ids" is often easier
to read).
"group remove" is used to remove all of the packages in a group,
unlike "groupinstall" this will remove everything regardless of
group_package_types. It is worth pointing out that packages can
be in more than one group, so "group install X Y" followed by
"group remove Y" does not do give you the same result as "group
install X".
The groupremove_leaf_only configuration changes the behaviour of
this command to only remove packages which aren't required by
something else.
"group info" is used to give the description and package list of
a group (and which type those packages are marked as). Note that
you can use the yum-filter-data and yum-list-data plugins to
get/use the data the other way around (i.e. what groups own
packages need updating). If you pass the -v option, to enable
verbose mode, then the package names are matched against
installed/available packages similar to the list command.
When using group_command=objects, the info command will display
markers next to each package saying how that package relates to
the group object. The meaning of these markers is:
"-" = Package isn't installed, and won't be installed as part of
the group (Eg. "yum group install foo -pkgA" or "yum group
install foo; yum remove pkgA" this will have pkgA marked as
'-')
"+" = Package isn't installed, but will be the next time you run
"yum upgrade" or "yum group upgrade foo"
" " = Package is installed, but wasn't installed via the group
(so "group remove foo" won't remove it).
"=" = Package is installed, and was installed via the group.
you can move an installed package into an installed group using
either "group mark package-sync/package-sync-forced" or "yumdb
set group_member".
"group summary" is used to give a quick summary of how many
groups are installed and available.
"group mark" and "group unmark" are used when groups are config-
ured in group_command=objects mode. These commands then allow
you to alter yum's idea of which groups are installed, and the
packages that belong to them.
"group mark install" mark the group as installed. When installed
"yum upgrade" and "yum group upgrade" will install new packages
for the group (only those packages already installed will be
marked as members of the installed group to start with).
"group mark remove" the opposite of mark install.
"group mark packages" takes a group id (which must be installed)
and marks any given installed packages (which aren't members of
a group) as members of the group. Note that the data from the
repositories does not need to specify the packages as a member
of the group.
"group mark packages-force" works like mark packages, but
doesn't care if the packages are already members of another
group.
"group mark blacklist" will blacklist all packages marked to be
installed for a group. After this command a "yum group upgrade"
will not install any new packages as part of the group.
"group mark convert-blacklist"
"group mark convert-whitelist"
"group mark convert" converts the automatic data you get without
using groups as objects into groups as objects data, in other
words this will make "yum --setopt=group_command=objects groups
list" look as similar as possible to the current output of "yum
--setopt=group_command=simple groups list". This makes it much
easier to convert to groups as objects without having to rein-
stall. For groups that are installed the whitelist variant will
mark all uninstalled packages for the group as to be installed
on the next "yum group upgrade", the blacklist variant (current
default) will mark them all as blacklisted.
"group unmark packages" remove a package as a member from any
groups.
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.
resolvedep
Is used to list packages providing the specified dependencies,
at most one package is listed per dependency. This command is
maintained for legacy reasons only, use repoquery instead.
localinstall
Is used to install a set of local rpm files. If required the
enabled repositories will be used to resolve dependencies. Note
that the install command will do a local install, if given a
filename. This command is maintained for legacy reasons only.
localupdate
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. Note that the update command will
do a local update, if given a filename. This command is main-
tained for legacy reasons only.
reinstall
Will reinstall the identically versioned package as is currently
installed. This does not work for "installonly" packages, like
Kernels. reinstall operates on groups, files, provides and
filelists just like the "install" command.
downgrade
Will try and downgrade a package from the version currently
installed to the previously highest version (or the specified
version). The depsolver will not necessarily work, but if you
specify all the packages it should work (thus, all the simple
cases will work). Also this does not work for "installonly"
packages, like Kernels. downgrade operates on groups, files,
provides, filelists and rpm files just like the "install" com-
mand.
swap At it's simplest this is just a simpler way to remove one set of
package(s) and install another set of package(s) without having
to use the "shell" command. However you can specify different
commands to call than just remove or install, and you can list
multiple packages (it splits using the "--" marker). Note that
option parsing will remove the first "--" in an argument list on
the command line.
Examples:
swap foo bar
swap -- remove foo -- install bar
swap foo group install bar-grp
swap -- group remove foo-grp -- group install bar-grp
deplist
Produces a list of all dependencies and what packages provide
those dependencies for the given packages. As of 3.2.30 it now
just shows the latest version of each package that matches (this
can be changed by using --showduplicates) and it only shows the
newest providers (which can be changed by using --verbose).
repolist
Produces a list of configured repositories. The default is to
list all enabled repositories. If you pass -v, for verbose mode,
or use repoinfo then more information is listed. If the first
argument is 'enabled', 'disabled' or 'all' then the command will
list those types of repos.
You can pass repo id or name arguments, or wildcards which to
match against both of those. However if the id or name matches
exactly then the repo will be listed even if you are listing
enabled repos and it is disabled.
In non-verbose mode the first column will start with a '*' if
the repo. has metalink data and the latest metadata is not local
and will start with a '!' if the repo. has metadata that is
expired. For non-verbose mode the last column will also display
the number of packages in the repo. and (if there are any user
specified excludes) the number of packages excluded.
One last special feature of repolist, is that if you are in non-
verbose mode then yum will ignore any repo errors and output the
information it can get (Eg. "yum clean all; yum -C repolist"
will output something, although the package counts/etc. will be
zeroed out).
repoinfo
This command works exactly like repolist -v.
repository-packages
Treat a repo. as a collection of packages (like "yum groups")
allowing the user to install or remove them as a single entity.
"repository-packages <repo> list" - Works like the "yum list"
command, but only shows packages from the given repository.
"repository-packages <repo> info" - Works like the "yum info"
command, but only shows packages from the given repository.
"repository-packages <repo> check-update" - Works like the "yum
check-update" command, but only shows packages from the given
repository.
"repository-packages <repo> install" - Install all of the pack-
ages in the repository, basically the same as: yum install
$(repoquery --repoid=<repo> -a). Specific packages/wildcards
can be specified.
"repository-packages <repo> upgrade" - Update all of the pack-
ages in the repository, basically the same as: yum upgrade
$(repoquery --repoid=<repo> -a). Specific packages/wildcards
can be specified.
"repository-packages <repo> upgrade-to" - Update all of the
packages in the repository, basically the same as: yum upgrade
$(repoquery --repoid=<repo> -a). Without arguments it works the
same as upgrade, with arguments it just interprets them as the
versions you want to move to.
"repository-packages <repo> reinstall-old" - ReInstall all of
the packages that are installed from the repository and avail-
able in the repository, similar to: yum reinstall $(yumdb
search-quiet from_repo <repo>).
"repository-packages <repo> move-to" - ReInstall all of the
packages that are available in the repository, basically the
same as: yum reinstall $(repoquery --repoid=<repo> -a).
"repository-packages <repo> reinstall" - Tries to do reinstall-
old, but if that produces no packages then tries move-to.
"repo-pkgs <repo> remove" - Remove all of the packages in the
repository, very similar to: yum remove $(repoquery
--repoid=<repo> -a). However the repopkgsremove_leaf_only option
is obeyed.
"repo-pkgs <repo> remove-or-reinstall" - Works like remove for
any package that doesn't have the exact same version in another
repository. For any package that does have the exact NEVRA in
another repository then that version will be reinstalled.
"repo-pkgs <repo> remove-or-distro-sync" - Works like remove for
any package that doesn't exist in another repository. For any
package that does exist it tries to work as if distro-sync was
called (with the repo. disabled).
version
Produces a "version" of the rpmdb, and of the enabled reposito-
ries if "all" is given as the first argument. You can also spec-
ify version groups in the version-groups configuration file. If
you pass -v, for verbose mode, more information is listed. The
version is calculated by taking an SHA1 hash of the packages (in
sorted order), and the checksum_type/checksum_data entries from
the yumdb. Note that this rpmdb version is now also used signif-
icantly within yum (esp. in yum history).
The version command will now show "groups" of packages as a sep-
arate version, and so takes sub-commands:
"version grouplist" - List the defined version groups.
"version groupinfo" - Get the complete list of packages within
one or more version groups.
"version installed" - This is the default, only show the version
information for installed packages.
"version available" - Only show the version information for
available packages.
"version all" - Show the version information for installed and
available packages.
"version nogroups | nogroups-*" - Just show the main version
information.
"version group-*" - Just show the grouped version information,
if more arguments are given then only show the data for those
groups.
history
The history command allows the user to view what has happened in
past transactions (assuming the history_record config. option is
set). You can use info/list/packages-list/packages-info/summary
to view what happened, undo/redo/rollback to act on that infor-
mation and new to start a new history file.
The info/list/summary commands take either a transaction id or a
package (with wildcards, as in Specifying package names), all
three can also be passed no arguments. list can be passed the
keyword "all" to list all the transactions.
The info command can also take ranges of transaction ids, of the
form start..end, which will then display a merged history as if
all the transactions in the range had happened at once.
Eg. "history info 1..4" will merge the first four transactions
and display them as a single transaction.
The packages-list/packages-info commands takes a package (with
wildcards, as in Specifying package names). And show data from
the point of view of that package.
The undo/redo/rollback commands take either a single transaction
id or the keyword last and an offset from the last transaction
(Eg. if you've done 250 transactions, "last" refers to transac-
tion 250, and "last-4" refers to transaction 246). The redo
command can also take some optional arguments before you specify
the transaction. "force-reinstall" tells it reinstall any pack-
ages that were installed in that transaction (via install,
upgrade or downgrade). "force-remove" tells it to forcibly
remove any packages that were updated or downgraded.
The undo/redo commands act on the specified transaction,
undo'ing or repeating the work of that transaction. While the
rollback command will undo all transactions up to the point of
the specified transaction. For example, if you have 3 transac-
tions, where package A; B and C where installed respectively.
Then "undo 1" will try to remove package A, "redo 1" will try to
install package A (if it is not still installed), and "rollback
1" will try to remove packages B and C. Note that after a "roll-
back 1" you will have a fourth transaction, although the ending
rpmdb version (see: yum version) should be the same in transac-
tions 1 and 4.
The addon-info command takes a transaction ID, and the packages-
list command takes a package (with wildcards).
The stats command shows some statistics about the current his-
tory DB.
The sync commands allows you to change the rpmdb/yumdb data
stored for any installed packages, to whatever is in the current
rpmdb/yumdb (this is mostly useful when this data was not stored
when the package went into the history DB).
In "history list" you can change the behaviour of the 2nd column
via the configuration option history_list_view.
In "history list" output the Altered column also gives some
extra information if there was something not good with the
transaction (this is also shown at the end of the package column
in the packages-list command).
> - The rpmdb was changed, outside yum, after the transaction.
< - The rpmdb was changed, outside yum, before the transaction.
* - The transaction aborted before completion.
# - The transaction completed, but with a non-zero status.
E - The transaction completed fine, but had warning/error output
during the transaction.
P - The transaction completed fine, but problems already existed
in the rpmdb.
s - The transaction completed fine, but --skip-broken was
enabled and had to skip some packages.
load-transaction
This command will re-load a saved yum transaction file, this
allows you to run a transaction on one machine and then use it
on another. The two common ways to get a saved yum transaction
file are from "yum -q history addon-info last saved_tx" or via
the automatic saves in $TMPDIR/yum_save_tx.* when a transaction
is solved but not run.
Running the command without an argument, or a directory as an
argument will try and list the possible files available to load.
Showing if the packages are still available, if the rpmdb
matches the current rpmdb, how many transaction install/removes
members are in the saved transaction and what the filename is.
updateinfo
This command has a bunch of sub-commands to act on the update-
info in the repositories. The simplest commands are:
yum updateinfo info [all | available | installed | updates]
yum updateinfo list [all | available | installed | updates]
yum updateinfo [summary] [all | available | installed |
updates]
which all display information about the available update infor-
mation relevant to your machine (including anything installed,
if you supply "all").
* updates Is used to display information about advisories for
packages that can be updated. This is the default.
* installed Is used to display information only about installed
advisories.
* available Is used to display information about advisories for
packages available for updating or installation.
* all Is used to display information about both installed and
available advisories.
They all take as arguments:
* <advisory> [advisory...] Is used to display information
about one or more advisories.
* <package> [package...] Is used to display information about
one or more packages.
* bugzillas / bzs Is the subset of the updateinfo information,
pertaining to the bugzillas.
* cves Is the subset of the updateinfo information, pertaining
to the CVEs.
* enhancement Is the subset of the updateinfo information, per-
taining to enhancements.
* bugfix Is the subset of the updateinfo information, pertain-
ing to bugfixes.
* security / sec Is the subset of the updateinfo information,
pertaining to security.
* severity / sev Include security relevant packages of this
severity.
* recommended Is the subset of the updateinfo information, per-
taining to recommended updates.
* new-packages Is the subset of the updateinfo information,
pertaining to new packages. These are packages which weren't
available at the initial release of your distribution.
There are also three sub-commands to remove packages when using
"yum shell", they are:
yum updateinfo remove-pkgs-ts
yum updateinfo exclude-updates
yum updateinfo exclude-all
they all take the following arguments:
* [bzs=foo] [advisories=foo] [cves=foo] [security-severity=foo]
[security] [bugfix]
and finally there is a command to manually check the running
kernel against updateinfo data:
yum updateinfo check-running-kernel
fssnapshot or fssnap
This command has a few sub-commands to act on the LVM data of
the host, to list snapshots and to create and remove them. The
simplest commands, to display information about the configured
LVM snapshotable devices, are:
yum fssnapshot [summary]
yum fssnapshot list
yum fssnapshot have-space
then you can create and delete snapshots using:
yum fssnapshot create
yum fssnapshot delete <device(s)>
Configuration Options: fssnap_automatic_pre, fssnap_auto-
matic_post, fssnap_automatic_keep, fssnap_percentage, fss-
nap_devices, fssnap_abort_on_errors
fs This command has a few sub-commands to act on the filesystem
data of the host, mainly for removing languages/documentation
for minimal installs:
yum fs filters
yum fs filter languages en:es
yum fs filter documentation
yum fs refilter [package(s)]
yum fs refilter-cleanup [package(s)]
yum fs du [path]
yum fs status [path]
yum fs diff [path]
the first 3 being a simple interface to change yum.conf altering
the tsflags and override_install_langs configurations. The
refilter command is an optimized way of calling "yum reinstall"
to reinstall the packages with the new filters applied. The
refilter-cleanup command is needed because rpm doesn't actually
remove the files on reinstall, as it should. And the du/sta-
tus/diff commands are included so you can easily see the space
used/saved and any other changes.
check Checks the local rpmdb and produces information on any problems
it finds. You can pass the check command the arguments "depen-
dencies", "duplicates", "obsoleted" or "provides", to limit the
checking that is performed (the default is "all" which does
all).
help Produces help, either for all commands or if given a command
name then the help for that particular command.
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.
-y, --assumeyes
Assume yes; assume that the answer to any question which would
be asked is yes.
Configuration Option: assumeyes
--assumeno
Assume no; assume that the answer to any question which would be
asked is no. This option overrides assumeyes, but is still sub-
ject to alwaysprompt.
Configuration Option: assumeno
-c, --config=[config file]
Specifies the config file location - can take HTTP and 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, --debuglevel=[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, --errorlevel=[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
--rpmverbosity=[name]
Sets the debug level to [name] for rpm scriptlets. 'info' is the
default, other options are: 'critical', 'emergency', 'error',
'warn' and 'debug'.
Configuration Option: rpmverbosity
-R, --randomwait=[time in minutes]
Sets the maximum amount of time yum will wait before performing
a command - it randomizes over the time.
-C, --cacheonly
Tells yum to run entirely from system cache; does not download
or update metadata. When this is used by a non-root user, yum
will run entirely from user cache in $TMPDIR. This option
doesn't stop yum from updating user cache from system cache
locally if the latter is newer (this is always done when running
as a user).
--version
Reports the yum version number and installed package versions
for everything in history_record_packages (can be added to by
plugins).
--showduplicates
Doesn't limit packages to their latest versions in the info,
list and search commands (will also affect plugins which use the
doPackageLists() API).
--installroot=root
Specifies an alternative installroot, relative to which all
packages will be installed. Think of this like doing "chroot
<root> yum" except using --installroot allows yum to work before
the chroot is created. Note: You may also want to use the
option --releasever=/ when creating the installroot as otherwise
the $releasever value is taken from the rpmdb within the
installroot (and thus. will be empty, before creation).
Configuration Option: installroot
--enablerepo=repoidglob
Enables specific repositories by id or glob that have been dis-
abled in the configuration file using the enabled=0 option.
Configuration Option: enabled
--disablerepo=repoidglob
Disables specific repositories by id or glob.
Configuration Option: enabled
--obsoletes
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
-x, --exclude=package
Exclude a specific package by name or glob from all reposito-
ries, so yum works as if that package was never in the reposito-
ries. This is commonly used so a package isn't upgraded or
installed accidentally, but can be used to remove packages in
any way that "yum list" will show packages.
Can be disabled using --disableexcludes. Configuration Option:
exclude, includepkgs
--color=[always|auto|never]
Display colorized output automatically, depending on the output
terminal, always (using ANSI codes) or never. Note that some
commands (Eg. list and info) will do a little extra work when
color is enabled. Configuration Option: color
--disableexcludes=[all|main|repoid]
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
--disableincludes=[all|repoid]
Disable the includes defined in your config files. Takes one of
two options:
all == disable all includes
repoid == disable includes defined for that repo
--disableplugin=plugin
Run with one or more plugins disabled, the argument is a comma
separated list of wildcards to match against plugin names.
--noplugins
Run with all plugins disabled.
Configuration Option: plugins
--nogpgcheck
Run with GPG signature checking disabled.
Configuration Option: gpgcheck
--skip-broken
Resolve depsolve problems by removing packages that are causing
problems from the transaction.
Configuration Option: skip_broken
--releasever=version
Pretend the current release version is the given string. This is
very useful when combined with --installroot. You can also use
--releasever=/ to take the releasever information from outside
the installroot. Note that with the default upstream cachedir,
of /var/cache/yum, using this option will corrupt your cache
(and you can use $releasever in your cachedir configuration to
stop this).
-t, --tolerant
This option makes yum go slower, checking for things that
shouldn't be possible making it more tolerant of external
errors.
--downloadonly
Don't update, just download. This is done in the background, so
the yum lock is released for other operations. This can also be
chosen by typing 'd'ownloadonly at the transaction confirmation
prompt.
--downloaddir=directory
Specifies an alternate directory to store packages.
--setopt=option=value
Set any config option in yum config or repo files. For options
in the global config just use: --setopt=option=value for repo
options use: --setopt=repoid.option=value
--security
This option includes packages that say they fix a security
issue, in updates.
--advisory=ADVS, --advisories=ADVS
This option includes in updates packages corresponding to the
advisory ID, Eg. FEDORA-2201-123.
--bz=BZS
This option includes in updates packages that say they fix a
Bugzilla ID, Eg. 123.
--cve=CVES
This option includes in updates packages that say they fix a CVE
- Common Vulnerabilities and Exposures ID
(http://cve.mitre.org/about/), Eg. CVE-2201-0123.
--bugfix
This option includes in updates packages that say they fix a
bugfix issue.
--sec-severity=SEVS, --secseverity=SEVS
This option includes in updates security relevant packages of
the specified severity.
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 pack-
age.
OUTPUT
The format of the output of yum list is:
name.arch [epoch:]version-release repo or @installed-from-repo
Note that if the repo cannot be determined, "installed" is
printed instead.
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 reposito-
ries.
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 distro-extras [glob_exp1] [...]
List the packages installed on the system that are not avail-
able, by name, 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. This is
often not helpful, but what you may really want to use is "yum
list-updateinfo new" from the security yum plugin.
SPECIFYING PACKAGE NAMES
A package can be referred to for install, update, remove, list, info
etc with any of the following as well as globs of any of the following:
name
name.arch
name-ver
name-ver-rel
name-ver-rel.arch
name-epoch:ver-rel.arch
epoch:name-ver-rel.arch
For example: yum remove kernel-2.4.1-10.i686
this will remove this specific kernel-ver-rel.arch.
Or: 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 these commands only operate on the currently enabled reposi-
tories within the current cachedir (that is, with any substitution
variables such as $releasever expanded to their runtime values). To
clean specific repositories, use --enablerepo, --disablerepo or
--releasever accordingly. Note, however, that untracked (no longer
configured) repositories cannot be cleaned this way; they have to be
removed manually.
yum clean expire-cache
Eliminate the local data saying when the metadata and mir-
rorlists were downloaded for each repo. This means yum will
revalidate the cache for each repo. next time it is used. How-
ever if the cache is still valid, nothing significant was
deleted.
yum clean packages
Eliminate any cached packages from the system. Note that pack-
ages are not automatically deleted after they are downloaded.
yum clean headers
Eliminate all of the header files, which old versions of yum
used 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 download the sqlite metadata
the next time it is run, or recreate the sqlite metadata if
using an older repo.
yum clean rpmdb
Eliminate any cached data from the local rpmdb.
yum clean plugins
Tell any enabled plugins to eliminate their cached data.
yum clean all
Does all of the above. As a convenience, if this command does
not result in a completely empty cache due to the restrictions
outlined at the beginning of this section, a message will be
printed, saying how much disk space can be reclaimed by cleaning
the remaining repos manually. For this purpose, a repo is con-
sidered clean when its disk usage doesn't exceed 64KB (that is
to account for directory entries and tiny metadata files such as
"productid" that are never cleaned).
EXAMPLES
To list all updates that are security relevant, and get a return code
on whether there are security updates use:
yum --security check-update
To upgrade packages that have security errata (upgrades to the latest
available package) use:
yum --security update
To upgrade packages that have security errata (upgrades to the last
security errata package) use:
yum --security update-minimal
To get a list of all BZs that are fixed for packages you have installed
use:
yum updateinfo list bugzillas
To get a list of all security advisories, including the ones you have
already installed use:
yum updateinfo list all security
To get the information on advisory FEDORA-2707-4567 use:
yum updateinfo info FEDORA-2707-4567
For Red Hat advisories, respin suffixes are also accepted in the ID,
although they won't have any effect on the actual respin selected by
yum, as it will always select the latest one available. For example,
if you use:
yum updateinfo info RHSA-2016:1234-2
while RHSA-2016:1234-3 has been shipped already, yum will select the
latter (provided your updateinfo.xml is current). The same would hap-
pen if you just specified RHSA-2016:1234. That said, there's no need
for you to specify or care about the suffix at all.
To update packages to the latest version which contain fixes for
Bugzillas 123, 456 and 789; and all security updates use:
yum --bz 123 --bz 456 --bz 789 --security update
To update to the packages which just update Bugzillas 123, 456 and 789;
and all security updates use:
yum --bz 123 --bz 456 --bz 789 --security update-minimal
To get an info list of the latest packages which contain fixes for
Bugzilla 123; CVEs CVE-2207-0123 and CVE-2207-3210; and Fedora advi-
sories FEDORA-2707-4567 and FEDORA-2707-7654 use:
yum --bz 123 --cve CVE-2207-0123 --cve CVE-2207-3210 --advisory
FEDORA-2707-4567 --advisory FEDORA-2707-7654 info updates
To get a list of packages which are "new".
yum updateinfo list new
To get a summary of advisories you haven't installed yet use:
yum updateinfo summary
PLUGINS
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.conf must be set to `1'.
3. A configuration file for the plugin must exist in /etc/yum/plugin-
conf.d/<plugin_name>.conf and the enabled setting in this file must set
to `1'. The minimal content for such a configuration file is:
[main]
enabled = 1
See the yum.conf(5) man page for more information on plugin related
configuration options.
FILES
/etc/yum.conf
/etc/yum/version-groups.conf
/etc/yum.repos.d/
/etc/yum/pluginconf.d/
/var/cache/yum/
SEE ALSO
pkcon (1)
yum.conf (5)
yum-updatesd (8)
package-cleanup (1)
repoquery (1)
yum-complete-transaction (1)
yumdownloader (1)
yum-utils (1)
yum-langpacks (1)
http://yum.baseurl.org/
http://yum.baseurl.org/wiki/Faq
yum search yum
AUTHORS
See the Authors file included with this program.
BUGS
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:
yum AT lists.org or filed in bugzilla.
Seth Vidal yum(8)