Debian回收资源的最佳实践
小樊
36
2025-12-30 03:17:54
Debian资源回收最佳实践
一 磁盘空间清理
- 使用 APT 清理与去重依赖
- 清理已下载包缓存:sudo apt clean
- 仅清理过期包缓存:sudo apt autoclean
- 移除不再需要的依赖:sudo apt autoremove --purge
- 删除残留配置与孤立包
- 列出残留配置:dpkg -l | awk ‘/^rc/ {print $2}’
- 批量清除残留配置:sudo apt purge $(dpkg -l | awk ‘/^rc/ {print $2}’)
- 查找并删除孤儿包:sudo apt install deborphan && sudo deborphan | xargs sudo apt-get remove --purge
- 清理 systemd 日志
- 先轮转:sudo journalctl --rotate
- 按时间保留(如保留最近7天):sudo journalctl --vacuum-time=7d
- 按大小保留(如最大100M):sudo journalctl --vacuum-size=100M
- 清理临时文件
- 系统临时目录:sudo rm -rf /tmp/ /var/tmp/**
- 安全建议:在 /etc/fstab 为 tmpfs 设置大小与限制,例如:
tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=1G 0 0
- 清理用户与浏览器缓存
- 当前用户缓存:rm -rf ~/.cache/ ~/.local/share/Trash/ ~/.mozilla/firefox//cache2/ ~/.cache/thumbnails/***
二 内存与内核回收
- 内核内存回收机制
- Linux 通过 kswapd 在内存紧张时按 LRU 等策略回收页面,必要时触发直接回收,无需手动频繁干预。
- 调整交换倾向
- 查看当前值:cat /proc/sys/vm/swappiness
- 临时降低(如设为10,减少换页):sudo sysctl -w vm.swappiness=10
- 永久生效:在 /etc/sysctl.conf 添加 vm.swappiness=10 后执行 sudo sysctl -p
- 回收 Swap(仅在维护窗口)
- 关闭并重新启用 Swap:sudo swapoff -a && sudo swapon -a
- 容器环境的内存回收
- Docker 资源回收:docker system prune -af --volumes(按需添加 –filter 精准清理)
三 日志与临时目录治理
- 使用 logrotate 做自动轮转与压缩
- 强制执行一次轮转:sudo logrotate -f /etc/logrotate.conf
- 建议为高频日志(如应用、Nginx)在 /etc/logrotate.d/ 配置保留周期与压缩策略,避免无限增长。
- 定位大日志与临时文件
- 查看分区使用:df -h
- 目录占用分析:sudo du -sh /var/log /tmp /var/tmp 2>/dev/null
- 交互式定位大文件:sudo ncdu /(需安装 ncdu)
四 监控与自动化
- 资源监控与告警
- 实时与历史:top/htop、vmstat、iostat、sar(按需安装 sysstat)
- 可视化与跨平台:sudo apt install glances && glances
- 定期清理脚本示例(crontab 每周日凌晨 2 点)
- 建议先备份并在测试环境验证
- 示例:
#!/usr/bin/env bash
set -e
apt clean
apt autoclean
apt autoremove --purge -y
journalctl --rotate
journalctl --vacuum-time=7d
journalctl --vacuum-size=100M
rm -rf /tmp/* /var/tmp/*
[[ -x /usr/bin/ncdu ]] && ncdu -x /var/log 2>/dev/null || true
- 加入计划任务:sudo crontab -e,添加:0 2 * * 0 /usr/local/bin/cleanup.sh
五 安全与回退建议
- 变更前先备份关键数据与配置(如 /etc、用户主目录、数据库与证书)
- 删除前先确认版本与依赖:如清理旧内核前,确认当前运行内核:uname -r,再移除不再需要的 linux-image- 与 linux-headers-
- 谨慎使用 rm -rf,优先用包管理器(apt)与专用工具(如 ncdu)定位后再清理
- 误删恢复思路:立即停止写入,优先从备份恢复;无备份时可尝试 extundelete/TestDisk/PhotoRec 等工具(成功率依文件系统与覆盖情况而定)