CentOS软件包清理技巧
导读:CentOS软件包清理技巧 一 基础清理流程 清理包管理器缓存:优先执行,释放下载的包与元数据,命令为:sudo yum clean all(CentOS 7/8 Stream 使用 YUM),或 sudo dnf clean all(C...
CentOS软件包清理技巧
一 基础清理流程
- 清理包管理器缓存:优先执行,释放下载的包与元数据,命令为:sudo yum clean all(CentOS 7/8 Stream 使用 YUM),或 sudo dnf clean all(CentOS 8/9 使用 DNF)。必要时可细化为仅清元数据或过期缓存:sudo yum clean metadata、sudo yum clean expire-cache。
- 卸载不再需要的软件包:先列出已装包 sudo yum list installed,对确定无用的包执行 sudo yum remove < package_name> ;为避免残留依赖,随后执行 sudo yum autoremove(DNF 同样支持)。
- 删除孤立/叶子包:识别并清理长期无人依赖的包,减少系统“赘肉”,命令为:package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y(按需多次执行直至无输出)。
二 深度清理与空间回收
- 清理旧内核:保留最新的 1–2 个内核即可,避免 /boot 分区被占满,命令为:sudo package-cleanup --oldkernels --count=1(保留 1 个)或 –count=2(保留 2 个)。
- 清理日志与临时文件:
- 系统日志:按时间保留,如 sudo journalctl --vacuum-time=3d(保留近 3 天);
- 传统日志:清理大文件与过期文件,如 find /var/log -type f -size +100M -exec rm -f { } ; ,或按时间删除 find /var/log -type f -name “*.log” -mtime +30 -exec rm -f { } ; ;
- 临时目录:sudo rm -rf /tmp/ /var/tmp/*(执行前确认无关键进程在使用)。
- 查找并清理大文件:快速定位占用空间最大的路径,命令为:du -sh / | sort -hr | head -n 10*;也可用 ncdu 交互式分析:sudo yum/dnf install ncdu & & sudo ncdu /。
- 删除残留仓库配置:不再使用的源会拖慢解析与更新,建议移除 /etc/yum.repos.d/ 下对应的 .repo 文件。
三 安全与自动化建议
- 变更前务必备份重要数据与关键配置,避免误删导致业务中断。
- 谨慎使用通配删除(如 rm -rf /var/log/*),优先采用按时间/大小条件清理,减少对正在运行服务的影响。
- 将常用清理动作脚本化并定期执行(如每周清理缓存、每月清理旧日志),同时保留至少 1–2 个可用内核与最近一次更新的回滚点。
- 清理后使用 df -h 与 package-cleanup --orphans(如可用)复核空间与依赖状态,确保系统稳定。
四 版本差异与常用命令对照
| 操作 | CentOS 7/8 Stream(YUM) | CentOS 8/9(DNF) |
|---|---|---|
| 清理缓存 | sudo yum clean all | sudo dnf clean all |
| 卸载软件包 | sudo yum remove | sudo dnf remove |
| 自动删除无用依赖 | sudo yum autoremove | sudo dnf autoremove |
| 清理旧内核 | sudo package-cleanup --oldkernels --count=N | sudo package-cleanup --oldkernels --count=N |
说明:上表命令覆盖了日常清理的高频场景;package-cleanup 来自 yum-utils,如未安装可先执行 sudo yum/dnf install yum-utils。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS软件包清理技巧
本文地址: https://pptw.com/jishu/752366.html
