Using plug-ins to extend the base yum functionality

I’ve written about yum in the past, and how it can be used to manage packages on CentOS Linux hosts. In addition to the base functionality that is available in yum, there are also numerous plugins that can be added to extend the base yum feature set. The full list of plugins can be viewed with with yum “list” option:

$ yum list | egrep "^yum"

yum.noarch 3.2.19-18.el5.centos installed
yum-fastestmirror.noarch 1.1.16-13.el5.centos installed
yum-metadata-parser.x86_64 1.1.2-2.el5 installed
yum-updateonboot.noarch 1.1.16-13.el5.centos installed
yum-updatesd.noarch 1:0.9-2.el5 installed
yum-verify.noarch 1.1.16-13.el5.centos installed
yum-NetworkManager-dispatcher.noarch 1.1.16-13.el5.centos base
yum-aliases.noarch 1.1.16-13.el5.centos base
yum-allowdowngrade.noarch 1.1.16-13.el5.centos base
yum-changelog.noarch 1.1.16-13.el5.centos base
yum-cron.noarch 0.6-1.el5.centos extras
yum-downloadonly.noarch 1.1.16-13.el5.centos base
yum-filter-data.noarch 1.1.16-13.el5.centos base
yum-kernel-module.noarch 1.1.16-13.el5.centos base
yum-keys.noarch 1.1.16-13.el5.centos base
yum-kmod.noarch 1.1.16-13.el5.centos base
yum-list-data.noarch 1.1.16-13.el5.centos base
yum-merge-conf.noarch 1.1.16-13.el5.centos base
yum-priorities.noarch 1.1.16-13.el5.centos base
yum-protect-packages.noarch 1.1.16-13.el5.centos base
yum-protectbase.noarch 1.1.16-13.el5.centos base
yum-refresh-updatesd.noarch 1.1.16-13.el5.centos base
yum-security.noarch 1.1.16-13.el5.centos base
yum-tmprepo.noarch 1.1.16-13.el5.centos base
yum-tsflags.noarch 1.1.16-13.el5.centos base
yum-upgrade-helper.noarch 1.1.16-13.el5.centos base
yum-utils.noarch 1.1.16-13.el5.centos base
yum-versionlock.noarch 1.1.16-13.el5.centos base
yumex.noarch 2.0.3-2.el5.centos extras

Of the available plugins, here are a few of my favorites:


Description: yum-utils is a collection of utilities and examples for the yum package manager. It
: includes utilities by different authors that make yum easier and more powerful to use.
: These tools include: debuginfo-install, package-cleanup, repoclosure, repodiff, repo-
: graph, repomanage, repoquery, repo-rss, reposync, repotrack, verifytree, yum-builddep,
: yum-complete-transaction, yumdownloader, yum-debug-dump and yum-groups-manager.


Description: Runs yum update on system boot. This allows machines that have been turned off for an
: extended amount of time to become secure immediately, instead of waiting until the next
: early morning cron job.


Description: This plugin adds the commands verify, verify-all and verify-rpm. There are also a
: couple of options. This command works like rpm -V, to verify your installation.


Description: This plugin adds a --downloadonly flag to yum so that yum will only download the
: packages and not install/update them.


Description: This plugin adds the commands list- vendors, groups, packagers, licenses, arches,
: committers, buildhosts, baseurls, package-sizes, archive-sizes and installed-sizes.


Description: This plugin allows repositories to have different priorities. Packages in a repository
: with a lower priority can't be overridden by packages from a repository with a higher
: priority even if repo has a later version.


Description: This plugin sorts each repository's mirrorlist by connection speed prior to downloading
: packages.


Description: This plugin adds a command line option to allow viewing package changelog deltas before
: or after updating packages.


Description: This plugin adds a --allow-downgrade flag to yum to make it possible to manually
: downgrade packages to specific versions.

I’ve covered a number of these plugins in previous posts, so check out the archives if you want to learn more

This article was posted by Matty on 2009-04-27 11:31:00 -0400 EDT