温馨提示×

如何利用Ubuntu进行定期系统清理

小樊
41
2026-01-07 19:37:42
栏目: 智能运维

Ubuntu定期系统清理实操指南

一 核心清理清单

  • 清理 APT 缓存与无用依赖
    执行:sudo apt-get autoclean(删除过时包)、sudo apt-get clean(清空缓存)、sudo apt-get autoremove(移除不再需要的依赖与旧内核残留)。这些操作安全且高频,建议作为每次系统维护的必做项。APT 缓存默认位于 /var/cache/apt/archives,必要时可用 du -sh /var/cache/apt 查看占用。

  • 清理 Journal 日志
    先查看占用:journalctl --disk-usage;再按时间保留:sudo journalctl --vacuum-time=7d(保留最近 7 天,可按需改为 3d/1w/1m)。此方式比粗暴删除日志文件更安全,避免破坏 journal 的完整性。

  • 删除旧内核(保留当前在用版本)
    查看当前内核:uname -a;列出已安装内核:dpkg --get-selections | grep linux;删除指定旧版:sudo apt-get purge linux-image-x.x.x-x-generic。务必确保至少保留 1 个可启动内核,避免误删导致无法启动。

  • 清理临时文件与缩略图
    清理系统临时目录:sudo rm -rf /tmp/(服务器慎用,避免正在使用的临时文件被删);清理用户缩略图:rm -rf ~/.cache/thumbnails/。两者可显著释放用户态空间。

  • 查找并处理大文件
    快速定位大于 1GB 的文件:sudo find / -type f -size +1G(可在 /home、/var 等分区重点排查下载、日志归档、虚拟机镜像等)。

  • 可选 清理 Snap 旧版本
    Snap 默认会保留多个旧版本,易占空间。先查看:du -h /var/lib/snapd/snaps;再删除旧修订(关闭所有 Snap 应用后执行):
    snap list --all | awk ‘/disabled/{print $1, $3}’ | while read snapname revision; do snap remove “$snapname” --revision=“$revision”; done
    该脚本来自社区资深开发者,使用前请确认已关闭相关 Snap 应用。

二 自动化与定时执行

  • 使用 Cron 定时清理(推荐)
    新建任务:crontab -e,按需添加条目(示例均为每周日凌晨 2:30 执行):

    • 每周清理 APT 缓存与无用依赖:
      30 2 * * 0 sudo apt-get autoclean && sudo apt-get clean && sudo apt-get autoremove -y
    • 每周轮转 Journal(保留最近 7 天):
      30 2 * * 0 sudo journalctl --vacuum-time=7d
    • 每 10 天清理缩略图:
      0 3 /10 * * rm -rf ~/.cache/thumbnails/
      提示:Cron 默认不输出日志,可在命令后追加 >> /var/log/cleanup.log 2>&1 便于审计;涉及删除的命令建议先在测试环境验证。
  • 图形化工具辅助(适合桌面用户)

    • BleachBit:开源、跨平台,支持清理缓存、Cookies、日志等,既可 GUI 也可命令行,便于纳入脚本。
    • Stacer:系统监控+清理一体,支持清理应用缓存、启动项管理等。
    • Ubuntu Cleaner(社区维护):覆盖 APT 缓存、缩略图、未使用包、旧内核等,上手简单。
      以上工具适合不想手写命令的用户,或用于“预览-确认-清理”的可视化流程。

三 安全与排错要点

  • 操作前先确认当前内核:uname -a,删除旧内核时务必保留至少一个可启动版本。
  • 清理日志优先用 journalctl 的 --vacuum-time/–vacuum-size,避免直接 rm /var/log/*.log 破坏日志结构。
  • 慎用 rm -rf /tmp/*,在服务器或多用户环境可能导致正在运行的程序异常。
  • 大文件清理前先备份重要数据,删除命令建议先在小范围或测试环境验证。
  • 若使用第三方 PPA(如部分图形化工具),请确保源可信并关注版本兼容性与维护状态。

0