温馨提示×

Debian回收磁盘空间的技巧有哪些

小樊
31
2026-01-01 01:59:52
栏目: 云计算

Debian回收磁盘空间的实用技巧

一 快速定位占用

  • 查看分区使用:运行 df -h,快速识别哪个挂载点(如 //var)占用高。
  • 分析目录占用:
    • 终端高效分析:安装并使用 ncdu,如 sudo ncdu /var/logncdu /,按大小排序并可直接删除。
    • 图形界面:桌面环境可用 baobab 做可视化扫描。
  • 查找大文件:定位大于 1GB 的文件,便于快速处置异常大文件(谨慎删除)。

二 APT与软件包清理

  • 清理包缓存:
    • sudo apt-get clean(清空 /var/cache/apt/archives 下所有 .deb,立即释放空间)
    • sudo apt-get autoclean(仅删除已不可下载的过期包)
  • 移除无用依赖:
    • sudo apt-get autoremove(删除不再需要的依赖)
    • 更彻底:sudo apt-get autoremove --purge(同时清理残留配置)
  • 删除残留配置:
    • 列出残留:dpkg --list | grep “^rc”
    • 批量清理:dpkg --list | grep “^rc” | cut -d " " -f 3 | xargs sudo dpkg --purge
  • 清理孤儿/过时包:
    • 安装查找工具:sudo apt-get install deborphan
    • 删除孤儿依赖:deborphan | xargs sudo apt-get purge -y
    • 查找过时包:sudo aptitude search ?obsolete(确认后再 purge
  • 删除旧内核(务必保留当前在用版本):
    • 查看当前内核:uname -r
    • 删除指定旧版本:sudo apt-get purge linux-image-x.x.x-x-generic
    • 安全做法:用 aptitude search ‘~i~nlinux-image’ 查看已安装内核,逐一定期清理旧版。

三 日志与临时文件

  • 清理 systemd 日志(journald):
    • 按时间保留:sudo journalctl --vacuum-time=7d(保留最近 7 天)
    • 按大小保留:sudo journalctl --vacuum-size=100M
    • 必要时先轮转:sudo journalctl --rotate
  • 清理应用与系统日志:
    • 目录分析:sudo ncdu /var/log
    • 清空单个日志(文件句柄有效):sudo dd if=/dev/null of=/var/log/filename
  • 清理临时文件:
    • 系统临时目录:sudo rm -rf /tmp/*(确认无正在使用的临时文件)
  • 可选桌面缓存:清理用户缩略图 rm -rf ~/.cache/thumbnails/*(按需)

四 容器与虚拟化场景

  • Docker 资源回收:
    • 全面清理(停止容器、悬挂镜像、无用卷/网络/构建缓存):docker system prune -a -f
    • 单独清理:
      • docker volume prune -f
      • docker image prune -a -f
      • docker container prune -f
      • docker network prune -f
      • docker builder prune -f
  • LVM 与虚拟机磁盘:
    • 查看卷组/物理卷:vgspvs
    • 删除无用逻辑卷:sudo lvremove /dev/mapper/-(路径按实际替换)
    • 虚拟机磁盘扩容后:先扩容分区/逻辑卷,再扩展文件系统(如 resize2fs)。

五 进阶与注意事项

  • 谨慎清理内存缓存:仅在测试或特殊场景执行(不会回收磁盘,仅释放页缓存/目录项缓存)
    • 同步数据:sudo sync
    • 释放缓存:echo 3 | sudo tee /proc/sys/vm/drop_caches(1=pagecache,2=dentries/inodes,3=全部)
  • 查找并处理重复文件:sudo apt-get install fdupesrdfind,定位并删除重复内容(先核对再删)。
  • 安全建议:
    • 重要操作前先备份关键数据。
    • 删除旧内核前务必确认当前运行内核:uname -r
    • /var/log、数据库文件、容器卷等生产数据谨慎处理,避免直接删除正在写入的文件。
    • 建议将 apt-get autoclean && apt-get autoremove 及日志轮转纳入定期维护(如每周/每月)。

0