At a recent LCFG Deployers meeting we discussed a problem with yum not fully cleaning the cache directory even when the yum clean all
command is used. This turns out to be related to how the cache directory path is defined in /etc/yum.conf
as /var/cache/yum/$basearch/$releasever
. As the release version changes with each minor platform release (e.g. 7.3, 7.4) the old directories can become abandoned. At first this might seem like a trivial problem but these cache directories can be huge, we have seen instances where gigabytes of disk space have been used and cannot be simply reclaimed. To help fix this problem I’ve added a new purgecache
method to the LCFG yum component. This takes a sledgehammer approach of just deleting everything in the /var/cache/yum/
directory. This can be run manually whenever required or called regularly using something like cron. In Informatics it is now configured to run weekly on a Sunday like this:
!cron.objects mADD(yum_purge) cron.object_yum_purge yum cron.method_yum_purge purgecache cron.run_yum_purge AUTOMINS AUTOHOUR * * sun