CentOS Yum清理缓存实用技巧
使用yum clean all命令可彻底清除Yum的所有缓存内容,包括已下载的软件包(.rpm文件)、仓库元数据(如repomd.xml)、插件缓存等。这是最常用的清理方式,适用于大多数场景。
yum clean packages命令。适合仅需释放软件包占用的磁盘空间,但不想重新下载元数据的场景。yum clean metadata命令。适用于更换镜像源或遇到“元数据过期”错误时,强制Yum重新获取最新仓库信息。yum clean expire-cache命令,清除过期的缓存包文件,避免占用不必要的空间。Yum的缓存默认存储在/var/cache/yum/目录下。若需完全手动控制,可使用sudo rm -rf /var/cache/yum/*命令直接删除该目录下的所有缓存文件。注意:此操作不可逆,请确保已备份重要数据。
若不想让Yum保留任何缓存,可编辑/etc/yum.conf配置文件,添加或修改keepcache=0(默认值为1,表示启用缓存)。禁用后,Yum将不再保存下载的软件包和元数据,但会增加后续安装时的下载时间。
清理缓存后,首次运行yum install或yum update时会自动重建元数据。若需手动重建,可使用yum makecache命令,快速生成最新的仓库元数据缓存,提升后续操作效率。
可通过编写Shell脚本结合cron定时任务,定期自动清理Yum缓存。例如:
/usr/local/bin/clean_cache.sh,内容为#!/bin/bash; sudo yum clean all; sudo rm -rf /var/cache/yum/*;sudo chmod +x /usr/local/bin/clean_cache.sh;cron定时任务(如每天凌晨2点执行):sudo crontab -e,添加0 2 * * * /usr/local/bin/clean_cache.sh。du -sh /var/cache/yum查看缓存占用空间,评估清理效果;yum makecache重新生成缓存;sudo或root权限执行清理命令,避免权限不足导致失败。