Debian环境下如何优化磁盘空间
小樊
39
2025-12-28 13:36:01
Debian 磁盘空间优化实操指南
一 快速定位占用
- 查看分区使用率:df -h(关注 Use% 接近 100% 的分区)。
- 查看块设备与分区:lsblk(确认磁盘、分区、挂载点)。
- 分析目录占用:
- 交互式定位大目录:sudo apt-get install ncdu && ncdu /path
- 查看目录总大小:du -sh /var /home /usr
- 查找大文件:sudo find / -type f -size +1G -exec ls -lh {} ; 2>/dev/null(从根目录向下找大于 1GB 的文件)。
二 清理可安全释放的空间
- APT 缓存与历史
- 清理已下载包:sudo apt-get clean
- 仅删旧版本:sudo apt-get autoclean
- 删除孤立包与无用依赖:sudo apt-get autoremove --purge
- 可选:清理包索引列表缓存:sudo rm -rf /var/lib/apt/lists/ && sudo apt-get update*
- 日志与临时文件
- 清理 systemd 日志:sudo journalctl --vacuum-time=2weeks(保留最近两周,可按需改为 1month)
- 清理临时文件:sudo rm -rf /tmp/*(建议在单用户或维护模式执行)
- 旧内核(谨慎)
- 查看当前内核:uname -r
- 列出可移除旧内核包:dpkg --list | grep linux-image
- 删除指定旧内核:sudo apt-get purge linux-image-<版本号>-
- 更新引导:sudo update-grub
- 第三方清理工具(可选)
- 图形化清理:sudo apt-get install bleachbit && bleachbit(按需勾选项,避免误删)。
三 查找并处理大文件与重复文件
- 定位大文件:sudo find / -type f -size +1G -exec ls -lh {} ; 2>/dev/null
- 定位大目录:sudo du -xh / | sort -hr | head -n 20(只看本文件系统,按大小倒序)
- 查找重复文件:sudo apt-get install fdupes && fdupes -r /path(先预览再删除)
- 归档压缩不常用数据:tar -czvf archive.tar.gz /path/to/dir(释放空间同时保留归档)。
四 长期优化与扩容
- 配置日志轮转
- 编辑策略:sudo nano /etc/logrotate.conf 或在 /etc/logrotate.d/ 下为具体服务配置(设置 maxsize、rotate、compress、missingok 等),避免日志无限增长。
- 使用 LVM 在线扩容(若已采用 LVM)
- 扩展逻辑卷:sudo lvextend -L +10G /dev/vg0/root
- 在线调整文件系统(ext4):sudo resize2fs /dev/vg0/root
- 扩展前建议:lvdisplay、vgdisplay 查看可用空间与卷组状态。
- 调整分区与新增磁盘
- 分区工具:fdisk /dev/sdX 或 parted /dev/sdX
- 图形化:sudo apt-get install gparted && gparted
- 格式化与挂载:sudo mkfs.ext4 /dev/sdX1 && sudo mount /dev/sdX1 /mnt/data
- 开机自动挂载:在 /etc/fstab 添加条目(建议使用 UUID 或 LABEL)。
- 监控与告警
- 定期查看:df -h、iostat(I/O 压力)、Glances(综合监控)。
五 安全与回退建议
- 重要操作前先备份关键数据与配置(如 /etc、数据库、用户目录)。
- 删除旧内核前确认当前运行内核:uname -r,避免误删正在使用的内核。
- 清理 /tmp 建议在维护模式或确保无服务依赖相关临时文件时进行。
- 清理 APT 索引后记得 sudo apt-get update,避免软件源信息缺失。
- 谨慎使用通配删除与递归删除,优先用工具(如 ncdu、fdupes)确认目标后再执行。