温馨提示×

Debian怎样清理系统垃圾

小樊
37
2025-12-28 04:02:50
栏目: 智能运维

Debian系统垃圾清理实用指南

一 核心清理步骤

  • 清理 APT 缓存与无用包
    • 删除已下载的软件包缓存:sudo apt clean
    • 仅删除过期缓存:sudo apt autoclean
    • 删除不再需要的依赖:sudo apt autoremove
    • 彻底卸载软件及其配置:sudo apt purge <软件包名>;清理残留配置(状态为 rc 的包):sudo apt purge $(dpkg -l | awk ‘/^rc/ {print $2}’)
  • 清理日志(systemd Journal)
    • 先轮转日志:sudo journalctl --rotate
    • 仅保留最近时间:sudo journalctl --vacuum-time=7d
    • 或限制总大小:sudo journalctl --vacuum-size=50M
  • 清理临时文件
    • 快速清理:sudo rm -rf /tmp/ /var/tmp/**
    • 按时间清理(示例:删除 7 天前未访问的文件):sudo find /tmp -type f -atime +7 -delete
  • 查找并删除大文件
    • 交互式分析占用:sudo ncdu /(方向键导航,d 删除,q 退出)
    • 查找大于 100MB 的文件:sudo find / -type f -size +100M -exec ls -lh {} ; 2>/dev/null
  • 清理旧内核(务必保留当前运行内核)
    • 查看当前内核:uname -r
    • 列出已安装内核:dpkg --list | grep linux-image
    • 删除指定旧内核(示例):sudo apt purge linux-image-<旧版本>
  • 第三方清理工具(可选)
    • 系统级清理:sudo apt install bleachbit && sudo bleachbit
    • 查找孤儿库:sudo apt install deborphan && sudo deborphan --purge

二 安全注意事项

  • 操作前先查看磁盘占用:df -h,确认清理目标与空间变化
  • 清理临时文件时避免误删正在使用的文件;尽量在低峰期或维护窗口执行
  • 清理日志建议用 journalctl --vacuum-time/size,避免粗暴删除 /var/log 下的文件
  • 删除旧内核务必保留当前内核(uname -r),避免无法启动
  • 清理 APT 缓存会使后续安装需要重新下载,属正常现象
  • 任何删除操作前建议备份重要数据,生产环境先在测试环境验证命令

三 一键清理脚本示例

  • 保守版(保留最近 7 天日志,自动保留当前内核)
    #!/usr/bin/env bash
    set -e
    sudo apt update
    sudo apt full-upgrade -y
    sudo apt autoremove --purge -y
    sudo apt clean
    sudo apt autoclean -y
    sudo journalctl --rotate
    sudo journalctl --vacuum-time=7d
    sudo journalctl --vacuum-size=50M
    sudo apt purge $(dpkg -l | awk '/^rc/ {print $2}') -y || true
    # 清理旧内核(保留当前)
    CURRENT="$(uname -r)"
    for img in $(dpkg --list | awk '/^ii  linux-image-[0-9]/ {print $2}' | grep -v "$CURRENT"); do
      sudo apt purge -y "$img" || true
    done
    sudo sync
    echo "清理完成,当前内核:$CURRENT"
    
  • 使用说明
    • 保存为 cleanup.sh,赋权:chmod +x cleanup.sh
    • 执行:./cleanup.sh
    • 如需定时,加入 cron(例如每天 3 点):0 3 * * * /path/to/cleanup.sh >> /var/log/cleanup.log 2>&1
  • 提示
    • 若使用 Docker,可在脚本中按需加入:docker system prune -af --volumes(会删除所有未使用资源,谨慎)

四 日常维护建议

  • 定期检查磁盘:df -hncdu /,及时清理异常增长目录
  • 配置日志轮转:使用 logrotate 管理 /var/log 文件大小与保留周期
  • 建立例行清理:将 APT 清理、日志轮转、临时文件清理加入 cron 或系统维护计划
  • 适度使用第三方工具:如 BleachBit 清理浏览器缓存、缩略图等用户级垃圾

0