在 Debian 系统里“磁盘满了”通常分几种情况:根分区满了、某个目录异常增长(日志/缓存/Docker)、或 inode 用尽。下面按实用顺序给你一套清理方案。
df -h # 看磁盘空间
df -i # 看 inode 数量
Use% 是 100% → 空间满IUse% 是 100% → 小文件太多(如日志、session)du -h --max-depth=1 / | sort -h
逐步深入,例如:
du -h --max-depth=1 /var | sort -h
find / -type f -size +100M -exec ls -lh {} \;
apt-get clean
或
rm -rf /var/cache/apt/archives/*
查看当前内核:
uname -r
查看已安装内核:
dpkg --list | grep linux-image
删除旧内核(保留当前):
apt-get remove --purge linux-image-旧版本
或一键清理:
apt-get autoremove --purge
du -sh /var/log/*
journalctl --vacuum-size=100M
或
rm -f /var/log/*.log.*
⚠ 不要直接删正在写入的日志文件,用
truncate:
truncate -s 0 /var/log/xxx.log
Docker 非常容易吃满磁盘:
docker system df
docker system prune -a
rm -rf ~/.cache/*
rm -rf /tmp/*
有时候文件删了但空间不释放:
lsof | grep deleted
重启对应进程或:
> /proc/进程ID/fd/文件描述符
如果已经无法写入:
echo > /var/log/syslog
apt-get clean
/var、/homelogrotatencdu 工具很好用apt install ncdu
ncdu /
如果你愿意,可以把下面命令的输出贴出来,我帮你精确判断:
df -h
df -i
du -h --max-depth=1 / | sort -h