清理yum/dnf缓存后必须执行makecache重建元数据,否则包管理操作将失败;日常应精准清理(如clean packages),避免盲目clean all,并优先排查日志、旧内核、docker等真实磁盘占用源。

清理 YUM/DNF 缓存不是删完就完事,关键在“删后重建元数据”。元数据是包管理器找包、验包、装包的“地图”,没了它,yum install 或 dnf update 会卡在“Downloading package metadata…”或直接报错 Failed to synchronize cache for repo。
先查再清:别盲目跑 clean all
缓存未必是罪魁祸首——根分区满,常因日志、旧内核或 Docker 占用:
- 看真实缓存大小:
du -sh /var/cache/yum(YUM)或du -sh /var/cache/dnf(DNF)。若仅几十 MB,问题大概率不在这里 - 查 systemd 日志:
journalctl --disk-usage,常静默占 1–3 GB - 确认瓶颈位置:
df -h /和df -h /var,重点看/boot(残留旧内核)、/var/lib/docker、/var/log
按需清理:比全删更安全高效
clean all 是重置操作,适合换源或修复异常;日常维护推荐精准清理:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
-
yum clean packages或dnf clean packages:只删已下载的 .rpm 文件,保留元数据,下次安装跳过元数据拉取,快且无风险 -
yum clean metadata或dnf clean metadata:只删 repomd.xml 等元数据,适合改完/etc/yum.repos.d/后刷新仓库结构(但几乎不释放磁盘空间) -
yum clean expire-cache或dnf clean expire-cache:让包管理器主动检查元数据有效期并丢弃过期项,比 clean metadata 更智能
清理后必须重建元数据
清完不执行 makecache,后续所有操作都会失败:
-
yum makecache或dnf makecache:默认只下载元数据(不碰 .rpm),通常 2–5 秒完成,务必紧跟在clean packages后执行 - 遇到慢源可延长超时:
dnf makecache --setopt=timeout=120 - 内网离线环境可设永不过期:
dnf makecache --setopt=metadata_expire=never(仅限可信环境)
异常残留要手动干预
中断或错误操作后,/var/cache/yum 或 /var/cache/dnf 下可能出现损坏的 cache.db、空 packages/ 目录等:
- 清理后运行
ls -l /var/cache/yum(或 dnf 对应路径),正常应只剩.和..;若存在子目录,逐个检查内容 - 发现损坏数据库或半下载文件,直接
rm -rf对应目录 - 确保目录归属为
root:root,非 root 写入会导致 yum/dnf 静默失败










