应优先执行sudo apt clean清空apt缓存,再用flatpak uninstall --unused清理flatpak未引用包,接着扫描/var/cache各子目录(sudo du -sh /var/cache/* | sort -hr)定位并清除td-agent等第三方服务大缓存,最后配置apt自动清理(/etc/apt/apt.conf.d/99auto-clean)防止复发。

如果您在统信UOS系统中收到磁盘空间不足的提示,且通过诊断确认是 /var/cache 目录占用过高,则很可能是APT包缓存、Flatpak运行时缓存或第三方软件本地缓存长期堆积所致。以下是多种针对性清理 /var/cache 缓存的方法:
一、执行APT包管理器缓存清理命令
APT缓存默认存储于 /var/cache/apt/archives/,包含所有已下载但未安装或已过期的.deb安装包,通常可安全清除且不影响系统功能。
1、按Ctrl + Alt + T打开终端。
2、输入以下命令清空全部APT下载缓存:sudo apt clean。
3、输入以下命令仅删除已过期的.deb包(保留当前可用安装包):sudo apt autoclean。
4、如需同时移除不再被依赖的旧内核及孤立包,追加执行:sudo apt autoremove --purge。
二、清理Flatpak运行时与应用缓存
Flatpak应用及其运行时文件默认存放于 /var/cache/flatpak/,长期未更新或卸载应用后易残留大量未引用数据,可通过官方命令精准识别并释放。
1、在终端中执行以下命令列出所有未被任何应用引用的运行时和旧版本包:flatpak list --unused。
2、确认输出内容无误后,执行彻底卸载命令:flatpak uninstall --unused。
3、若需手动清空整个Flatpak缓存目录(谨慎操作),可运行:sudo rm -rf /var/cache/flatpak/*。
三、删除旧内核镜像与initrd缓存
系统升级后,旧内核及相关初始化内存盘(initrd)仍保留在 /var/cache/apt/archives/ 及 /boot/ 对应位置,但其缓存元数据亦驻留于 /var/cache 下的索引结构中,需联动清理。
1、查看当前正在使用的内核版本:uname -r。
2、列出所有已安装内核包:dpkg -l | grep linux-image。
3、卸载除当前运行内核外的所有旧内核包(例如卸载 linux-image-5.15.0-amd64):sudo apt purge linux-image-5.15.0-amd64。
4、执行更新引导配置:sudo update-grub。
5、最后再次运行 sudo apt clean 确保相关缓存条目同步清除。
四、清空/var/cache下的其他高占用子目录
部分服务(如td-agent、apt-cacher-ng、squid等)可能将缓存写入 /var/cache 的自定义子路径,需结合实际部署情况识别并清理。
1、扫描 /var/cache 下各子目录大小(按降序排列):sudo du -sh /var/cache/* 2>/dev/null | sort -hr。
2、定位异常大体积子目录(如 /var/cache/td-agent、/var/cache/squid)。
3、若确认该服务已停用或缓存可丢弃,执行清空命令(以 td-agent 为例):sudo rm -rf /var/cache/td-agent/*。
4、若仅需清空日志类缓存内容而不删除目录结构,使用重定向清空(适用于权限受限场景):sudo sh -c "echo > /var/cache/td-agent/tdagent_portlisten.log"。
五、配置APT自动清理机制防止复发
为避免 /var/cache/apt/archives/ 再次无节制增长,可通过APT原生配置实现周期性自动清理,无需人工干预。
1、创建APT自动清理配置文件:sudo nano /etc/apt/apt.conf.d/99auto-clean。
2、在文件中写入两行配置,设定每7天执行一次autoclean和clean:APT::Periodic::AutocleanInterval "7"; APT::Periodic::CleanInterval "7";。
3、保存并退出编辑器(Ctrl+O → Enter → Ctrl+X)。
4、重启APT定时任务使配置生效:sudo systemctl restart apt-daily.timer apt-daily-upgrade.timer。










