debian 缓存常见问题及解决方法
小樊
31
2025-12-20 15:17:23
Debian 缓存常见问题与解决方法
一 常见症状与定位
- 磁盘空间告急:执行df -h查看分区使用率,重点关注**/var/cache/apt**、/var/log、/tmp等目录。定位大目录用du -sh /path,逐层下钻找出占用最多的子目录。
- APT 异常:执行sudo apt update报错(如“无法获取”“Hash 校验失败”“404 Not Found”)多与索引或缓存损坏相关。
- 系统日志暴涨:使用journalctl --disk-usage查看日志占用,配合tail -f /var/log/syslog、dmesg观察异常。
- 临时文件堆积:/tmp或用户目录**~/.cache**过大,可能影响应用运行与更新。
- 内存缓存误解:看到free -h中“buff/cache”很大并非异常,Linux 会用空闲内存做缓存以加速访问。
二 分类型清理与修复
- APT 包缓存
- 查看占用:du -sh /var/cache/apt
- 清理全部下载包:sudo apt clean(删除**/var/cache/apt/archives/**下所有 .deb)
- 仅删过期包:sudo apt autoclean
- 删除无用依赖:sudo apt autoremove
- 修复索引/半安装状态:sudo apt update && sudo apt -f install
- 系统日志
- 限制 journal 大小:sudo journalctl --vacuum-size=100M
- 仅保留近期日志:sudo journalctl --vacuum-time=7d
- 临时文件与缩略图
- 清理系统临时文件:sudo rm -rf /tmp/*(确保无关键临时文件在使用)
- 清理用户缩略图:rm -rf ~/.cache/thumbnails/*
- 内存 PageCache/Dentry/Inode(仅在测试或特殊场景手动释放)
- 查看内存:free -h
- 安全释放:sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches(1=pagecache,2=dentries/inodes,3=全部)
- 浏览器与用户级缓存(按需)
- 清理浏览器缓存(如 Chrome/Firefox 设置中“隐私/历史记录-清除数据”)
- 清理用户缓存目录:rm -rf ~/.cache/*(谨慎)
三 高频问题与对策
- “磁盘空间不足”但找不到大文件
- 用df -h确认分区,再用du -sh /* | sort -h定位大目录;重点检查**/var/cache/apt**、/var/log、/var/lib/docker(如使用容器)。
- APT 报“Hash 校验失败/无法获取 Release 文件”
- 先sudo apt clean && sudo apt update重建索引;若仍失败,检查网络与镜像源,必要时更换为更快更稳定的镜像。
- 更新后旧内核占用空间
- 列出内核:dpkg --list | grep linux-image
- 卸载旧版(保留当前与最新旧版各一):sudo apt remove linux-image-<旧版本号>;更新引导:sudo update-grub。
- 日志把根分区撑满
- 先journalctl --vacuum-time=7d或**–vacuum-size=100M收缩日志;长期建议配置logrotate**按大小/时间轮转。
- “buff/cache 很大”是否要处理
- 一般不需要手动清理;Linux 会用空闲内存做缓存,提升读写性能。仅在性能测试或特殊需求时执行drop_caches。
四 预防与维护建议
- 建立例行维护
- 每周/每月执行:sudo apt autoclean && sudo apt autoremove;日志保留7 天或100MB以内。
- 监控与告警
- 监控df -h可用空间,设置阈值告警;定期查看journalctl --disk-usage。
- 配置更快的镜像源
- 编辑**/etc/apt/sources.list**使用国内镜像,提升下载与更新稳定性与速度。
- 变更前备份
- 清理或卸载前备份重要数据与配置,避免误删导致业务中断。