温馨提示×

Linux minimal如何优化磁盘空间

小樊
42
2025-11-30 10:56:49
栏目: 云计算

Linux Minimal 磁盘空间优化实操指南

一 快速定位占用

  • 查看整体使用:执行 df -h,确认哪个挂载点(如 //var)吃空间。
  • 定位大目录/文件:
    • 当前目录逐级排查:du -sh * | sort -rh | head -n 10
    • 全盘查找大文件:find / -type f -size +500M 2>/dev/null
  • 交互式分析器:安装并使用 ncdu 扫描目录占用,直观定位“大头”。

二 安全清理高频占用

  • 包管理器缓存
    • Debian/Ubuntu:sudo apt-get clean(清缓存)、sudo apt-get autoremove(移除无用依赖)。
    • RHEL/CentOS:sudo yum clean allsudo yum autoremove
  • 临时文件
    • 系统临时:sudo rm -rf /tmp/ /var/tmp/*(谨慎,确保无正在运行的服务依赖)*。
  • 日志文件
    • 按时间清理旧日志:find /var/log -name “*.log” -mtime +7 -delete;必要时强制执行轮转:sudo logrotate -f /etc/logrotate.conf
  • 旧内核(避免误删正在运行内核)
    • RHEL/CentOS:package-cleanup --oldkernels --count=2(仅保留最近 2 个)。
    • Debian/Ubuntu:sudo apt-get autoremove --purge,或先查版本 uname -r 再删除不再需要的旧内核包。
  • 回收站与用户缓存
    • 清理用户回收站:rm -rf ~/.local/share/Trash/;sudo rm -rf /root/.local/share/Trash/
    • 清理用户缓存:rm -rf ~/.cache/;rm -rf ~/.thumbnails/
  • 可选:容器环境(如安装了 Docker)
    • 清理无用对象:docker system prune -a;构建缓存:docker builder prune;卷:docker volume prune

三 系统配置优化

  • 日志轮转与保留策略:编辑 /etc/logrotate.conf/etc/logrotate.d/ 下各服务的配置,合理设置 rotate(保留份数)、size(按大小切割)、compress(压缩旧日志),防止 /var/log 无限增长。
  • 挂载选项减负:在 /etc/fstab 中为不频繁更新的分区添加 noatime(甚至 nodiratime),减少元数据写入;示例:
    • /dev/sda1 / ext4 defaults,noatime 0 1
  • 使用 LVM:若部署时采用 LVM,可在线扩容逻辑卷,灵活应对后续空间需求增长。

四 自动化与监控

  • 一键清理脚本(示例)
    • 创建脚本 cleanup.sh:
      • #!/bin/bash
        echo “开始清理…”
        sudo find /var/log -name ".log" -mtime +7 -delete
        sudo apt clean && sudo apt autoremove --purge
        sudo rm -rf /tmp/
        /var/tmp/*
        rm -rf ~/.cache/* ~/.local/share/Trash/*
        echo “清理完成!”
    • 赋权并测试:chmod +x cleanup.sh && ./cleanup.sh
  • 定时任务
    • 加入 crontab -e:每周日凌晨 2:00 执行
      • 0 2 * * 0 /path/to/cleanup.sh
  • 简单监控
    • 每小时输出 df -h/var /usr /home10 大目录:
      • while true; do echo “=== $(date) ===”; df -h; du -h /var /usr /home 2>/dev/null | sort -hr | head -10; sleep 3600; done

五 空间仍不足时的扩容

  • 未分配空间扩容分区:使用 fdisk/parted 创建/调整分区,随后对 ext4 执行 resize2fs 扩容文件系统(示例:fdisk /dev/sdX → 新建分区 → mkfs.ext4 /dev/sdXY → 挂载 → resize2fs /dev/sdXY)。
  • 图形化工具:GParted(GUI)或 GNOME Disks 适合桌面/救援环境的可视化操作。
  • LVM 场景:新增磁盘后扩展 PV/VG/LV,再执行在线扩容文件系统。

0