Basic Yum Commands and how to use them

This is not an exhaustive list of all yum commands but it is a list of the basic/common/important ones. For a complete list see the yum man page.

   yum list [available|installed|extras|updates|obsoletes|all|recent] [pkgspec] 

This command lets you list packages in any repository enabled on your system or installed. It also lets you list specific types of packages as well as refine your list with a package specification of any of the package's name, arch, version, release, epoch.

   yum list

By default 'yum list' without any options will list all packages in all the repositories and all the packages installed on your system. Note: 'yum list all' and 'yum list' give the same output.

   yum list available

Lists all the packages available to be installed in any enabled repository on your system.

   yum list installed

This is equivalent to rpm -qa. It lists all the packages installed on the system.

   yum list extras

This command lists any installed package which no longer appears in any of your enabled repositories. Useful for finding packages which linger between upgrades or things installed not from a repo.

   yum list obsoletes

This command lists any obsoleting relationships between any available package and any installed package.

   yum list updates

This command lists any package in an enabled repository which is an update for any installed package.

   yum list recent

This command lists any package added to any enabled repository in the last seven(7) days.

   yum list pkgspec

This command allows you to refine your listing for particular packages.

Examples of pkgspecs:

      yum list zsh 
      yum list joe\* 
      yum list \*.i386 
      yum list dovecot-1.0.15 

   yum install/remove/update

....

   yum check-update

Exactly like yum list updates but returns an exit code of 100 if there are updates available. Handy for shell scripting.

   yum grouplist
   yum groupinfo
   yum groupinstall
   yum groupupdate
   yum groupremove

Please see the YumGroups page on this wiki for information about the above commands.

   yum info

This displays more information about any package installed or available. It takes the same arguments as yum list but it is best run with a specific package name or glob. Example:

     $ yum info yum
     Installed Packages
     Name       : yum
     Arch       : noarch
     Version    : 3.2.20
     Release    : 3.fc10
     Size       : 2.5 M
     Repo       : installed
     Summary    : RPM installer/updater
     URL        : http://yum.baseurl.org/
     License    : GPLv2+
     Description: Yum is a utility that can check for and automatically download and
                : install updated RPM packages. Dependencies are obtained and downloaded
                : automatically prompting the user as necessary.

  yum search

This allows you to search for information from the various metadata available about packages. It can accept multiple arguments. It will output the packages which match the most terms first followed by the next highest number of matches, etc. Specifically yum search looks at the following fields: name, summary, description, url. If you're searching for what package provides a certain command try yum provides instead.

Search example:

$ yum search python rsync ssh
========================= Matched: python, rsync, ssh ==========================
rdiff-backup.i386 : Convenient and transparent local/remote incremental
                  : mirror/backup

============================ Matched: python, rsync ============================
cobbler.noarch : Boot server configurator

============================= Matched: python, ssh =============================
denyhosts.noarch : A script to help thwart ssh server attacks
pexpect.noarch : Pure Python Expect-like module
python-paramiko.noarch : A SSH2 protocol library for python
python-twisted-conch.i386 : Twisted SSHv2 implementation

============================= Matched: rsync, ssh ==============================
duplicity.i386 : Encrypted bandwidth-efficient backup using rsync algorithm
pssh.noarch : Parallel SSH tools
   yum provides/yum whatprovides

This command searches for which packages provide the requested dependency of file. This also takes wildcards for files. Examples:

$ yum provides MTA
2:postfix-2.5.5-1.fc10.i386 : Postfix Mail Transport Agent
Matched from:
Other       : MTA

exim-4.69-7.fc10.i386 : The exim mail transfer agent
Matched from:
Other       : MTA

sendmail-8.14.3-1.fc10.i386 : A widely used Mail Transport Agent (MTA)
Matched from:
Other       : Provides-match: MTA


$ yum provides \*bin/ls
coreutils-6.12-17.fc10.i386 : The GNU core utilities: a set of tools commonly
                            : used in shell scripts
Matched from:
Filename    : /bin/ls

   yum shell

....

   yum makecache

Is used to download and make usable all the metadata for the currently enabled yum repos. This is useful if you want to make sure the cache is fully current with all metadata before continuing.

   yum clean

During its normal use yum creates a cache of metadata and packages. This cache can take up a lot of space. The yum clean command allows you to clean up these files. All the files yum clean will act on are normally stored in /var/cache/yum.

Example commands and what they do:

        yum clean packages

This cleans up any cached packages in any enabled repository cache directory.

        yum clean metadata

This cleans up any xml metadata that may have been cached from any enabled repository.

        yum clean dbcache

Yum will create or download some sqlite database files as part of its normal operation. This command clean up the cached copies of those from any enabled repository cache.

        yum clean all

Clean all cached files from any enabled repository. Useful to run from time to time to make sure there is nothing using unnecessary space.