温馨提示×

Linux清理步骤:如何清理系统垃圾

小樊
40
2025-11-27 11:45:53
栏目: 智能运维

Linux 清理步骤与命令清单

一 准备与定位占用

  • 查看整体磁盘使用:执行 df -h,快速定位占用最高的分区(如 //var)。
  • 分析目录大小:在目标目录下用 du -sh * | sort -rh | head -n 10 找出前 10 个最大子目录/文件。
  • 查找大文件:用 find / -type f -size +100M 2>/dev/null 列出大于 100MB 的文件(可按需调整为 +500M+1G)。
  • 建议先备份重要数据,再进行删除操作,避免误删。

二 标准清理流程

  • 清理临时文件
    • 手动清理:sudo rm -rf /tmp/ /var/tmp/**。
    • 推荐用系统机制:启用 systemd-tmpfiles(通过 /etc/tmpfiles.d/ 配置)或 tmpwatch 按时间策略自动清理。
  • 清理包管理器缓存与无用依赖
    • APT(Debian/Ubuntu):sudo apt-get clean && sudo apt-get autoclean && sudo apt-get autoremove --purge
    • YUM(CentOS/RHEL):sudo yum clean all && sudo yum autoremove
    • DNF(Fedora):sudo dnf clean all && sudo dnf autoremove
    • Pacman(Arch):先查无用包 pacman -Qdtq,再执行 sudo pacman -Rns $(pacman -Qdtq)
  • 清理日志(systemd Journal)
    • 按时间保留:sudo journalctl --vacuum-time=3d(保留最近 3 天)。
    • 按体积保留:sudo journalctl --vacuum-size=100M
    • 归档并轮转:sudo journalctl --rotate
  • 清理用户与应用缓存
    • 用户缓存:rm -rf ~/.cache/ ~/.mozilla/firefox/*/cache ~/.config/google-chrome/Default/Cache*。
    • 可选:系统级页面缓存(仅在必要时使用):sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
  • 清理旧内核(Debian/Ubuntu)
    • 查看:dpkg --list | grep linux-image
    • 删除旧版本:sudo apt-get purge linux-image-<旧版本号>;或使用 package-cleanup --oldkernels(RHEL/CentOS 系)。

三 进阶清理与容器环境

  • 容器与虚拟化
    • Docker:docker system prune -a(删除停止的容器、悬挂镜像、无用网络与构建缓存;加 –volumes 同时清理卷)。
  • 其他包管理器缓存
    • Snap:sudo snap refresh --list(查看可清理的旧版本,结合 snap 自带清理机制)。
    • Flatpak:flatpak uninstall --unused(清理未使用的运行时与应用)。
  • 可选优化(SSD)
    • 执行 sudo fstrim -v / 对 SSD 进行空间回收(按需定期执行)。

四 自动化与风险控制

  • 使用 logrotate 管理日志轮转(避免日志无限增长):配置 /etc/logrotate.conf 与各服务配置,设置 rotatecompressmaxsize 等策略。
  • 使用 cron 定时清理
    • 示例(每天 3:00 清理 /tmp):编辑 crontab -e,加入
      • 0 3 * * * /usr/sbin/tmpwatch 7d /tmp(tmpwatch 示例)
      • 0 3 * * * rm -rf /tmp/ /var/tmp/**(rm 示例,谨慎使用)。
  • 安全建议
    • 避免使用 rm -rf / 等危险命令;删除前先确认路径与作用。
    • 对关键目录(如 /var/log/boot)操作前先备份。
    • 生产环境优先使用包管理器与系统自带工具(如 systemd-tmpfileslogrotate)以降低风险。

0