温馨提示×

CentOS清理系统垃圾的步骤

小樊
37
2025-11-29 21:35:32
栏目: 智能运维

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

一 准备工作与风险提醒

  • 全程使用具有 sudo 权限的账户,重要数据务必先备份
  • 清理前先查看磁盘使用情况:df -h;定位大目录:du -sh /*,避免盲目删除。
  • 生产环境谨慎操作,尽量在维护窗口执行,删除前确认文件或进程是否在使用。

二 包管理与缓存清理

  • 清理 YUM 缓存:sudo yum clean all
  • 清理 DNF 缓存(适用于 CentOS 8+):sudo dnf clean all
  • 删除不再需要的软件包:sudo yum remove <package_name>(按需)
  • 自动移除无用依赖:
    • YUM:sudo yum autoremove
    • DNF:sudo dnf autoremove
  • 清理旧内核(推荐保留最近 1–2 个版本):
    • 查看已安装内核:rpm -q kernel
    • 删除指定旧版本:sudo yum remove kernel-<version>
    • 或使用 yum-utils(若已安装):sudo package-cleanup --oldkernels --count=1
      以上可显著释放 /var/cache/yum|dnf/boot 占用的空间。

三 临时文件与系统缓存

  • 手动清理临时目录(重启后部分会自动清除,但长期运行可能堆积):
    • sudo rm -rf /tmp/*
    • sudo rm -rf /var/tmp/*
  • 使用 systemd-tmpfiles 安全清理(推荐在 CentOS 7+):sudo systemd-tmpfiles --clean
  • 按时间清理旧临时文件(示例:删除 7 天前):
    • sudo find /tmp -type f -mtime +7 -delete
    • sudo find /var/tmp -type f -mtime +7 -delete
  • 清理 PackageKit 临时文件(若存在):sudo rm -rf /var/cache/PackageKit/*
  • 仅“释放内存页缓存”(不影响磁盘空间,安全):sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
    上述步骤可有效回收临时文件与可回收的缓存占用。

四 日志与 journal 日志

  • 查看日志占用:sudo du -sh /var/log/*
  • 清空单个日志文件(保留文件,快速释放空间):sudo truncate -s 0 /var/log/<log_file>
  • 按时间清理 journal 日志(示例:保留最近 7 天):sudo journalctl --vacuum-time=7d
  • 按体积清理 journal 日志(示例:最大保留 500M):sudo journalctl --vacuum-size=500M
  • 删除指定天数前的传统日志(示例:30 天前):sudo find /var/log -type f -name "*.log" -mtime +30 -delete
    日志清理能快速回收 /var/log 与 journal 的磁盘占用。

五 大文件定位与自动化维护

  • 定位大文件/目录(示例:大于 100MB):sudo find / -type f -size +100M -exec ls -lh {} \;
  • 交互式磁盘占用分析:sudo yum install -y ncdu && sudo ncdu /
  • 图形化清理工具(可选):sudo yum install -y bleachbit && sudo bleachbit
  • 用户回收站(若存在):rm -rf ~/.local/share/Trash/*
  • 自动化维护(示例:每天 2:00 清理临时文件)
    • sudo crontab -e 添加:0 2 * * * /usr/sbin/tmpwatch -f /tmp
    • 或:0 2 * * * /usr/bin/systemd-tmpfiles --clean --file=/etc/tmpfiles.d/*.conf
      通过定位大文件与定时任务,可形成长期、低成本的磁盘空间治理闭环。

0