温馨提示×

CentOS清理系统残留的方法

小樊
36
2025-11-29 21:39:30
栏目: 智能运维

CentOS 清理系统残留的实用方法

一 标准清理流程

  • 清理包管理器缓存
    • YUM:执行:sudo yum clean all
    • DNF(CentOS 8+):执行:sudo dnf clean all
  • 删除无用依赖与孤立包
    • YUMsudo yum autoremove
    • DNFsudo dnf autoremove
  • 清理临时文件
    • 系统临时目录:sudo rm -rf /tmp/*sudo rm -rf /var/tmp/*
    • 用户级缓存与回收站:rm -rf ~/.cache/*rm -rf ~/.local/share/Trash/*
  • 清理日志与 journal
    • 按时间保留:sudo journalctl --vacuum-time=7d(保留最近7天,可按需改为30d等)
    • 按体积保留:sudo journalctl --vacuum-size=500M(保留最近500MB
  • 清理旧内核(谨慎)
    • 查看当前内核:uname -r
    • 保留最近2个内核:sudo package-cleanup --oldkernels --count=2(仅删除旧版本,务必确保当前运行内核不在删除范围内)

二 进阶定位与清理

  • 快速定位大目录与文件
    • 全局占用:sudo du -sh /*
    • 交互式分析:sudo ncdu /(需安装:sudo yum install -y ncdusudo dnf install -y ncdu
  • 按条件清理大文件
    • 查找并列出大于100MB的文件:sudo find / -type f -size +100M -exec ls -lh {} \;
    • 删除超过7天的临时文件:sudo find /tmp -type f -mtime +7 -deletesudo find /var/tmp -type f -mtime +7 -delete
  • 清理 YUM/DNF 缓存目录(可选)
    • sudo rm -rf /var/cache/yum/*sudo rm -rf /var/cache/dnf/*(一般 yum/dnf clean all 已足够)

三 自动化与系统级维护

  • 使用 systemd-tmpfiles 定期清理临时文件
    • 立即清理:sudo systemd-tmpfiles --clean
    • 配置自动清理:编辑或新增 /etc/tmpfiles.d/local.conf,示例:w /tmp 14d(表示清理 /tmp 下超过14天的文件)
  • 定时任务示例(每日2:00执行)
    • sudo crontab -e 添加:0 2 * * * /usr/bin/systemd-tmpfiles --clean --file=/etc/tmpfiles.d/*.conf
  • 图形化工具(可选)
    • 安装并使用 BleachBitsudo yum install -y bleachbitsudo dnf install -y bleachbit,在界面中勾选项目后执行清理

四 安全注意事项

  • 操作前务必备份重要数据,清理命令使用root或具备 sudo 权限执行。
  • 清理 /tmp/var/tmp 时,可能有程序正在使用临时文件,建议在维护时段执行或先停止相关服务。
  • 删除旧内核前,确认当前运行内核:uname -r,仅保留至少1–2个可用内核,避免误删导致无法启动。
  • 清理日志建议优先使用 journalctl --vacuum-* 等安全方式,避免粗暴删除 /var/log 下正在写入的日志文件。
  • 谨慎使用 echo 3 > /proc/sys/vm/drop_caches 释放页面/目录项/inode 缓存,仅在必要时执行,且不会影响已持久化的数据。

0