温馨提示×

Debian磁盘满了怎么清理

小樊
35
2026-07-26 20:53:37
栏目: 智能运维

当 Debian 系统磁盘空间不足时,可以按以下步骤逐步排查和清理。以下方法适用于 Debian 10/11/12,也基本适用于其他 Linux 发行版。


一、先确认磁盘使用情况

1️⃣ 查看整体磁盘占用

df -h

重点关注 /(根分区)是否 100% 使用。

2️⃣ 查看哪个目录占用最多

du -h --max-depth=1 / | sort -hr | head -20

二、清理 APT 缓存(最常见)

1️⃣ 清理已下载的 .deb 包缓存

sudo apt clean

2️⃣ 删除不再需要的依赖包

sudo apt autoremove --purge

✅ 通常可以释放 几百 MB ~ 几 GB


三、清理日志文件(/var/log)

1️⃣ 查看日志大小

du -sh /var/log/*

2️⃣ 清空大日志(不删除文件)

sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/kern.log

3️⃣ 删除旧日志(谨慎)

sudo rm -f /var/log/*.log.1
sudo rm -f /var/log/*.gz

4️⃣ 使用 journalctl 清理 systemd 日志

journalctl --disk-usage
sudo journalctl --vacuum-time=7d

四、清理 Docker(如果你在用)

1️⃣ 查看 Docker 占用

docker system df

2️⃣ 清理无用数据

docker system prune -a

⚠️ 会删除未使用的镜像、容器、网络


五、清理用户缓存

1️⃣ 清理当前用户缓存

rm -rf ~/.cache/*

2️⃣ 清理旧内核(非常有效)

查看当前内核:

uname -r

查看已安装内核:

dpkg --list | grep linux-image

删除旧内核(不要删当前使用的):

sudo apt remove --purge linux-image-旧版本

六、查找大文件

1️⃣ 查找大于 500MB 的文件

sudo find / -xdev -type f -size +500M

2️⃣ 查找大于 1GB 的文件

sudo find / -xdev -type f -size +1G

七、检查是否有“已删除但被占用”的文件

sudo lsof +L1

如果看到大文件:

sudo systemctl restart 服务名

八、清理 Snap(如果安装了)

sudo snap list
sudo snap remove 包名

九、清理 /tmp 目录

sudo rm -rf /tmp/*

⚠️ 不要删除 /tmp 本身


十、如果根分区真的太小(进阶)

  • 迁移 /var/home 到大磁盘
  • 使用 ncdu 可视化分析:
sudo apt install ncdu
sudo ncdu /

✅ 推荐清理顺序(安全)

  1. apt clean
  2. apt autoremove --purge
  3. journalctl --vacuum-time=7d
  4. 删除旧内核
  5. 查找大文件

如果你愿意,可以把下面命令的输出贴出来,我可以帮你精准分析该删什么

df -h
du -h --max-depth=1 / | sort -hr | head -20

0