温馨提示×

怎样进行centos的全面清理

小樊
34
2025-12-13 16:17:12
栏目: 智能运维

CentOS 全面清理与维护指南

一 准备与注意事项

  • 备份重要数据与配置文件,清理前确认无正在运行的关键业务。
  • 全程使用具有 sudo 权限的账户,避免误删系统关键文件。
  • 优先使用“安全清理”方式(如日志轮转、包管理器自带清理),避免粗暴删除正在写入的日志或运行中的临时文件。
  • 清理后建议重启相关服务或系统,确保空间释放生效。

二 标准清理流程

  • 包管理与软件
    • 清理包管理器缓存:CentOS 7 使用 sudo yum clean all;CentOS 8+ 使用 sudo dnf clean all
    • 移除不再需要的依赖:sudo yum autoremove -y(或 dnf 对应命令)。
    • 删除旧内核(保留最近 2–3 个,先确认当前内核):
      • 查看当前内核:uname -r
      • 安装工具:sudo yum install -y yum-utils
      • 保留最近 2 个:sudo package-cleanup --oldkernels --count=2
  • 临时文件
    • 安全清理 /tmp/var/tmp(避免删除正在使用的文件):
      • 按时间清理:sudo find /tmp -type f -atime +7 -deletesudo find /var/tmp -type f -atime +7 -delete
      • 或使用系统服务:sudo systemctl run systemd-tmpfiles-clean.service(按 /etc/tmpfiles.d/ 配置清理)
  • 日志与 journald
    • 查看日志占用:sudo journalctl --disk-usage
    • 按大小或时间清理:sudo journalctl --vacuum-size=500Msudo journalctl --vacuum-time=7d
    • 传统日志建议通过 logrotate 管理(自动轮换、压缩、删除),必要时仅清理已压缩的旧日志:sudo find /var/log -type f -name “*.gz” -delete
  • 大文件与目录定位
    • 快速查看一级目录占用:sudo du -sh / | sort -rh | head -n 10*
    • 交互式分析工具:sudo yum install -y ncdu && sudo ncdu /(定位异常大文件/目录后再确认删除)
  • 可选 内存缓存清理(仅当确需释放 PageCache/Dentry/Inode 时)
    • 执行:sync && echo 3 | sudo tee /proc/sys/vm/drop_caches(值 1/2/3 分别对应页缓存、目录项与索引节点、全部;此操作仅为临时释放,内核会按需重新使用缓存)

三 进阶清理与空间回收

  • 用户与应用残留
    • 清理用户回收站:sudo rm -rf /home//.local/share/Trash/;rm -rf ~/.local/share/Trash/*
    • 清理开发工具缓存:rm -rf /root/.composer/cache;rm -rf /root/.npm /home//.npm /home//.node-gyp /root/.node-gyp /tmp/npm-*
    • 清理核心转储:find / -regex “.*/core.[0-9]+$” -delete 2>/dev/null
  • 第三方清理工具
    • 图形化/批量清理可用 BleachBitsudo yum install -y bleachbit,在界面中勾选缓存、临时文件、浏览器缓存等(谨慎选择系统目录)

四 自动化与长期维护

  • 定时清理临时文件
    • 编辑 root 定时任务:sudo crontab -e
    • 示例(每日清理临时文件):0 2 * * * /usr/bin/systemd-tmpfiles --clean --file=/etc/tmpfiles.d/*.conf
  • 日志与缓存的常规维护
    • 确保 logrotate 配置合理(位于 /etc/logrotate.conf/etc/logrotate.d/),实现按日/周轮换与压缩。
    • 定期(如每周)执行:yum clean all / dnf clean all、检查并清理旧日志、审视大文件增长趋势。

五 常见风险与排错

  • 不要直接删除正在写入的日志文件(可能导致服务异常或日志损坏);使用 truncate -s 0 /var/log/xxx.logjournalctl 方式安全清理。
  • 删除旧内核前务必确认当前运行内核:uname -r,避免误删导致无法启动。
  • 清理 /tmp/var/tmp 时避免粗暴 rm -rf /;优先用 find … -atimesystemd-tmpfiles-clean.service
  • 清理缓存(drop_caches)仅作临时手段,不能替代扩容或根因优化;若磁盘/内存问题频繁出现,应优先排查异常进程、日志暴增与存储增长趋势。

0