温馨提示×

Debian垃圾清理的最佳实践

小樊
40
2026-01-02 21:09:36
栏目: 智能运维

Debian垃圾清理的最佳实践

一 核心清理清单

  • 使用 APT 清理:删除已下载安装包缓存并移除无用依赖,释放 /var/cache/apt/archives 空间。
  • 清理日志:限制 journald 日志保留天数与大小,避免 /var/log/journal 膨胀。
  • 清理临时文件:按系统机制安全清理 /tmp/var/tmp,避免误删正在使用的文件。
  • 清理旧内核:保留当前运行内核,移除历史内核镜像与头文件包。
  • 删除孤立包与残留配置:移除不再被依赖的库与软件包,彻底清理配置文件残留。
  • 定位大文件与目录:用可视化或命令行工具快速找出占用空间最多的路径并定向处理。

二 安全操作步骤

  • APT 缓存与依赖
    • 清理全部缓存:sudo apt-get clean
    • 仅清理过期缓存:sudo apt-get autoclean
    • 移除无用依赖:sudo apt-get autoremove --purge
  • 日志(journald)
    • 保留最近 7 天:sudo journalctl --vacuum-time=7d
    • 限制总大小 100MB:sudo journalctl --vacuum-size=100M
  • 临时文件
    • 推荐方式(遵循系统策略,安全):sudo systemd-tmpfiles --clean
    • 如确需手动清理(生产慎用,避免正在使用的临时文件被删):sudo rm -rf /tmp/*
  • 旧内核
    • 查看当前内核:uname -r
    • 列出已安装内核:dpkg --list | grep linux-image
    • 移除指定旧版本(示例):sudo apt-get remove --purge linux-image- linux-headers-
    • 清理残留依赖:sudo apt-get autoremove --purge
  • 孤立包与残留配置
    • 查找孤立库:sudo deborphan
    • 删除孤立包:sudo apt-get remove --purge $(deborphan)
  • 大文件定位
    • 快速扫描:sudo ncdu /
    • 备选:sudo du -sh /* | sort -h

三 定期自动化

  • 使用系统定时器(推荐):创建 /etc/cron.daily/cleanup,内容示例:
    • #!/bin/sh apt-get clean apt-get autoclean apt-get autoremove --purge -y journalctl --vacuum-time=7d journalctl --vacuum-size=100M systemd-tmpfiles --clean
    • 赋权:sudo chmod +x /etc/cron.daily/cleanup
  • 如需更细粒度控制,可用 systemd-tmpfiles 配置 /etc/tmpfiles.d/*.conf 来定义 /tmp/var/tmp 的清理规则,并由 systemd 按计划执行。

四 注意事项与常见误区

  • 不要手动清理 /var/log 下的正在写入日志文件;使用 journalctl 的 –vacuum-time–vacuum-size 更安全。
  • 清理 /tmp 前确认无关键任务在使用;优先使用 systemd-tmpfiles --clean,避免直接 rm -rf 引发运行中程序异常。
  • 清理内存缓存(pagecache/dentries/inodes)仅在测试或特殊场景需要:
    • 查看:free -h
    • 执行:sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
    • 说明:Linux 会用空闲内存做缓存,日常无需手动清理,以免影响性能。
  • 删除旧内核务必先确认当前运行版本(uname -r),避免误删正在使用的内核导致无法启动。
  • 清理操作前请备份重要数据;对生产环境建议先在测试环境验证命令与影响范围。

0