温馨提示×

怎样进行centos深度清理

小樊
44
2025-11-16 00:02:49
栏目: 智能运维

CentOS 深度清理实操指南

一 准备与风险

  • 备份重要数据与配置文件,优先在测试环境验证命令效果。
  • 全程使用具有 sudo 权限的账户,避免误删系统关键文件。
  • 清理会释放磁盘空间,但可能影响审计与排障;生产环境建议选择低峰时段并保留必要日志。

二 标准清理流程

  • 包管理与缓存
    • 清理包管理器缓存:sudo yum clean all(CentOS 8+/Stream 可用 sudo dnf clean all)。
    • 移除无用依赖:sudo yum autoremove(或 sudo dnf autoremove)。
    • 卸载不再需要的软件包:sudo yum remove <package_name>(或 sudo dnf remove <package_name>)。
  • 临时文件
    • 清理临时目录:sudo rm -rf /tmp/ /var/tmp/*;执行前确认无关键进程占用 /tmp(必要时可先排查并终止相关进程)。
  • 日志与 journald
    • 按时间清理 systemd 日志:sudo journalctl --vacuum-time=2weeks(可按需改为 3d/1month)。
    • 如需手动处理日志文件,优先使用 truncate -s 0 /var/log/ 截断,避免粗暴删除正在写入的日志文件;必要时再清理 /var/log/ 下历史归档。
  • 旧内核
    • 列出内核:rpm -q kernel
    • 保留最新 2 个内核并删除其余:sudo package-cleanup --oldkernels --count=2(确保至少保留一个可启动内核)。
  • 大文件与目录定位
    • 全局占用概览:df -h;目录占用:du -sh / | sort -h*。
    • 查找大文件:sudo find / -type f -size +100M -exec ls -lh {} ;(先确认再删除)。
    • 交互式分析器:sudo yum install -y ncdu && sudo ncdu /(便于精准定位与选择性删除)。

三 进阶清理与维护

  • 清理孤立/无用包
    • 识别孤立包:package-cleanup --quiet --leaves --exclude-bin
    • 批量移除:package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y(删除前逐条确认)。
  • 清理包管理器残留与仓库
    • 移除不再使用的软件仓库:检查并清理 /etc/yum.repos.d/ 下不需要的 .repo 文件。
  • 用户与回收站
    • 清理用户回收站:sudo rm -rf /home/*/.local/share/Trash/(多用户环境逐用户执行或写成脚本遍历)。
    • 删除不再使用的用户/组:sudo userdel sudo groupdel (谨慎,确保无业务关联)。
  • 可选图形化工具
    • 安装并使用 BleachBitsudo yum install -y bleachbit && sudo bleachbit(桌面环境或需清理用户缓存/浏览器缓存时更便捷)。
  • 内存与 Swap(非磁盘清理,谨慎)
    • 释放页面缓存(不影响文件):sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
    • 重建 Swap(仅在磁盘空间紧张且允许短暂性能下降时):sudo swapoff -a && sudo swapon -a

四 自动化与排错建议

  • 日志轮转
    • 使用 logrotate 定期压缩与清理旧日志:sudo logrotate -f /etc/logrotate.conf;确保 /etc/logrotate.d/ 下各应用的配置合理(如按日/周轮转与保留份数)。
  • 定时清理脚本
    • 将常用清理项(如 journald 保留策略、临时目录清理、YUM/DNF 缓存清理)加入 cron(如每周日凌晨执行),并在脚本开头做 df/du 快照与日志记录,便于回溯。
  • 空间仍不足时
    • 复核 /var/lib/docker(如使用 Docker)、/var/lib/mysql/opt/home 等业务数据分区;必要时扩容磁盘或迁移数据目录。

0