温馨提示×

怎样用centos清理系统垃圾

小樊
40
2025-12-31 07:08:26
栏目: 智能运维

CentOS 清理系统垃圾的实用步骤

一 准备与定位

  • 查看磁盘占用,确定清理目标:执行命令:df -h。重点关注占用高的分区(如 //var)。
  • 分析目录体积,找出“大头”:执行命令:du -sh * | sort -rh | head -n 10,进入占用大的目录继续定位。
  • 查找大文件(谨慎操作):执行命令:find / -type f -size +500M -exec ls -lh {} ;,确认无用后再删除。
  • 图形化辅助(有桌面环境时):可用 BleachBitGNOME Disk Utility 做可视化清理。
    以上步骤有助于快速定位空间占用来源,避免盲目删除。

二 标准清理流程

  • 包管理与缓存
    • 清理 YUM 缓存:sudo yum clean all
    • CentOS 8+/Stream 使用 DNF:sudo dnf clean all
    • 删除无用依赖:sudo yum autoremove
    • 删除旧内核(保留最近 2 个):sudo package-cleanup --oldkernels --count=2
  • 临时文件
    • 清理系统临时目录:sudo rm -rf /tmp/;sudo rm -rf /var/tmp/
  • 日志文件
    • 轮转并自动清理:确保 logrotate 已启用并正确配置(推荐方式)。
    • 手动清理示例:截断超大日志(>50M 且 >7 天,或 >30 天):
      find /var/log -name “*.log” ( ( -size +50M -mtime +7 ) -o -mtime +30 ) -exec truncate {} --size 0 ;
      删除过旧日志:find /var/log -type f -name “*.log” -mtime +30 -exec rm -f {} ;
  • 内存缓存(仅释放 PageCache/Dentry/Inode,不会释放已用内存给应用程序)
    • 执行:sync && echo 3 | sudo tee /proc/sys/vm/drop_caches(需要 root)。
  • 回收站
    • 清理当前用户回收站:**rm -rf ~/.local/share/Trash/files/;rm -rf ~/.local/share/Trash/info/
    • 清理所有用户回收站:**sudo rm -rf /home//.local/share/Trash/
  • 可选:开发环境缓存
    • Composer:rm -rf /root/.composer/cache
    • Node.js:rm -rf /root/.npm /home//.npm /root/.node-gyp /home//.node-gyp /tmp/npm-*。
  • 核心转储
    • 删除 core 文件:find / -regex “.*/core.[0-9]+$” -delete(确认业务无调试需求后再删)。
      以上为常用且相对安全的清理动作,建议按顺序执行。

三 进阶定位与清理

  • 交互式分析大目录体积:安装并使用 ncdu(示例:sudo yum install ncdu;sudo ncdu /),快速定位异常增长目录。
  • 邮件队列/邮件文件(如运行邮件服务):检查并清理 /var/mail/var/spool/mail 下无用邮件。
  • 旧备份与归档:定期清理过期备份、压缩包与镜像,避免长期堆积。
  • 定时维护:将日志轮转与周期性清理加入 cron,实现自动化维护。
    这些手段适合定位“隐形占用”和建立长期维护机制。

四 注意事项与排错

  • 不要直接清空 /var/log 整个目录,优先用 logrotate 或按文件截断/删除,避免影响正在写入的日志服务。
  • 执行 rm -rf 前务必确认路径与作用,建议先用 ls/du 核验;生产环境可先在测试环境演练。
  • 清理缓存(drop_caches)不会提升可用内存上限,仅在特殊场景用于释放可回收缓存;日常无需频繁执行。
  • 删除旧内核前,确保至少保留 1–2 个可启动内核,避免无法启动;可通过 uname -r 查看当前运行内核。
  • 清理回收站时覆盖所有用户目录(如 /home/*/.local/share/Trash),避免遗漏。
  • 重要数据请先备份,再执行清理操作。
    以上做法可降低误操作风险,确保系统稳定。

0