Normally, removing a package using the YUM package management system will remove that package together with its dependencies. However, certain dependencies will not be removed on the system, these are what we can term as “unused dependencies” or (so-called “leaf packages” according to YUM man page).

 

1. Using YUM’s Autoremove Option

 

This method requires you to add the directive clean_requirements_on_remove in YUM’s main configuration file /etc/yum.conf. You can use your favourite command line editor to open it for editing as shown.

# vim /etc/yum.conf

 

Then add the following line to the /etc/yum.conf file as shown in the output below. A value of one indicates that the directive is enabled (or turned on), a zero means otherwise.

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

clean_requirements_on_remove=1

 

Save the changes and exit the file.

 

From now, every time you remove a packages, YUM goes through each package’s dependencies and remove them if they are no longer needed by any other package.

# yum autoremove

 

2: Using yum-plugin-remove-with-leaves Plugin

 

This extension removes any unused dependencies that were added in by an installation package, but would not be removed automatically. It also helps you to keep a system clean of unused libraries and packages.

 

First install this extension on your system using following yum command.

# yum install yum-plugin-remove-with-leaves

 

Once you have installed the extension, each time you want to remove a package, add the --remove-leaves flag, for example.

# yum remove policycoreutils-gui --remove-leaves

 

For more information, check out YUM’s man page:

# man yum

 

Was this answer helpful? 2 Users Found This Useful (72 Votes)