温馨提示×

Debian系统如何释放磁盘空间

小樊
36
2025-12-26 01:43:41
栏目: 云计算

Debian 释放磁盘空间的实用步骤

一 快速定位占用

  • 查看分区使用情况:df -h
  • 查看目录占用排行:sudo du -sh /* | sort -h
  • 交互式定位大目录/大文件:sudo ncdu /
  • 查找超大文件:sudo find / -type f -size +1G 2>/dev/null
    以上命令能快速判断是**/var**、/home还是其他目录占用了大量空间,从而决定后续清理方向。

二 APT 与软件包清理

  • 清理已下载安装包缓存:sudo apt-get clean(目录:/var/cache/apt/archives
  • 仅清理过期包缓存:sudo apt-get autoclean
  • 移除不再需要的依赖:sudo apt-get autoremove
  • 彻底卸载软件及其配置:sudo apt-get purge <包名>
  • 清理孤立包与本地化数据(可选):
    • 查找孤立包:sudo deborphan
    • 删除孤立包:sudo deborphan | xargs sudo apt-get remove --purge
    • 清理未使用的本地化数据:sudo apt-get install localepurge && sudo localepurge
      这些操作安全且见效快,通常能回收数百 MB 到数 GB空间。

三 日志与临时文件

  • 限制 systemd 日志体积与保留天数:
    • sudo journalctl --vacuum-time=7d
    • sudo journalctl --vacuum-size=100M
  • 清理旧轮转日志与临时文件:
    • sudo find /var/log -type f -name "*.gz" -mtime +30 -delete
    • sudo find /var/log -type f -name "*.old" -delete
    • sudo rm -rf /tmp/*(谨慎:确保无程序正在使用)
  • 使用系统工具自动维护临时文件:
    • sudo systemd-tmpfiles --clean
    • 如已安装 tmpwatch:sudo tmpwatch 7d /tmp
      日志与临时文件是常见“隐形大户”,合理设置保留策略可长期控制增长。

四 旧内核与容器镜像

  • 删除旧内核(务必保留当前运行内核):
    • 查看当前内核:uname -r
    • 列出已安装内核:dpkg --list | grep linux-image
    • 安全删除示例:sudo apt-get purge linux-image-5.10.0-23-amd64
  • 容器与镜像占用(如适用):
    • Docker:docker system prune -af --volumes
    • Podman:podman system prune -af
      旧内核常占用数百 MB;容器未清理的镜像/层可占用数 GB

五 进阶与自动化

  • 一键清理脚本示例(按需调整):
    #!/usr/bin/env bash
    sudo apt-get update
    sudo apt-get autoremove --purge -y
    sudo apt-get clean
    sudo apt-get autoclean
    sudo journalctl --vacuum-time 7d
    sudo journalctl --vacuum-size 100M
    sudo rm -rf /tmp/*
    sudo systemd-tmpfiles --clean
    echo "清理完成"
    
  • 配置日志轮转(长期控制日志体积):编辑 /etc/logrotate.conf/etc/logrotate.d/,设置 rotatemaxsizecompress 等策略。
  • 风险提示:删除文件与内核前请确认用途;对 /var/spool、数据库文件等进行操作前务必备份;变更分区/LVM 有数据丢失风险,请谨慎执行。
    以上脚本与配置可帮助建立定期维护机制,避免空间再次吃紧。

0